MENU

WordPressのバージョン情報を隠す方法【セキュリティ対策・functions.phpで設定する手順】

この記事では、WordPressのバージョン情報を外部から見えないようにする方法をまとめました。

「自分のサイトが攻撃されやすい状態になっているって本当?」
「バージョン情報って隠せるの?難しくない?」

そんな方のために、functions.phpにコードを追加してバージョン情報を非表示にする手順を解説します。 コードをコピー&ペーストするだけなので、難しくありません。

💡この記事でわかること
  • WordPressのバージョン情報が外部に漏れると何が問題なのか
  • バージョン情報が表示されている場所
  • functions.phpにコードを追加して隠す手順
  • 設定後の確認方法

目次

なぜWordPressのバージョン情報を隠す必要があるのか

WordPressで作られたサイトは、何も対策をしないと外部からバージョン情報が丸見えになっています。

試しに「Wappalyzer」というブラウザ拡張機能をインストールして、自分のサイトを見てみてください。 WordPressのバージョン・使っているテーマ・プラグインまで、あっさり表示されます。

バージョン情報が漏れると何が問題なのか

WordPressは定期的にアップデートが行われており、古いバージョンには既知の脆弱性(セキュリティの穴)が存在します。 バージョン情報が公開されていると、攻撃者に「このサイトはこの脆弱性があります」と教えているようなものです。

バージョン情報が見える場所は主に4つあります

  • HTMLの<head>内のgeneratorメタタグ
  • RSSフィードの中
  • JavaScriptファイルのURL末尾(?ver=x.x.x
  • CSSファイルのURL末尾(?ver=x.x.x

これらをまとめて隠すのが今回の対策です。


⚠️ 作業前に必ずバックアップを取ってください

functions.phpはWordPressの動作に直結するファイルです。 編集ミスをするとサイトが表示されなくなる場合があります。 必ず事前にバックアップを取ってから作業を進めましょう。

functions.phpにコードを追加する手順

STEP 1|functions.phpの編集画面を開く

方法A:WordPress管理画面から編集する

  1. 管理画面の「外観」→「テーマファイルエディター」を開く
  2. 右側のファイル一覧から「functions.php」を選択する

方法B:FTPソフトで編集する(より安全)

FTPソフト(FileZillaなど)でサーバーにアクセスし、以下のパスのファイルを編集します。

/wp-content/themes/使用中のテーマ名/functions.php

管理画面のエディターよりもトラブルが起きにくいのでこちらがおすすめです。


STEP 2|コードをコピーして貼り付ける

functions.phpの一番下に、以下のコードをコピー&ペーストします。

php

/**
 * WordPressのバージョン情報を隠す
 */

// HTMLの <head> 内にある generator タグを削除
remove_action('wp_head', 'wp_generator');

// RSSフィード内のバージョン情報を削除
add_filter('the_generator', '__return_false');

// スクリプト(JS)のURL末尾にある ?ver=x.x.x を削除
function remove_wp_ver_js( $src ) {
    if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) ) {
        $src = remove_query_arg( 'ver', $src );
    }
    return $src;
}
add_filter( 'script_loader_src', 'remove_wp_ver_js', 9999 );

// スタイルシート(CSS)のURL末尾にある ?ver=x.x.x を削除
function remove_wp_ver_css( $src ) {
    if ( strpos( $src, 'ver=' . get_bloginfo( 'version' ) ) ) {
        $src = remove_query_arg( 'ver', $src );
    }
    return $src;
}
add_filter( 'style_loader_src', 'remove_wp_ver_css', 9999 );

STEP 3|「ファイルを更新」をクリックして保存する

コードを貼り付けたら、「ファイルを更新」ボタンをクリックして保存します。


各コードの意味を解説

① headからgeneratorタグを消す

remove_action('wp_head', 'wp_generator');

ページのHTMLソースに書き出される以下のタグを削除します。

<meta name="generator" content="WordPress x.x.x" />

バージョン情報の中で最もわかりやすい場所なので、まず最初に消すべきポイントです。


② RSSフィード内の情報を消す

add_filter('the_generator', '__return_false');

RSSフィードの中にも実はバージョン情報が含まれています。 見落としがちな箇所なので忘れずに対処しましょう。


③ JS・CSSのURLからバージョン情報を消す

add_filter( 'script_loader_src', 'remove_wp_ver_js', 9999 );
add_filter( 'style_loader_src', 'remove_wp_ver_css', 9999 );

JavaScriptやCSSのURLの末尾に付いている?ver=6.x.xという記述を削除します。 ここを見るだけでWordPress本体のバージョンが推測できてしまうため、一緒に対処します。


設定後の確認方法

コードを追加したら、正しく設定できているか確認しましょう。

確認手順

  1. サイトをブラウザで開く
  2. ページ上で右クリック→「ページのソースを表示」をクリック
  3. Ctrl+F(MacはCommand+F)で「generator」と検索する
  4. <meta name="generator"が表示されなければOK

Wappalyzerを使って確認する場合は、バージョン番号が表示されなくなっていればOKです。


バージョンを隠すだけでは不十分!あわせてやること

バージョン情報を隠すことは「攻撃者の調査を難しくする」ための対策です。 ただし、これだけでは根本的な解決にはなりません。

あわせて必ずやっておくこと

WordPress本体・テーマ・プラグインを常に最新の状態にアップデートしておくことが最重要です。 バージョン情報を隠しても、古いバージョンの脆弱性自体はなくなりません。

また、セキュリティプラグインを導入してログイン保護や不正アクセスのブロックも設定しておきましょう。


よくある質問

コードを追加したらサイトが壊れました

functions.phpの編集ミスが原因の可能性があります。 FTPソフトでサーバーにアクセスし、追加したコードを削除してください。 作業前にバックアップを取っていた場合は、そこから復元できます。

PHPのバージョンも隠せますか?

このコードで隠せるのはWordPress本体のバージョン情報のみです。 PHPのバージョン情報はサーバー側の設定で対処する必要があります。 ConoHa WINGの場合は管理画面からPHP設定の変更ができます。

Wappalyzerで確認したらまだバージョンが表示されます

ブラウザのキャッシュが残っている可能性があります。 キャッシュをクリアしてから再度確認してみてください。


まとめ:functions.phpにコードを追加してバージョン情報を隠そう

WordPressのバージョン情報を隠す手順をまとめます。

  1. 作業前にバックアップを取る
  2. functions.phpを開く(管理画面またはFTP)
  3. コードを一番下に貼り付けて保存する
  4. ページのソースコードでgeneratorタグが消えているか確認する

攻撃者は「簡単に侵入できそうなサイト」を探しています。 バージョン情報を隠して「中身がわからないサイト」にすることが、攻撃を諦めさせる第一歩になります。

WordPressのセキュリティ対策をまとめて確認したい方はこちらもどうぞ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次