はじめに
WordPressでは、テーマやプラグインによって読み込まれる CSSやJavaScript ファイルに、自動で?ver=x.x.xというバージョン情報が付加されます。
URLパラメータが付くことで、ソースコードから WordPressのバージョンが推測しやすくなるデメリットがあります。
このバージョン情報を削除することで、特定のバージョン固有の脆弱性を狙われるリスクを軽減できるというメリットがあります。
しかし、?ver=を消すだけでは完全にバージョンを隠せるわけではなく、RSS フィードなどからバージョンが判明する場合があります。
そのため、あくまでセキュリティ対策の一部として捉えることが重要です。
この記事では、この方法について説明します。
実装手順
以下のコードをfunctions.phpに追加します。
/**
* CSS/JavaScriptの読み込みURLからverクエリパラメータを削除
*
* @param string $src 読み込み対象のCSS/JSファイルのURL
* @return string ver パラメータを除去したURL
*/
if (!function_exists('remove_cssjs_ver')):
function remove_cssjs_ver($src) {
if (strpos($src, 'ver=')) {
return remove_query_arg('ver', $src);
}
return $src;
}
endif;
// CSSの読み込みURLを変更
add_filter('style_loader_src', 'remove_cssjs_ver', 10, 2);
// JavaScriptの読み込みURLを変更
add_filter('script_loader_src', 'remove_cssjs_ver', 10, 2);
さいごに
今回紹介した方法を使えば、CSSやJavaScript に付加されるWordPressのバージョン情報を簡単に削除することができます。
これにより、ソースコードから WordPressのバージョンが推測されるリスクを軽減でき、セキュリティ面での一助となります。
ただし、RSS フィードなどから完全にバージョンを隠すことはできないため、あくまで対策の一部として活用しましょう。

