今さら聞けない各ステータスコードの意味とは


ステータスコードね。「聞いたことはあるけど、詳しくは知らない」って人は意外と多いんじゃないかしら。
今回は基本的なステータスコードの意味と種類を説明していくわね。


そもそもステータスコードってなに?
ステータスコードとは、クライアント(Webブラウザ)から送られたリクエストに対して、Webサーバから返信されるレスポンスを表す3桁の数値のことよ。
この3桁の数値を受信することによって、ブラウザは正しい処理ができるようになるの。


どういうことでしょう…。


難しかったかしら。。じゃあまずは簡単にWebサイトのページが表示される仕組みについて説明するわね。
まず、私たちがインターネットを閲覧するときにブラウザを使うでしょ?このブラウザを使わなければWebページは見れないの。なぜならブラウザはサーバとのやり取りを行っているから。閲覧しようとしているWebページに対して、「このページを見たいから情報をください!」とサーバにリクエストするの。そして、そのレスポンス(現在このサイトは表示できません等)を表す数値がステータスコードってこと。


ふむふむ。つまり、3桁の数値はWebサーバからの返事を表しているっていうことですね。


簡単にいうとそういうこと。
例えば、ページの恒久的な移動を意味する301で説明すると、ブラウザは下記のような処理を行うの。


- クライアント(ブラウザ)からサーバへリクエスト
- リクエストに基づいた処理を行いクライアントへ返す(このときサーバ側でリダイレクトの設定ができていれば、サーバ内で処理してその内容を返す)
- ブラウザでリダイレクト後の内容を表示
なるほど…。仕組みについてはわかりました!
それじゃあ、サイト運営をしていく中で何を覚えておいたほうがいいですか?


大事なことはステータスコードにはどのような種類があって、どのような役割を持つのかきちんと把握しておくこと。
そして必要な場面で必要なステータスコードが返ってきているか常に確認することがポイントになるの。
ステータスコードは100~500番台まであって、数値にはそれぞれ意味が付与されているから紹介していくわね。


ステータスコードにはどのような意味がある?
100~500番台までのステータスコードが示す意味について大まかに説明するわ。


お願いします!


100番台:案内(Inforamation)
リクエストに対して、処理が継続されている状態。これらのステータスコードが使われる場面は多くありません。
■100
リクエストに対して現状は正しく処理できている状態で、ここから継続してリクエストすることが可能
■101
正しい処理をおこなうため、プロトコルの切り替えを求めているといった状態
■102
リクエストが完全に処理できていない状態
200番台:正常処理(Successful)
一般的にブラウザでアクセスしてHTMLを見ることができる場合には大半が200の状態になります。
また、後半でお伝えしますが、404を送信すべきところに200を送信してしまう「ソフト404」という問題もあるので注意が必要です。
300番台:移転通知(Ridirection)
URLが変更された場合など、新しいURLへ転送させるレスポンスが当てはまります。
このステータスコードにはHTMLではなくURLが入っているので、
300番台のステータスコードを受け取ったブラウザは、続いて送信されるURLに転送する処理をおこないます。
■301
リクエストされたURLが変更されている状態です。この場合、同時に新しいURLへの誘導も返されます。古いURLから変更されていた際に、新しいURLを案内されるステータスコードです。サイトをリニューアルする際には重要な設定になります。
■302
リクエストされたURLが一時的に存在しない状態のため、別のURLに転送されるケースです。
URLが変更されているのに302リダイレクトを設定しているケースがありますが、あくまで一時的に変更されている場合にのみ使用されるものですので注意してください。
400番台:処理失敗(Client Error)
リクエストが正しく処理できない=ページが表示できない状態。
■404
ファイルが存在しない状態。400番台の代表的なステータスコードです。
ステータスコードの後にHTMLが送信されますので、どのようなエラー内容かを説明することができます。
404はインデックスされないステータスコードです。
■410
410は「410 Gone」と表示されます。404と同じくファイルが存在しない状態になりますが、Goneは「消滅」と言う意味になりますので、Webサイトの運営者が2度と使わないURLを指定する場合にこのコードを使います。
500番台:サーバエラー(Server Error)
サーバに問題があることでエラーになる状態。
400番台と同じく、HTMLが送信されますので、エラー情報やメンテナンス情報等をHTMLとして表示することが可能です。
■503
メンテナンス用のステータスコード。
サイトがメンテナンス中の際に送信されることがほとんどです。
404と同じく、503で送信されたHTMLは基本的にインデックスされません。
サイトのメンテナンスの際に503コードを送信することで、インデックスに影響を与えることなくメンテナンスをおこなえます。
うぅ……。たくさんあって難しい。


確かに全部覚えるのは大変ね。
「200番台は正常に処理されている状態で、400番台と500番台がエラーとなる状態」。まずは最低限これだけでも覚えておくといいわよ。


わかりました!


代表的なステータスコードの一覧
ここまでで大まかな分類について説明してきたから、次に代表的なステータスコードと、そのコードに付与された意味を見ていくわね。


ステータスコード | 意味 | 説明 |
---|---|---|
200 | OK | 成功 |
301 | Moved Permanently | 恒久的にページが移動 |
302 | Found | 一時的にページが移動 |
304 | Not Modified | 更新していない |
400 | Bad Request | リクエストが不正 |
401 | Unauthorized | 認証が必要 |
403 | Forbidden | アクセス拒否 |
404 | Not Found | アクセス不可 |
500 | Internal Server Error | サーバエラー |
503 | Service Unavailable | サービス利用不可 |
目にしたことがあるものが多いです。これもしっかり覚えなきゃ…!


ソフト404って?
ステータスコードを学ぶうえでこのほかに知っておきたいのが、ソフト404よ。


ソフト404ですか!何回も聞いたことはあるんですが、どういう意味でしたっけ…。


ソフト404とは、本来サーバが404を返すべきところ、200を返し、付随するHTMLに「お探しのページは見つかりませんでした」などの内容を入れてしまうことなの。


ページが削除されたのに、ステータスコードは正常な状態を表す200になってしまっているということですか?


そうよ。要するに、ソフト404というのは、サーバは「OK!」と返しているのに、ユーザーにはページが無いように見えてしまっている状態なの。これは問題よね。
だからGoogleは正しいステータスコードを送信するよう呼びかけているのよ。


ソフト404を確認する方法
それじゃあ、ソフト404ってどのようにして確認すればいいですか?


ソフト404は目視ではなかなか気付かないもの。でも、Google ChromeのデベロッパーツールのNetworkから簡単に確認できるわ。


ステータスコードが200になっているでしょ?もしこの状態にもかかわらず「お探しのページが存在しません」と表示されている場合、ソフト404ってことになるの。


ふむふむ。


ちなみにGoogle Search Consoleを使っても確認できるわよ。Google Search Consoleで、「インデックス > カバレッジ > 除外」の順番でクリックするとこのような画面が表示されるの。


これでクローラーが見つけたソフト404、通常の404などのエラー状況を確認することができるのよ。


ありがとうございます。
早速確認をしてみたけれど、私のサイトでは、ソフト404は発生していないみたいでした!


マイマイ、ステータスコードの基本はきちんと理解できたかしら?


はい!各ステータスコードの役割がわかりました。
サイト運用をしていく中で、それぞれの特徴を理解して、正しい場面で正しいステータスコードを使います!


関連記事
隠しリンクとは、Webページ内において、「ユーザーの目には見えない(見えにくい)けど、検索エンジンのクローラーだったら理解できる」というかたちでリンクを埋め込むスパム行為です。ここではそんな隠しリンクについて解説します。
「SEOについて知りたい!」と思うのであれば、SEOに関連する資格を取得するのも1つの手段です。知識を体系的に学べたり、SEOの基礎を学べたりします。こういった資格を通して体系的に基礎知識を学んだ上で、最新のSEOに触れることでよりステップアップできるはず!ここではSEOに関連する資格について見ていきます。
SEO効果を考えるうえでタイトル(titleタグ)の付け方は非常に重要です。例えば、ページの内容を簡潔に伝えるタイトルにしたり、タイトル内に施策キーワードを入れたりしたほうがよいでしょう。ここではSEOにおける効果的なタイトルの付け方について見ていきます。
アンカーテキストとは、他のWebページへリンクする際に表示する文章のことです。ユーザビリティの観点から考えても、SEOの観点から考えても非常に重要になりますので、リンク先の内容がすぐに理解できるように正しく設置しましょう。
よく読まれている記事
まだデータがありません。
さちこ先生、質問です。
301や404などのステータスコードってよく見るけれど、実はイマイチ理解できていません……。改めてステータスコードの意味について、それから種類について知りたいので教えてもらえませんか?