ウェブサイトやブログを持っていて、Google検索やBingなど検索エンジンのインデックス状況を確認している人が覚えておきたいのが「HTTPステータスコード」です。
このHTTPステータスコードをうまく使うことで検索エンジンのインデックスを削除したり、変更することができます。
HTTPステータスコードによる検索エンジンの動きを解説します。
HTTPステータスコードとは?
ページにアクセスしたときにリクエスト元に対して、結果を分かりやすくコードで返す仕組みです。
ページが見つからないときに「404 Not Found」と表示されることがありますが、この404がHTTPステータスコードです。
下のように分かれています。
- 情報レスポンス 100-199
- 成功レスポンス 200-299
- リダイレクトメッセージ 300-399
- クライアントエラーレスポンス 400-499
- サーバーエラーレスポンス 500-599
HTTPステータスコードを確認するには?
Chromeであれば、下のように操作すると見れます。
- ページ上で右クリックして「検証」をクリックするか、Ctrl+Shift+iキーを押してDevToolsを開きます。
- DevToolsの「Network」タブを開いた状態で、ブラウザでページを再読み込みします。
- 一覧にリクエスト内容が出てきますので一覧の最初の方にあるページのURLと同じ名前の行のStatusを確認します。
リダイレクトがある場合は「Preserve log」にチェックを入れる
DevTools画面にある「Preserve log」にチェックを入れるとログがクリアされずに残ります。確認したいURLにアクセスすると、リダイレクト前後のリクエストの履歴が表示されます。
ログをクリアするときは「Clear network log」のアイコンをクリックします。
検索エンジンのインデックスを操作する
ページをインデックス登録したいなら「200 OK」
リクエストが成功したことを示します。ウェブページが見れている状態でインデックスの対象になります。品質に問題なければ登録されます。
うまくインデックスされていないときは、クローラーが見に来た時に下のように「200 OK」以外になっていないか確認します。
- リダイレクトが起きている「301 Moved Permanently」
- 一時的なリダイレクトが起きている「302 Found」
- リクエストを処理できない「400 Bad Request」
- アクセス権がない「403 Forbidden」
- ページが見つらない「404 Not Found」
- サーバーエラーが起きている「500 Internal Server Error」
- サーバーが準備できていない「503 Service Unavailable」
ページのインデックスを別のURLに引継ぎたいなら「301 Moved Permanently」
ページのURLが恒久的に変更されたことを示します。リダイレクトがある状態です。ブラウザでアクセスすると別のURLに変更される動作が見えます。
検索エンジンが「301 Moved Permanently」であることを検知すると、 しばらく様子を見ます。301のページが数回クロールされても変化がない場合、変更後のURLを認識するようになります。
なお、「302 Found」は一時的に変更されたことを示します。
ページのインデックスを消したいなら「404 Not Found」
ページが存在しないことを示します。
検索エンジンが「404 Not Found」であることを検知すると、そのページが一時的に利用できないのか、恒久的に削除されたのかを判断するため、しばらく様子を見ます。
404エラーのページが数回クロールされても復旧しない場合、インデックスから削除されます。数日から数週間かかることがあります。
他のページからリンクが多く張られている場合は、検索エンジンはそのページを重要とみなし、完全に削除されるまで時間がかかることがあります。
検索エンジンのインデックスをすぐに非表示にしたい場合
検索エンジンのコンソールには一時的に非表示するための機能が備わっています。URLのブロックや削除と書かれていることもあります。
リクエストすることで一定期間、一時的に検索結果から非表示にできます。
ただし、完全に削除する場合はページを「404 Not Found」の状態にすることが必要です。
ケースに合わせた適切なHTTPステータスコード設定
ページやディレクトリの移動、ドメイン変更など別のURLに恒久的に変更したことを示したい
リダイレクトの設定を行い、HTTPステータスコードが「301 Moved Permanently」になるようにします。「302 Found」は一時的な変更を示すので弱いシグナルになります。
ページやディレクトリを恒久的に削除したことを示したい
アクセス先やルーティングを削除して、HTTPステータスコードが「404 Not Found」になっているか確認します。見つからないことを説明するエラーページを出したいときはエラードキュメントを設定します。
設定によっては「404 Not Found」ではなく、「200 OK」になってしまったり、「301 Moved Permanently」や「302 Found」になってしまう場合があるのでステータスコードをしっかり確認します。
削除したページやディレクトリにアクセスしたときにトップページなどに全て移動させたい
この場合もリダイレクトは設定せず、404のエラーページを表示して「404 Not Found」のステータスにするのが適しています。移動させたい場合はエラーページ上で案内したり、metaタグでrefreshの設定やスクリプトを使う方法があります。
リダイレクトを設定すると「301 Moved Permanently」や「302 Found」になるので注意してください。
メンテナンスしていることを示したい
「503 Service Unavailable」を返すようにします。503の場合、検索エンジンはサイトのインデックスの対応を見送ります。