ステータスコードとは?
ステータスコードとは、HTTPステータスコード(HTTP Status Code)とも呼ばれる、HTMLを表示する前にブラウザが受信する3桁の番号です。番号は100-510までの間で割り振られていて、
各数値にはそれぞれ意味が付与されています。この3桁の数値を「HTMLを受信する前に」受信することで、ブラウザは正しい処理ができるようになります。
前回の記事(サイトリニューアル時に便利!リダイレクト&ステータスコードチェックツールのご紹介)ではツールを使用した、ステータスコードの確認方法等を説明致しました。
本稿ではステータスコードについて、サーバ・ブラウザ間における処理の部分から、ステータスコードの「今さら聞けない」知識を丁寧に解説していきたいと思います。
※ステータスコード処理例
・301を受信したので、この後はHTMLではなくURLが来るはず、そのURLにリダイレクトしよう
・404を受信したので、この後のHTMLを404用のHTMLとして表示しよう
上記の例はブラウザで行われる処理をわかりやすくテキストにしたものです。
ここからわかるように、ステータスコードが先に来なかった場合、
例えば、
「HTMLを受信したが、URL1行しかなかった。これはリダイレクトなのか・・?」
等、続く処理がどういうものなのか判断できないことがあり、ブラウザ側で正しく表示できない可能性が出てきます。
また、同じ処理でも意味が変わってくるものがあります。例えば、同じエラー画面でも、ファイルが存在しないためエラーなのか、
アクセスが禁止されているためエラーなのか、さっきまで存在していたが消えてしまったのか等、いくつかパターンがあります。
それらを個別に伝えるため、ステータスコードは細かく分類され、それぞれに意味があります。
ステータスコードを送ることで、上記のような誤認識を回避することが出来、確実にデータの処理が可能なことがお分かりいただけるかと思います。
次のパートではメジャーなステータスコードの一覧と、それぞれに付与された意味を説明していきます。
メジャーなステータスコードの一覧と解説
前パートでは、ステータスコードが、通信においてどのような部分を担っているかを説明しました。ここからはより詳細に、実際にどのようなステータスコードを受け取るか、また受け取ったステータスコードはどういう意味なのかを解説していきます。
以下、メジャーなステータスコードと、そのコードに付与された意味をリストにしました。なお実際には、ステータスコードは2016年5月現在、全部で56個もありますが、下記の10個で、日常的に出てくるほぼ全てになります。今回はこのメジャーなものに絞って解説していきます。
ステータスコード | 意味 | 簡易解説 |
---|---|---|
200 | OK | 成功 |
301 | Moved Permanently | 恒久的にページが移動している |
302 | Found | 一時的にページが移動している |
400 | Bad Request | リクエストが不正 |
401 | Unauthorized | 要認証 ベーシック認証でログインミスした時等 |
403 | Forbidden | アクセス禁止 管理画面にアクセスしてしまった場合等 |
404 | Not Found | アクセスができない URLをタイプミスしてファイルがない場合等 |
500 | Internal Server Error | サーバエラー .htaccessを書き間違えた時等 |
503 | Service Unavailable | サービス利用不可 メンテナンス中やアクセス過多等 |
3桁の数値であるステータスコードの最初の1つ目には、それぞれカテゴリが割り振られています。具体的には、2xx番台は正常処理系、3xx番台はリダイレクト処理系、400番台はリクエストエラー系、500番台はサーバエラー系となります。また、ここには記載していませんが、1xx番台もあり、そちらは情報提供系のコードです。
それではいくつか詳細に解説していきます。
200
2xx番台は正常処理系です。
その中でも200は文字通りOKを意味していて、一般的にブラウザでアクセスしてHTMLが見られる場合、ほとんどが200です。
なお200のステータスコードの後には正常なHTMLが続いて送信されますので、ブラウザは、200を受け取った後、続いて送信されるHTMLを表示する処理を行います。
SEOの観点では、インデックスさせたいページでは、きちんと200を送信することが重要です。
また後述しますが、404を送信すべき所に200を送信してしまう「ソフト404」という問題もあり、とりあえず200だからOKとは言えません。
301 / 302
3xxは、リダイレクト処理系の番号です
このステータスコードの後にはHTMLではなくURLが入っているのが特徴です。3xxのステータスコードを受け取ったブラウザは、続いて送信されるURLに転送する処理を行います。
この3xxでよく使用するものが301/302です。
301は恒久的/永続的なリダイレクトのことで、「アクセスした現在のURLは消滅し、今後転送先のURLに変わります」と通知します。
セットで語られることの多い302は、対照的に一時的なリダイレクトのことを指し、「一時的に今のURLではなく、転送先を参照して下さい」という場合はこちらを使用します。
なお以前は302は「Moved Temporarily」でしたが、現在では「Found」に変更されています。
SEOの観点では、ページが変更されたと認識し、SEO効果を転送先に渡してしまうとされる301、一時的になくなっているが、ページ自体は変わっていないため、
SEO効果を転送しないとされる302、というように大きく影響を与えるコードのため、使用の際は十分注意が必要です。
※長期間302をしていると301と同等の扱いになるなど、諸説あります
※参考URL
Googleは302リダイレクトを301リダイレクトとして処理することがある
404
4xx番台は、リクエストエラー系の番号です。
4xxの代表的な番号である404は、ファイルが存在しないという意味です。主にURLのタイプミスなどで見ることが多いものです。
リクエストエラーではありますが、ステータスコードの後にHTMLが送信されますので、どんな内容のエラーかどうかを説明することが可能です。
SEOの観点では、200と対照的に、インデックスしないステータスコードの筆頭になります。
404とセットで送信されたHTMLは基本的にインデックスされません。
503
5xx番台は、サーバエラー系の番号です。
4xx番台と同じく、HTMLとセットで送信されますので、エラー情報やメンテナンス情報等をHTMLとして表示することが可能です。
5xxの中でも503はメンテナンス用の番号のため、サイトがメンテナンス状態の場合に送信されることがほとんどです。
SEOの観点では、404と同じく503で送信されたHTMLは基本的にインデックスされません。
また重要なポイントとして、特にサイトのメンテナンスの際に503コードを送信することで、インデックスに影響を与えずにメンテナンスを実施できることがあげられます。
メンテナンスの際に、現在アクセスできないという理由で誤って503ではなく、404を送信してしまうと、メンテナンスが終わるまでにインデックスが削除されてしまい、アクセスが激減してしまう可能性もありますので注意が必要です。
SEOにまつわるステータスコード
ここからは、SEOと密接にかかわってくるステータスコードの事例を2つお話致します。
ソフト404
ソフト404とは、本来ステータスコード404(ページがない)を送信すべき所に200を送信し、付随するHTMLに「お探しのページは見つかりませんでした」などの404的な内容を入れてしまうものです。
ステータスコードを200にして返してしまうため、インデックスの対象になってしまいますので、Googleのクローラにとって、「インデックス不要なページのはずなのにコードが200」という理解しにくい状況になってしまいます。
また、このソフト404で共有しているHTMLを使用している全てのページが同じコンテンツでインデックス対象になってしまうなど問題も多く、Googleは正しいステータスコードを送信するよう呼びかけています。
参考URL:
https://support.google.com/webmasters/answer/181708?hl=ja
404 と 410
404は前述の通りファイルが存在しない場合に使用されるコードですが、410もファイルが消滅したという内容のため、単純にファイルを消したい場合こちらのコードも使用可能です。
※410は、意図的に送信しない限り使わないステータスコードのため、上記リストには載せていません。
具体的な処理の流れとしては、404を送信している場合、本当にファイルがなくなったのか、一時的なトラブルではないのか、間違えて消したのではないか等、
Googleは多岐にわたって推測の上、たった1回404だったからすぐにインデックス削除とはせず、少し時間を空けて再度クロールをするなど、数回にわたって確認を取ります。
このため、404を送信してから少し立たないとインデックスは削除されません。
しかしながら410の場合、意図的に指定しないと送信できないコードのためか、その確認のフローが少なく(Googleはより強い削除シグナルと取る傾向がある)、若干早く削除されるようです。
もっとも、上記の差はわずか(few daysと記載)なため、そこまで意識して行う必要はないかもしれません。
参考URL:
https://productforums.google.com/forum/#!topic/webmasters/qv49s4mTwNM/discussion
まとめ
今回は「今さら聞けない?!ステータスコードの基礎知識」、ということで、ウェブの通信と、SEOにとって重要な役割を持つステータスコードについて解説しました。
ステータスコードと言うと必ずサーバと通信の話が出てきますので、なるべくブラウザを中心に平易な言葉で説明してきましたが、いかがでしたでしょうか。
ステータスコードはただの3桁の数値にすぎませんが、ソフト404やメンテナンス中の404送信のように、SEOに影響が出る可能性があるものもあります。
管理するサイトのステータスコードの状況はきちんと把握・確認しておきましょう。
なお確認の際は、複数URL一括で調査可能なサクラサクLABOのステータスコードチェッカーが便利です。是非ご活用ください!
リダイレクト&ステータスコードチェックツール
ステータスコードの設定にお困りの場合は
ステータスコードの設定を間違えるとセッション数の減少や順位の下落を引き起こす可能性があります。
また、気づいたらGoogle Search Console上でエラーが発生していたなんてこともあり得ます。
自社サイトの設定に問題がないか不安に思われる場合は、まずは無料相談会で弊社のコンサルタントまでご相談を!
貴社サイトの状況を確認しアドバイスを行います!