先日、GmailをチェックしているとGoogle Search Consoleから冒頭の画像のようなお知らせが来ました。
サイト「https://e-yota.com/」(特に、robots.txt によりブロックされましたが、 インデックスに登録しました の影響を受けるページ)における インデックス カバレッジの問題に関する修正の承認をリクエストされた件につきまして、お知らせいたします。 一部のページで、この問題が依然として修正されていないことが確認されました。
“403 Forbidden”がインデックスされる
Gmailに表示されている[問題の詳細を確認する]の青いボタンをクリックすると、「robots.txt によりブロックされましたが、インデックスに登録しました」という画面が表示されます。その画面の下の方を確認すると該当するページのURLが示されています。
https://e-yota.com/wp-admin/themes.php
これはWordPressを管理するディレクトリにあるファイルのことを指します。当ブログではサーバーのセキュリティを高めるために、「さくらのVPS」にSiteGuard Liteをインストールしています。
SiteGurd Liteをインストールして上記のURLにアクセスすると、”403 Forbidden“のページが表示されます。このページがGoogleのrobots.txtによってインデックス登録されました。
.htaacessにカスタムエラーレスポンスを記述
“403 Forbidden”のページはセキュリティ上必要なページです。しかしGoogleにインデックス登録をして、多くの人に見てもらうためのページではありません。このURLにアクセスされた場合は、別のページにリダイレクトさせる必要があります。そのためにWordPressの表示を制御するための.htaccessにリダイレクトに関する記述をします。
なお、以下の作業はApacheの公式ドキュメントとQiitaのページを参考にしています。
.htaccessファイルの記述
# pwd /var/www/html # touch .htaccess
WordPressがインストールされているドキュメントルートディレクトリに.htaccessファイルを作成します。
WordPressを制御するための記述
# vi .htaccess i # 20180806 echizenya add # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
まずWordPressを制御するための基本的な記述をします。内容はWordPress Codexを参考にしました。
ErrorDocumentの記述
# pwd /var/www/html # vi .htaccess i ErrorDocument 403 /index.php?error=404 ErrorDocument 404 /index.php?error=404 :wq
.htaccessの最後の2行に”ErrorDocument 403“と”ErrorDocument 404“を追記して保存します。これで「インデックスカバレッジの問題の未修正部分」とされたページは、リダイレクトされるようになります。なおこの記述については、WordPressフォーラムで投稿した質問でいただいたご回答を参考にさせていただきました。関係者のみなさま、お礼申し上げます。
リダイレクトとrobots.txtテスターによる確認
上述した作業が妥当なものであるかどうかについて、URLのリダイレクトと、Search Consoleが提供するrobots.txtテスターでインデックスの状況を確認します。
リダイレクトの確認
https://e-yota.com/wp-admin/themes.php
再度、Googleに修正を指摘されたページのURLにアクセスします。すると今度は、404.phpのページにリダイレクトされます。
Fetch as Googleによる確認
作成したページをGoogleにインデックスをリクエストするための、Fetch as GoogleにURLのディレクトリ部分を入力して[取得ボタン]をクリックします。
すると他のページのURLとは異なり、ステータスがブロック状態になります。さらに[robots.txtテスター]でブロックの状況を確認します
すると、”Disallow:/wp-admin/”という条件に基づいて、Googleに修正を指摘されたページはインデックスされない状況にあることがうかがえます。
ちなみにこの記事は、当該URLをブロックする作業を行い、30時間が経過したのちに書きました。その段階では、Googleから「修正ができました」といった主旨のお知らせは来ていません。