2016/06/0938 Shares

301?404?503?これだけは覚えておこうHTTPステータスコード

ステータスコード

WEB用語に「301リダイレクト」や「404エラー」なんていう言葉がありますが、聞いたことはあってもいまいち意味がわかりませんよね。

この3ケタの数字はHTTPステータスコードというもので、100番台から500番台まであります。WEBサイトにアクセスした時このコードがブラウザとサーバーの間でやり取りされ、人の目に触れることはありません。

でも、「404」や「503」などは時折見かけますし、ブログ運営に関わってくる部分。というわけで、覚えておいた方が良い代表的なステータスコードをご紹介していきます。

WEBサイトが表示される仕組み

サーバーとクライアント

WordPressでブログ運営しているならレンタルサーバーを使っているのでわかると思いますが、サーバーとはWordPress本体や記事、画像などのあらゆるデータを格納している場所です。

このサーバーに対して、ブラウザや検索エンジンクローラーはクライアントといいます。

僕ら(クライアント)がネットに接続してブログを見る時、サーバーに対してリクエストを送信します。リクエストを受信したサーバーは、クライアントへレスポンスを返します。

クライアントとサーバー

HTTPステータスコードとは

このレスポンスの中にステータスコードが含まれており、コードに基づいてブラウザに結果が表示されます。

ブログがきちんと表示されている状態なら、ステータスコードは「200」となります。なんらかのエラーが発生した場合はその他の番号が通知されますが、番台ごとに下記のような意味を持っています。

  • 100番台…リクエスト処理
  • 200番台…リクエスト受理
  • 300番台…追加処理(リダイレクト)
  • 400番台…クライアントエラー
  • 500番台…サーバーエラー

これだけだと、よくわかりませんね。

すべてを覚えておく必要はないので、知っておいたほうが良いものだけ見ていきましょう。

200番台

200 OK

先述のとおり、WEBサイトがきちんと表示される状態では「200 OK」というステータスコードが返ってきます。

ふだんこのコードを見ることはありませんが、Googlebotが受け取っている情報はGoogleウェブマスターツールで、ブラウザが受け取っている情報はChromeデベロッパーツールなどで確認できます。

Google Search Console / Fetch as Google

Google Search Console / Fetch as Google

Chromeデベロッパーツール

Chromeデベロッパーツール

300番台

300番台は追加処理ですが、主にリダイレクトで使用されます。

301 Moved Permanently

俗に「301リダイレクト」と呼ばれているこのコードは、情報の中身が恒久的に移動したことを表します。

ブログを http://aaa.com/ から http://bbb.com/ へURLを変更した場合、検索エンジンは両者を別ものとして認識しますが、この301リダイレクトを行うと検索エンジンの評価を引き継ぐことができます。

これを忘れてしまうと、せっかく検索上位に入っていたページ(aaa.com)が検索結果から削除され、新しいURL(bbb.com)はまたイチから上位を目指すハメになります。

ただし、旧URLの評価がすべて引き継がれるわけではなく、引き継ぎの時間も数週間以上かかります。現在のドメインでとくに問題がなければ、できるだけ変更しないほうが無難です。

どうしても変更を要する場合(独自ドメインに移行するなど)は301リダイレクトを使いましょう。

検索エンジンの結果で表示されるページの URL を変更する必要がある場合は、サーバー サイドの 301 リダイレクトを使用することをおすすめします。これは、ユーザーや検索エンジンが正しいページにたどり着くことを保証する最善の方法です。301 ステータス コードは、ページが新しい場所へ完全に移動したことを意味します。

301 リダイレクト

ブログサービスやサーバー移転時にドメイン変更するならこちらの記事をご参照ください。

302 Found(Moved Temporarily)

「302リダイレクト」は情報の中身が一時的に移動していることを表します。主にサイトリニューアルなどで使用しますが、あまり使う機会はないでしょう。

“一時的”という表現に明確な定義はなく、だいたい1~2週間程度とされています。また、301と違って検索エンジンの評価は引き継がないので、通常は301リダイレクトを使用することになります。

このコードはもともと「302 Moved Temporarily」でしたが、不正な使われ方をすることが多くなったため「302 Found」となりました。代わりに「307 Temporary Redirect」が定義されましたが、覚えなくてもよいです。

400番台

401 Unauthorized

認証が必要だというコードで、会員制サイトや管理画面などで使用されます。

認証ダイアログが表示された時、キャンセルボタンを押したりID・パスワードが間違っているとこんな画面に移ることがあります。

ステータスコード401サンプル

ブログ運営には関係ないので、予備知識として。

403 Forbidden

「403エラー」は立ち入り禁止を意味します。CGIプログラムが置いてある場所や管理者以外アクセス不可の場所で、部外者がアクセスすることはできません。

ロリポップサーバーだとこのような表示が出てきます。

ステータスコード403エラー

見せたい場所が403になっていたり、逆に見られたくない場所が誰でも見られるようになっていることもあるので、管理者は注意しましょう。

立ち入り禁止区域に容易に侵入できる環境だと、いろいろイタズラされる可能性も。

404 Not Found

この「404エラー」が一番有名だと思います。情報が存在しないことを表すコードで、アクセス権がない場合にも表示されます。

ブログ記事が炎上してしまって運営者が削除した時なんかによく見かけますね。

SEOで404エラーが出ても気にする必要はありませんが、訪問してくれた読者のためにオリジナルの404ページを作ることが推奨されています。

サーバーへのアクセス権がある場合は、独自の 404 ページを作成することをおすすめします。404 ページをわかりやすくカスタマイズすることにより、探している情報の場所をユーザーに知らせたり、役に立つ他のコンテンツを提供したり、サイト内をさらに探すよう促したりできます。

有益な 404 ページを作成する

WordPressで404ページ(404.php)が用意されているテーマであれば、記事が見つからない時はそのページに移ります(404.phpがないテーマは、index.phpに移ります)。

Naifixではこのようなデザインにしています。

Naifixの404ページ

404エラーページのデザイン例 を参考にオリジナルの404ページを作成してみてください。

なお、404ページにAdSenseが表示されるとポリシー違反となる可能性があるので、注意しましょう。

500番台

500 Internal Server Error

「500エラー」はサーバー内部のエラーを表します。

CGIの誤動作や.htaccessの設定ミスが原因なので、変更を加えた時は運営サイトに500エラーが出ていないかどうか確認しましょう。

サーバーのメモリ上限をオーバーした時も表示されるらしいので、頻発するようならプラン変更かサーバー移転が必要です。

503 Service Unavailable

「503エラー」はサーバーメンテナンス時や過負荷状態でページが表示できない時に表示されます。

記事がバズった時に瞬間アクセス数が急上昇!なんていう時に起こりがち。これはサーバーの転送量が関係するので、契約時は容量だけではなく転送量にも気をつけましょう

こちらも多発するようなら対策が必要です。自分には関係ないや、と思っていてもある日突然アクセスが爆発するかもしれません…。

まとめ

ブログ運営に関わる下記のコード3点はぜひ覚えておきましょう。

  • 301リダイレクト…ドメイン変更時などに要設定
  • 404エラー…ユーザビリティを考えオリジナルのページを
  • 503エラー…過負荷状態が頻発するなら引越し検討

覚えきれない!という方、あとで読む!という方は要ブックマークです。

それでは、また。