HTTPステータスコードとは?
ステータスコードは、ウェブページのようなファイルへのリクエストを受け取ったあとで、ウェブサーバーからHTTPレスポンスヘッダに返される情報です。
サーバーがウェブページへのリクエストを処理できる場合、サーバーはリクエストされたページと共に200のHTTPSステータスを返します。これにより、ウェブサーバー、またはクローラーに、リクエストがうまく完了したと伝達されます。
リクエストされたページが利用できない場合、サーバーはエラーページとともに404のステータスを戻します。人間ではエラーページを解釈できませんが、404というステータスはそのリクエストが完了していないというシグナルとして検索エンジンが処理します。
したがってウェブサーバーは、処理する全てのページに適切なステータスコードを戻すように設定しておく必要があります。
W3Cのサイト(英語)に公式のステータスコードリストが掲載されています。
またWikipediaには、より包括的なステータスコードのリストが掲載されています。
SEOにとって重要なステータスコードは?
200 OK
ステータスコード200のページは問題がなく戻されており、インデックスできます。
インデックスしてトラフィックを生み出すようにしたい重要なページは全てこのステータスコードになるようにすべきといえます。
2xx (200ではないが200番台)
ステータスコードが200以外の200番台のページはインデックスされません。
301(恒久的なリダイレクト)
ページが新しいURLに移動するように処理されている場合、301のレスポンスコードが返されます。
リダイレクト先のURLはヘッダーに含まれています。
ページのbody要素はレスポンスとともに返されることが多いですが、通常Googleに表示、またはインデックスされることはありません。
リクエストを行ったクライアントは、リダイレクト元のURLに対してさらにリクエストを行うことが一般的です。
全てのリダイレクトのステータスコードが200となった後のリダイレクト先URLはインデックスされ、ページランクの大部分がそのURLへ集中することになります。
合わせてリダイレクトチェーンを実行することもできます。Googleは1回のクロールで5つのリダイレクトしかたどりませんが、以降のクロールではより多くのURLをたどり続けます。
301リダイレクトは完全なオーソリティを伝えることはありませんが、ドメイン全体をリダイレクトしている場合(例:wwwを非wwwへ、またはhttpをhttpsへなど)には、完全なオーソリティが伝達されます。
<301リダイレクトや404を返す期限切れまたは価値の低いURLが大量に存在している場合、これらが直接サイトの順位表示における問題を引き起こすというわけではありません(適切な対応を行っており重要なページを失っていない場合に限る)。しかし、複数のリダイレクトチェーンを行うことは避けてください。
URLが変更された後などにリダイレクト元のURLをGooglに検出させたい場合、Googleがより早くそれらを再度クロールできるように古いURLを載せたサイトマップを送信しても良いでしょう。
302/303/307(一時的なリダイレクト)
Googleやページランクはこれらをたどりますが、ステータスコードによりこれらが一時的なものであると示されているため、リダイレクトURLはインデックスされたままとなります。
リダイレクトチェーンのうち1回のリダイレクトのみが一時的なものである場合、リダイレクトチェーン全体が一時的であると見なされてしまいます。
長期的には、302リダイレクトは301リダイレクトであると判断されるようになります。
304 Not modified
このレスポンスコードは、ページのコンテンツが前回のクロール時点から変更されていないことを示しています。
コンテンツのbody要素は返されることはなく、Googleによって検出もされません。
401/403 Not authorised
このステータスコードは、リクエストされたページが、認証されていない場合に認証を要求した場合に返されます。
これらのページはインデックスされません。
404 Not Found
これらのページは複数回クロールされた後、Googleのインデックスから削除されます。
400番台のステータスコードが大量にあってもペナルティやSEO上の問題が発生することはありませんが、404ページへのリンクがあるとユーザビリティに影響します。 404ページが検索結果に表示されてUXが阻害される場合、順位表示にも悪い影響を与えてしまいます。
404ページを含むXMLサイトマップを送信して、より早く404ページをインデックスから削除すると良いでしょう。一番良いのはこれらのページを別のサイトマップに追加して他のインデックスできるURLとは分けて確認できるようにすることです。
410(永久に削除)
このステータスコードを返すページは初回のクロール後にGoogleのインデックスから削除されるため、ページが永続的に期限切れになっているとわかっている場合には、404より410を設定する方が良いでしょう。
500 サーバーエラー
これらのページは1回目、または複数のクロール後にインデックスから削除されます。
500番台のページが大量にあると、一時的にクロール頻度が減少する可能性があります。
500番台のステータスを返すURLは全て、200のステータスコードでクロールされるまでインデックスから外されてしまいます。
503 Temporary Server Error
503の場合500のようにすぐにインデックスから削除されることはありませんが、このエラーが続くようであれば削除されることになります。
その他のステータスコード
Googleは、200以外の200番台を含む認識されていないHTTPステータスコードを返す全てのページを無視します。
ステータスコードの確認方法
HTTPステータスコードはいろいろな箇所に表示されます。
サーチコンソールは各クロールエラーに対してステータスコードを表示しています。
Chromeディベロッパーコンソールは全てのファイルのステータスを表示します。
Web Sniffer
http://web-sniffer.net/
Fetch as Googlebotの利用
どこからリクエストがあったかに応じて、サーバーは異なるステータスコードを返すことができます。自社サイトについてGoogleがどのステータスコードを検出するか正確に把握する方法は、サーチコンソールでFetch as Googlebotを利用することです。
DeepCrawl
DeepCrawlは全てのレポートのページ詳細ビューにステータスコードを表示しています。