WordPressの/wp-adminディレクトリにX-Robots-Tagでnoindexを設定するには

先日、Google Search Consoleさんから「カバレッジで問題が検出されました」「robots.txt によりブロックされましたが、インデックスに登録しました」という内容のメールを頂きました。

robots.txtでブロックしているにも関わらず、/wp-admin以下のパスがインデックスに登録された感じです。対策としまして。/wp-adminディレクトリ以下にアクセスした場合、HTTPヘッダにX-Robots-Tagを追加するように設定したいと思います。

なお、設定はしましたが、カバレッジの問題に対する対策として効果があるかの検証は、結果待ちですのでご了承下さい。(21.1.17現在)

※22.8.10追記:効果はあったと思います。詳細は記事の最後に記載します。


/wp-adminアクセス時のHTTPヘッダの確認

上述の「インデックスに登録されました」状況で、/wp-adminアクセス時のHTTPヘッダはどのようになっているでしょうか?Chromeの機能拡張で調べてみました。

ChromeにHTTP Header Spy機能拡張をインストール

ヘッダの確認は、こちらの機能拡張を使用させて頂きました。

機能拡張インストール後、機能拡張アイコン(パズルのピース)クリック→該当の機能拡張のピンアイコン(画鋲)をクリックしました。アドレスバーに目のアイコンが追加されました。

/wp-adminのHTTPヘッダはX-Robots-Tagタグがない状態

サイトのrobots.txtですが、次のような記述があります。

User-agent: *
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-admin/

確かに/wp-admin/のインデックスは行わない設定になっています。

一方、先ほど導入したプラグインで、/wp-adminのヘッダを確認してみます。ヘッダにnoindexのタグは設定されていません。つまり、robots.txtを無視して、直接/wp-adminを閲覧した場合は、noindexが無い扱いになっています。ふむ。

確かにrobots.txtで/wp-admin/を指定してあるものの、直接/wp-admin/以下のサブフォルダやファイルパスを指定した場合はインデックスされちゃいますよ、という解釈でしょうか。ふむふむ。

というわけで、robots.txtとは別に、/wp-adminディレクトリ以下にnoindexを設定したいと思います。


WordPressサイトのSFTP接続

noidexの設定は、/wp-adminディレクトリに.htaccessファイルを作成しようと思います。

プラグインでの設定は難しい?

最初、WordPressのプラグインで対応できないかどうか検討してみました。

WordPressサイト直下の.htaccess編集はプラグインで可能ですが、/wp-adminディレクトリの.htaccessを編集するプラグインは見つけられませんでした。

WinSCPによる.htaccessファイル確認

このため、WordPressサイトにSFTPで接続し、.htaccessファイルをアップロードしようと思います。

通常のFTP接続はセキュリティ上のリスクが大きいことから使用しません。

認証(ログイン)やファイル転送時にパケットが暗号化されるプロトコルを必ず使用します。

どのファイル転送プロトコルを使用できるかどうかは、お使いのVPSやレンタルサーバの契約により異なりますので、管理パネル等で確認してみて下さい。

ファイル転送はWinSCPを使用させて頂きました。

WordPressサイトにSFTPにて接続しました。

.htacessファイルですが、隠しファイルのため表示されません。WinSCPの設定を変更します。

  1. オプション→環境設定をクリックします。
  2. パネル→「隠しファイルを表示する」チェックを有効にします。

これで.htaccessファイルが表示されました。

とはいえWordPressサイト直下の.htaccessは編集しません。

/wp-adminディレクトリ用の.htaccessファイルを作成します。


wp-admin用の.htaccessファイル作成

内容はこちらの記事を参考にさせて頂きました。

Windows PCにて.htaccessファイルを作成します。次の内容になります。

Header set X-Robots-Tag "noindex, nofollow"

作成するテキストファイルの文字コードはUTF-8(BOMなし)で問題ありませんが、改行コードは「LFのみ」に変更しました。これは、サイト直下の(WordPressで自動生成された).htaccessファイルに合わせた形です。

作成した.htaccessファイルを、WinSCPで/wp-adminディレクトリにアップロードしました。


以上で/wp-adminディレクトリ以下のHTTPヘッダにX-Robots-Tagを追加、noindexを設定する事ができました。

HTTP Header Spy機能拡張で確認したところ、確かにHTTPヘッダにタグが追加されていました。/wp-admin、つまり管理ページ以下の設定を変更しましたので、(管理ではない通常の一般の)WordPressサイトの閲覧には影響が無いと思いますが、念の為、サイトのアクセスに問題が無いかどうかご確認頂いたほうが良いと思います。

さて。実際に効果はあるのでしょうか?

Google Search Consoleによる再検証が終わりましたら、結果をこの記事に追記させて頂こうと思います。

※22.8.10追記:

Google Search Consoleによる再検証の結果、/wp-adminディレクトリに関するインデックスの問題は、以降まったく発生しなくなりました。

また/wp-adminディレクトリへのアクセスですが、WordPressの管理について、機能的な問題も特に出ていません。

よって、本サイトに関しては、実際に効果があったと言えます。

あとからふと思ったことですが。

本サイトのサイトマップは、/wp-adminが記載されていませんので、サイトマップと実装に食い違いが無く、/wp-adminに関する問題はなくなりました。

サイトマップに記載されたディレクトリに、この設定を行った場合は、少し結果が変わるのかな?と思いましたです。

スポンサーリンク

フォローする

スポンサーリンク

コメント

  1. ant より:

    よろしければ結果がどのようになったか追記いただけないでしょうか。
    よろしくお願いいたします。

    • hide より:

      antさんこんにちは。コメント頂きありがとうございます。

      結果を追記しました!参考になると幸いです。