こちらの記事では、Google管轄のブログサイトなど、インターネットサーバーで「404 File Not Found」などの「HTTPステータスコード(エラーコード)」が発生した原因や、エラーコード一覧と意味まとめています。
HTTPステータスコードとは?
問題発生におけるサーバーからのメッセージ
Googleの404 HTTPステータスコード
「HTTPステータスコード」は、サーバー側がリクエストを受信し、何かの問題が発生した場合にブラウザへ表示されます。
「接続時にエラーが発生しました。問題となる原因はこちらです」といった具合に、サーバーからのメッセージを番号として伝えてくれています。
▼ステータスコードを表示されない場合
エラーが発生したにも関わらず、ブラウザにステータスコードが表示されない場合は、さまざまなツールを使用して簡単に確認できます。
ブラウザ拡張機能では「Chrome」や「Firefox」などの開発者向けのプラットフォームで確認でき、「Web Sniffer」などウェブベースのヘッダー取得ツールなどもあります。
これらのツールを使用して「HTTPステータスコード」を確認するには、レポート上部の「Status:HTTP/1.1」という行を探すと、サーバーから返されたステータスコードが表示されます。
HTTPステータスコードのクラス
5つのクラスに分類
- 100番台:ブラウザで開始されたリクエストが継続していることを示す情報コード
- 200番台:ブラウザの要求がサーバーによって受信・理解・処理されたときに返されるコード
- 300番台:要求されたリソースの代わりに新しいリソースが使用されてリダイレクトが行われた際のコード
- 400番台:リクエストに問題があったことを示すクライアント側のエラーコード
- 500番台:リクエストが受け入れられたが、サーバー上のエラーでリクエストが妨げられたことを意味するサーバー側のエラーコード
▼更に細かなステータスコードがある
上記のクラス内には、更に細かくサーバーコードが分かれており、それぞれのコードの意味は下記のリストでご紹介します。
HTTPステータスコードによるSEOへの影響
検索エンジン「クローラー」に影響がある
HTTPステータスコードの番号によっては、検索エンジンボットのクローラーに影響があります。
▼100番・200番台のコード
ステータスコードの「100番台・200番台」は、サイトが正常に機能していることを知らせるものなので、SEOにはあまり影響しません。
▼300番台のコード
300番台のコードは、恒久的なリダイレクトと一時的なリダイレクトの違いです。
恒久的なリダイレクトでは元のリンクからのURLの評価を共有しますが、一時的なリダイレクトはURLを変更した際に一時的なリダイレクトを使用すると、それまでのすべてのリンク獲得によるSEOの強みが失われてしまうので注意が必要です。
▼400番台・500番台
SEOにとって重要なのは400番台と500番台のコードで、検索エンジンのボットによる「ページクロール」と「インデックス登録」の邪魔をしてしまうことがあり、エラーが多いとサイトの質が低いとみなされ、SEOにおいて順位低下へ繋がる可能性があります。
HTTPステータスコードを確認する方法
Google Search Consoleを使う
GoogleがサイトでどのようなHTTPステータスコードを認識しているか知る方法として、Google Search Consoleのカバレッジレポートで、300番台、400番台、500番台のステータスコードが確認できます。
- エラーを返したページ
- 警告がある有効なページ
- 有効なリソース
- インデックスから除外されたコンテンツ
コードの種類に応じて、「除外」、「エラー」、「有効(警告あり)」セクションの下に、300番台、400番台、500番台のHTTPステータスコードのページが表示されます。
▼ページリダイレクト確認
Google Search Consoleのカバレッジレポートの下にはリダイレクトされたページがあり、400番台、500番台のステータスコードが表示されます。
HTTPステータスコードを表示する別の方法は、「URL検査」ツールを使用すること。エラーのせいでGoogleが特定のページをインデックスに登録できない場合、次のように表示されます。
Google Search ConsoleのURL検査ツールを使用でも404エラーを特定できます。
HTTPステータスコード一覧
100番台のステータスコード
100番台のステータスコードは、サーバーに行ったリクエストが何らかの理由でまだ進行中であることを示しており、必ずしもエラー問題ではなく、何が起こっているかを知らせるための番号です。
- 100「Continue/継続」:サーバーがブラウザのリクエストヘッダーを受信し、リクエスト本文を受け取る準備ができたことを意味します。これにより、ヘッダーが拒否された場合にブラウザが本文リクエストを送信できなくなり、リクエストのプロセスがより効率的になります。
- 101「Switching protocols/プロトコルの切り替え」:ブラウザがサーバーにプロトコルの変更を要求し、サーバーがそれに準拠したことを意味します。
- 103「Early hints/早期のヒント」:サーバーの残りのレスポンスの準備が整う前に、先にいくつかのレスポンスヘッダーが返されます。
200番台のステータスコード
200番台のステータスコードは、受信しているHTTPステータスコードで、サーバーからのレスポンスがすべてが正常に機能していることを意味します。
- 200「OK/成功」:ウェブページまたはリソースが期待どおりに動作するときに配信されるコードです。
- 201「Created/作成」:サーバーがブラウザのリクエストを満たし、その結果、新しいリソースを作成したことを意味します。
- 202「Accepted/受理」:サーバーがブラウザのリクエストを受け入れ、処理を行なっている状態です。リクエストは最終的に、レスポンスの完了につながる場合とそうでない場合があります。
- 203「Non-Authoritative Information/信頼できない情報」:このステータスコードは、プロキシの使用中に表示されることがあり、プロキシサーバーがオリジンサーバーからコードを受信したものの、ブラウザに渡す前にレスポンスを変更したことを意味します。
- 204「No Content/内容なし」:サーバーがリクエストを正常に処理したものの、返すべきコンテンツが存在しないことを意味します。
- 205「Reset Content/内容のリセット」:サーバーがリクエストを処理したもののコンテンツを返さない状態で、ブラウザの画面を初期化する必要もあります。
- 206「Partial Content/部分的内容」:HTTPクライアント(ブラウザ)がRangeヘッダーを使用している場合、このステータスコードが表示されることがあります。これにより、ブラウザは一時停止したダウンロードを再開できるだけでなく、ダウンロードを複数のまとまりに分割できます。Rangeヘッダーにより、サーバーが要求されたリソースの一部のみを送信する場合、206コードが返されます。
300番台のステータスコード
300番台のステータスコードは、リソースが新しい場所に移動されたことを伝えるために使用されるプロセスです。訪問者に対して、それが探しているコンテンツの場所に関する情報を提供するために、リダイレクトに伴う特定のHTTPステータスコードが使用されます。
- 300「Multiple Choices/複数の選択」:ブラウザのリクエストを満たすためにサーバーが応答できるリソースが複数ある場合があります。300ステータスコードは、ブラウザがその中からいずれかを選択する必要があることを意味し、使用可能なファイルの拡張子が複数ある場合、またはサーバーで単語の意味が曖昧になっている時に発生する可能性があります。
- 301「Moved Permanently/恒久的に移動」:要求されたリソースが恒久的に移動されたことを意味します。このコードは、ウェブページまたはリソースが別のリソースに恒久的に置き換えられているときに返されます。恒久的なURLリダイレクトに使用されます。
- 302「Found/発見」:要求されたリソースは移動したものの見つかったという状態を意味します。このコードは、要求されたリソースが予想された場所ではなく、別の場所で見つかったことを示すために使用されます。一時的なURLリダイレクトに使用されます。
- 303「See Other/他を参照せよ」:303ステータスコードを理解するには、4つの主要なHTTPリクエストメソッドの違いを知っている必要があります。基本的に、303コードは、ブラウザがPOST、PUT、またはDELETEを介して、リクエストされたリソースを見つけたことをブラウザに伝えます。ただし、GETを利用するには、以前に使用したものとは異なるURLに適切なリクエストを行う必要があります。
- 304「Not Modified/未更新」:要求されたリソースが、最後にアクセスしてから変更されていないことを意味します。このコードは、ブラウザキャッシュに保存されているリソースが変更されていないことをブラウザに通知します。以前にダウンロードしたリソースを再利用し、ページの配信を高速化するのに使用されます。
- 307「Temporary Redirect/一時的リダイレクト」:このステータスコードは、リソースが一時的に別のURLに移動されたときの適切な使用法として、302 Foundを再定義するかたちで導入されました。302ステータスコードとは異なり、HTTPメソッドを変更することはできません。
- 308「Permanent Redirect/恒久的リダイレクト」:308ステータスコードは、「301 恒久的に移動」コードを継承するかたちで誕生しました。HTTPメソッドの変更を許可せず、要求されたリソースが新しいURLに永続的に移動されたことを示します。
400番台のステータスコード
400番台のHTTPステータスコードは問題を意味し、ブラウザやリクエストに障害があることを示すエラーコードです。
- 400「Bad Request/不正」:サーバーが、クライアント側のエラーのためにレスポンスを返すことができない状態を意味します。このエラーの解決方法については、専用のガイドをご覧ください。
- 401「Unauthorizedまたはauthorization required/認証が必要」:ターゲットリソースに有効な認証資格情報がない場合、これがサーバーから返されます。htpasswdを使用して基本的なHTTP認証を設定した時に表示されることがあります。
- 402「Payment Required/支払いが必要」:もともと、このコードはデジタルキャッシュシステムの一部として使用するために作成され、主に必要な資金が不足しているためにリクエストを処理できないことを示すために、さまざまなプラットフォームで使用されています。
▼402の資金不足の例
- Google Developers APIで1日のリクエスト制限に達したとき
- Shopifyの料金を支払っておらず、ストアが一時的に無効になったとき
- Stripe経由の支払いが失敗したか、Stripeが不正な支払いを防止しようとしているとき
- 403「Forbidden/拒否」:リソースへのアクセスが禁止されていることを意味します。このコードは、ユーザーが表示する権限のないものにアクセスしようとしたときに返されます。たとえば、ログインせずにパスワードで保護されたコンテンツにアクセスしようとすると、403エラーが発生する場合があります。
- 404「Not Found/未検出」:要求されたリソースが見つかりませんでした、という意味の、最も一般的なエラーメッセージです。このコードは、 要求されたリソースが存在しないことを意味し、サーバーはそれがかつて存在したかどうかすら知りません。
- 405「Method not allowed/未許可のメソッド」:メソッドが許可されていないことを意味します。これは、レンタルサーバー(オリジンサーバー)が受信したメソッドをサポートしているものの、ターゲットリソースがサポートしていない場合に返されます。
- 406「Not acceptable response/受理不可」:要求されたリソースが(リクエストで送信されたAcceptヘッダーに照らし合わせ)受け入れられないコンテンツしか生成できないことを意味します。
- 407「Proxy Authentication Required/プロキシ認証が必要」:プロキシサーバーが使用されており、続行する前にブラウザがそれ自身の認証をする必要があることを意味します。
- 408「Request Timeout/タイムアウト」:サーバーが、ブラウザからの残りのリクエストを待機してタイムアウトになったことを意味します。このコードは、ブラウザからの完全なリクエストを待っている間にサーバーがタイムアウトすると返されます。つまり、サーバーは、ブラウザから送信された完全なリクエストを取得できなかったことになります。考えられる原因の1つは、ブラウザとサーバー間のデータパケットの損失をもたらすネットワーク輻輳です。
- 409「Conflict/競合」:409ステータスコードは、関連するリソースと競合しているため、サーバーがブラウザのリクエストを処理できなかったことを意味します。これは、複数の同時編集が原因で発生する場合があります。
- 410「Gone/消滅」:要求されたリソースがなくなっており、消滅している状態を指します。これは「404 Not Found」コードに似ていますが、410は永続的であり二度と復活しないものであることを意味します。
- 411「Length Required/長さが必要」:要求されたリソースでクライアントが特定の長さを指定する必要があるものの、それが指定されていない、という状況で返されます。
- 412「Precondition Failed/前提条件が失敗」:ブラウザのリクエストヘッダーに特定の条件が含まれており、サーバーがその仕様を満たしていないことを意味します。
- 413「Payload Too LargeまたはRequest Entity Too Large/ペイロード過大」:リクエストの大きさが、サーバーが処理しようとする、または処理できる範囲を超えている場合に返されます。
- 414「URI Too Long/URLが長すぎる」:これは通常、サーバーが処理できないほど大きなクエリ文字列としてエンコードされたGETリクエストに対する結果として表示されます。
- 415「Unsupported Media Type/サポートされていないメディアタイプ」:サーバーまたはリソースがリクエストされたメディアタイプをサポートしていない場合に返されます。
- 416「Range Not Satisfiable/レンジが範囲外」:リクエストが、サーバーが返すことができないリソースの特定の部分に対するものであった時に、これが表示されます。
- 417「Expectation Failed/Expectヘッダーによる拡張が失敗」:サーバーが、リクエストのExpectヘッダーフィールドで指定された要件を満たすことができないことを意味します。
- 418「I’m a teapot/私はティーポット」:このコードは、コーヒーを淹れろというリクエストを受け取ったティーポットにより返されるもので…1988年のエイプリルフールのジョークです。
- 422「Unprocessable Entity/処理できないエンティティ」:クライアントリクエストにセマンティックエラーが含まれており、サーバーがそれを処理できない時に返されます。
- 425「Too Early/Early dataを受け入れない」:このコードは、サーバーがリプレイ攻撃される可能性があるために、リクエストの処理を拒絶するときに返されます。
- 426「Upgrade Required/アップグレード要求」:リクエストのアップグレードヘッダーフィールドの内容により、クライアントが別のプロトコルに切り替える必要があることを意味します。
- 428「Precondition Required/事前条件が必要」:リクエストを処理する前にサーバーで条件を指定する必要がある場合に返されます。
- 429「Too many requests/要求が多すぎる」:指定された時間内にあまりにも多くのリクエストをユーザーが送信したときにサーバーから返されます(レート制限)。これは、サイトにアクセスしようとするボットまたはスクリプトが原因で発生する場合があります。そのような場合には、WordPressのログインURLを変更してみてください。また、429 Too Many Requestsエラー修正ガイドもご確認ください。
- 431「Request Header Fields Too Large/リクエストヘッダーフィールド過大」:ヘッダーフィールドが大きすぎるため、サーバーがリクエストを処理できない状態を意味します。単一のヘッダーフィールド、またはすべてのヘッダーフィールドに問題がある可能性があります。
- 451「Unavailable for Legal Reasons/法的理由により利用不可」:サーバーのオペレーターが、リクエストされたリソース(またはリクエストされたリソースを含むリソースのまとまり)へのアクセスを禁止するよう(政府などから)指示を受けている場合に返されます。豆知識:このコードは、レイ・ブラッドベリの小説『華氏451』にちなんで451とされています。
- 499「Client closed request/クライアントによるリクエストの終了」:これのコードは、Nginxがまだ処理している間にクライアント側でリクエストが切断されるとNGINXによって返されます。
500番台のステータスコード
500番台のステータスコードもエラーと見なされます。ただし、問題はサーバー側にあるので、解決をするのはより困難になる可能性があります。
- 500「Internal Server Error/サーバー内部エラー」:サーバーでエラーが発生したため、要求を完了できなかったことを意味します。これは、サーバー内部でエラーが発生したことを単に意味する一般的なコードです。サーバーで問題が発生し、リクエストされたリソースが配信されない状況を指します。このコードは通常、サードパーティのプラグイン、PHPの障害、またはデータベースへの接続が切断されることにより返されます。データベース接続の確立におけるエラーを修正する方法と、その他のサーバー内部エラーを解決する方法もご覧ください。
- 501「Not Implemented/実装されていない」:このエラーは、サーバーがリクエストを満たすために必要な機能をサポートしていないことを意味します。これはほとんどの場合、ウェブサーバー自体の問題であり、通常、ホスト側によって解決される必要があります。「501 not implementedエラー」を解決するための推奨事項もあわせてご確認ください。
- 502「Bad Gateway/不正なゲートウェイ」:通常、このエラーコードは、プロキシサーバーの使用中など、あるサーバーが別のサーバーから無効なリクエストを受信したことを意味します。また、クエリまたはリクエストに時間がかかりすぎることで、サーバーによりキャンセルまたは強制終了され、データベースへの接続が切断されるケースもあります。詳細については、「502 Bad Gateway」エラーの修正方法に関するチュートリアルをご参照ください。
- 503:Service Unavailable/サービス利用不可」:サーバーが現在、リクエストを処理できないことを意味します。その時点でリクエストを完了することはできません。このコードは、リクエストを処理できない過負荷のサーバーにより返されることがあります。「503 Service Unavailable」エラーの修正方法に関する完全なガイドもご用意しています。
- 504:Gateway Timeout/ゲートウェイタイムアウト」:ゲートウェイとして機能するサーバーが、別のサーバーのレスポンスを待ってタイムアウトした状態を指します。これは、リクエストの処理に2つのサーバーが関与し、最初のサーバーが2番目のサーバーのレスポンスを待ってタイムアウトしたときに返されるコードです。専用のガイドから「504エラー」の修正方法をご確認ください。
- 505「HTTP Version Not Supported/サポートしていないHTTPバージョン」:サーバーが、クライアントがリクエストの作成に使用したHTTPバージョンをサポートしていないことを意味します。
- 511「Network Authentication Required/ネットワークに対する認証が必要」:このステータスコードは、使用しようとしているネットワークでリクエストをサーバーに送信する前に、何らかの認証が必要であることを意味します。たとえば、公共のWi-Fiホットスポットの利用規約に同意する必要がある場合などです。
- 521「Web server is down/ウェブサーバーのダウン」:エラー521はCloudflare固有のエラーメッセージです。これは、ウェブブラウザがCloudflareに正常に接続できたものの、Cloudflareがオリジンウェブサーバーに接続できなかったことを意味します。
HTTPステータスコード詳細情報が確認できるソース
今回の記事でご説明したHTTPステータスコードの他に別のステータスコードを調べたい方もいるかもしれません。
その他の頻度の少ないコードについては、次のリソースをご参照ください。
- ウィキペディアのHTTPステータスコード包括的リスト
- Internet Engineering Task Force (IETF)のステータスコードの定義
- RFC 7231
上記のステータスコードを知っておけば、自らのサイトを管理する際に、特定の問題を突き止め改善・解決することになるかと思います。
関連記事
Web制作
ウェブ制作関連記事 | |
ブログサイトの始め方 | ドメイン取得方法 |
ドメイン取得~サイト作成手順 | 外観テーマ導入手順 |
おすすめレンタルサーバー | おすすめテーマ |
記事内容(ジャンル)の選び方 | SSL化の設定方法 |
固定ページをトップページ変更 | おすすめプラグイン一覧 |
サイト運営者ID確認 | 効率化ショートカットキー |
不要なCSS・JS特定 | ホームページの作り方 |
スパムコメント対策 |
▼Googleアナリティクス
Googleアナリティクス関連記事 | |
複数サイト管理方法 | 旧バージョン(UA)設定 |
Googleアドセンス・アフィリエイト
Googleアドセンス関連記事 | |
アドセンス設置場所 | 広告単価の高い時期 |
広告クリック率確認 | 広告サイズ改善 |
アンカー広告の固定化 | 広告が表示されない原因 |
ads.txtファイル問題の修正 | ダブルレクタングル作成 |
リクエスト処理エラー | Amazonアソシエイト |
おすすめASP一覧 | 【クローズドASP】felmat依頼内容 |
サイトデザイン
関連記事 | |
TOPページの割り当て | padding設定方法 |
margin設定方法 | border設定方法 |
記事上の余白原因と消し方 | スマホ余白の原因と消し方 |
特定カテゴリー非表示 | perタグ内の改行方法 |
▶が文字化けする原因対策 | サイドバーのずれ修正 |
コメント欄に絵文字 | サイドバータイトル非表示 |
CSSが反映されない原因 | テーブル文字を上下中央揃え |
▼テーマ毎のデザイン
THE THOR (ザ・トール) | |
アイキャッチ画像を非表示 | グローバルメニューの出し方 |
エラー対策
エラー対策の関連記事 | |
style.cssエラー | functions.phpエラー |
画面表示がおかしい対処法 | 重大なエラー対処法 |
サーバーでプラグイン削除 | エラーコード一覧 |
404エラー対策 | ー |
PR記事一覧
-
ゲーム記事
-
観葉植物
-
大人向け