200 OK(HTTP 200)

HTTP 200 OKの意味(RFC 9110)、インデックス登録には必要だが十分ではない理由、ソフト404の落とし穴、200と204・304の違い、Googlebotが実際に受け取った内容の確認方法を説明します。

初回公開:2026年7月3日 · 最終更新:2026年8月22日 · Advanced
言語
このページには証拠シグナルが1件あります

HTTP 200 OKは標準的な2xx成功コード(RFC 9110)です。サーバーがリソースを見つけて返していることを示します。ウェブページには望ましいコードですが、必要条件であって十分条件ではありません。Googleの文書でも、インデックス登録パイプラインは「コンテンツを登録することがあるが、保証されない」と説明されています。品質、重複、薄いコンテンツ、noindexは200の上で別に評価されます。典型的な落とし穴はソフト404です。コンテンツがエラーや空ページのように見えるのにURLが200を返すと、Googleはコードに関係なくコンテンツ層でソフト404として報告します。200(成功+実体のある本文)と、204(成功+空の本文、ページではソフト404扱い)、304(キャッシュのシグナルでありインデックス登録の判断ではない)を区別してください。消失は404/410、移動は301、重複はcanonicalタグとし、ブラウザーの表示だけでなくURL検査やログでGooglebotが受け取った内容を確認します。

TL;DR — 200 OKは標準的な2xx成功コード(RFC 9110 §15.3.1)です。サーバーはリクエストを処理し、GET/HEADでは本文がリソースの表現になります。デフォルトではヒューリスティックにキャッシュ可能です。SEOでは必要ですが十分ではありません。Googleの文書は、インデックス登録パイプラインが「may index the content, but that’s not guaranteed,」 (翻訳)「コンテンツを登録することがあるが、保証されない」と述べています。品質、重複、薄いコンテンツ、noindexは200の上で結果を左右します。典型的な失敗はソフト404です。エラーや空のコンテンツを200で包むと、Googleはコンテンツ層で検出し、コードに関係なくソフト404として報告します。200(本文を期待)と204(空の本文、ページではソフト404扱い)と304(キャッシュのシグナルで、インデックス登録の判断ではない)を区別してください。また、Googlebotが受け取ったものを確認してください。クローキング、ボットブロック、地域ルール、CDN/WAF設定により、ブラウザーとは違うコードが配信されることがあります。

仕様における200の意味

RFC 9110(HTTP Semantics)が現在の権威ある仕様で、§15.3.1は明快です。「The 200 (OK) status code indicates that the request has succeeded.」 (翻訳)「200(OK)ステータスコードは、リクエストが成功したことを示す。」本文の内容はリクエストメソッドによって異なります。ページに関係するGETとHEADでは、コンテンツは対象リソースの表現です。RFCはさらに、CONNECTへの応答を除けば、メッセージのフレーミングが長さ0を明示しない限り、200はコンテンツを持つことが期待されると説明しています。つまり「200には必ず本文がある」は略称であり、絶対条件ではありません。実際にインデックス登録したいページでは、空ではなく実体のある本文を目標にします。200は、cache-controlディレクティブで別途指定されない限り、デフォルトで「ヒューリスティックにキャッシュ可能」でもあります。そのため頻繁に再クロールされるページでは、ETagLast-Modifiedのような検証ヘッダーが重要です。 Evidence for this claim RFC 9110 defines 200 OK as indicating that the request succeeded; the response content depends on the request method. Scope: HTTP semantics for 200 responses; this does not guarantee search indexing. Confidence: high · Verified: IETF: RFC 9110 §15.3.1 — 200 OK

厳密には、200はページ専用ではありません。RFCはメソッドごとの「成功」の意味を示しています。

リクエストメソッド200の本文が表すもの
GET対象リソース
HEAD対象リソース。ただし本文は転送しない
POSTアクションのステータスまたは結果
PUTDELETEアクションのステータス
OPTIONSリソースの通信オプション

GET以外のメソッドでは200を見ないことも多く、MDNは成功したPUTまたはDELETEリクエストが「often do not result in a 200 OK response,」 (翻訳)「200 OKレスポンスにならないことが多い」と説明しています。201 Created204 No Contentのほうが一般的です。これはページURLのSEOには関係ありません。覚えておくべき一文は、インデックス登録したい文書では、実体のある本文付きの200が目標だということです。

インデックス登録には必要だが十分ではない

これは最も正しく理解すべき点で、競合する用語集ページの大半が明確に間違えている部分です。「200ならページがインデックス登録される」と書いています。 Google自身の文書はそうではないと説明します。200の場合、Googleは「passes on whatever it received to the next processing step… For Google Search, the next system is the indexing pipeline. The indexing systems may index the content, but that’s not guaranteed.」 (翻訳)「受け取ったものを次の処理段階へ渡します。Google検索では次のシステムがインデックス登録パイプラインです。登録することはありますが、保証されません」としています。 Evidence for this claim Google passes a 2xx response to its indexing pipeline, which may index the content but does not guarantee that it will do so; error-like content can be classified as a soft 404. Scope: Google Search handling of 2xx page responses and soft 404s. Confidence: high · Verified: Google: HTTP status codes and Search

つまり200は、ページの検索での運命を約束するものではなく、HTTPレスポンスに関する契約です。200の後、Googleは次を独立して評価します。

  • 品質 — 薄い、価値の低い、または自動生成されたページはインデックス登録されないことがあります。
  • 重複 — より強いURLとほぼ重複するページは、自分のURLで登録されず、そのURLに統合されることがあります(これを制御するのがcanonicalタグです)。
  • ディレクティブ — metaタグやX-Robots-Tagヘッダーのnoindexは、完全な200でもページを検索対象外にします。

PatrickのAhrefsガイドも、ステータスコード群について同じ線引きをしています。「Most 2xxs will allow pages to be indexed. However, 204s will be treated as soft 404s and won’t be indexed.」 (翻訳)「この成功コード群の大半はページをインデックス登録可能にします。ただし、本文を返さない応答はソフトな「見つからない」扱いとなり、登録されません。」200はページを登録可能にしますが、登録済みにはしません。

ソフト404の落とし穴

「200だけでは全体を語れない」ことの最も明確な例がソフト404です。Googleのステータスコード文書は仕組みを次のように説明しています。「If the content suggests an error for Google Search, an empty page or an error message, Search Console will show a soft 404 error.」 (翻訳)「コンテンツがGoogle検索にエラー、空ページ、エラーメッセージを示唆する場合、Search Consoleはソフトエラーを表示します。」ここで重要なのは、分類がHTTPコードではなくレンダリングされたコンテンツに基づくことです。Googleのインデックス登録パイプラインは200の先にある実際のページを見て、「見つからない」ように読めば実際の404と同じように分類・報告します。

実際に確認すべきケースは、ページが空テンプレートになった販売終了商品、200のシェルを返し続ける削除済み記事、0件で「nothing here」と表示する絞り込みカテゴリや検索結果です。どれも技術的には正しい200を返しながら、ユーザーにもGoogleにも見るものがないと伝えます。

このサイトにはソフト404の検出方法と修正方法を扱う専用記事があります。ここでは繰り返しません。200の議論での要点は、実際に消えたページへ200を返すとソフト404の設定になることです。修正はコードを現実に合わせることです。

転送の成功はアプリケーションの成功ではない

APIや監視の分野で出てくるため、範囲を限定して補足します。**HTTP層とアプリケーション層は食い違うことがあります。**APIエンドポイントは本文にJSONエラーオブジェクトを入れたまま200を返せます。ページも、バックエンド依存先が黙って失敗し、本来のコンテンツの代わりに壊れたブロックを描画したまま200を返せます。ステータス行が言っているのは「正常に届けた」ということだけです。ペイロードが実際に正しいかは別の問いで、ステータスコードだけでは答えられません。APIがエラーを200以外で示すべきか、エラーペイロードを包んだ200で示すべきかについて実務者の意見は分かれています。これは各チームが選ぶ契約であり、HTTPのルールではありません。このサイトのSEOという目的では、同じ問題のページ版が上のソフト404です。ステータス行だけを信用せず、本文に何が含まれるかを見るという修正方針も同じです。

200と204と304を混同しない

人々が混同する3つのコードのうち、「ページはこちら」という成功を示すのは1つだけです。

コードクラス本文意味SEOでの扱い
200 OK2xx実体のあるコンテンツを期待成功 — リソースはこちらインデックス登録の対象(保証ではない)
204 No Content2xx意図的に空成功、本文なしページURLではソフト404扱い — 204-no-contentを参照
304 Not Modified3xxなし「キャッシュ済みコピーを使う」(条件付きリクエスト)キャッシュのシグナルであり、インデックス登録の判断ではない

204は本当の成功コードですが、本文が空なのでクローラーには登録するものがありません。そのためページURLではソフト404の分類になります(別記事で扱う話です。空本文のケースを通常の200と混同しないでください)。304は同じファミリーですらありません。If-None-Match / If-Modified-Sinceによる条件付きリクエストに応答し、キャッシュ済みコピーがまだ最新だとクライアントに伝えます。本文を持たず、登録すべきかどうかも示しません。重複した200ではなく、クロール効率化の仕組みです。「200と304は同じ考え方では?」というよくある疑問は、キャッシュ最適化と成功レスポンスを混同しています。

Googlebotが実際に見るものを確認する

競合記事のほとんどが省く大きな差があります。**同じURLでも、リクエスト元によって違うコードを受け取ることがあります。**ブラウザーにはきれいな200が見えても、Googlebotには別のものが返る場合があります。意図的なケースはスパムポリシー違反のクローキングで、より多いのはWAFやボットブロック、地域IPターゲティング、CDNエッジロジック、ボットに対して誤作動するA/Bテスト設定による偶発的な差です。

「ブラウザーでは200だった」は「Googleも200を見ている」という証明ではありません。正しい診断は、Googlebot自身が受け取ったものを確認することです。

  • GSC URL Inspection — Live Testを実行し、あなたのマシンではなくGoogleが取得するステータスとレンダリング済みコンテンツを確認します。
  • サーバー/CDNログ — 各ユーザーエージェントが実際に受け取ったコードの根拠です。

端末の単純なcurl -Iも役立ちますが、Googlebotとは異なるエッジルールに当たる可能性がある、もう1つのリクエスト元にすぎません。最終結論ではなくデータポイントとして扱ってください。

成功レスポンスを確認・監視する方法

  • ブラウザーDevTools — Networkタブを開いて再読み込みし、documentリクエストをクリックしてStatus列を読みます。
  • コマンドライン — 1回のリクエストのヘッダーには curl -I https://example.com/page を使い、リダイレクトチェーンの追跡には curl -IL を使います。
  • Google Search Console — URL Inspectionがクロール時のステータスを報告し、Live Testを実行できます。
  • Bing Webmaster Tools — URL InspectionはBingbotが受け取ったものを確認するBing側の方法です(Googleのように「ステータスコードがインデックス登録へ与える影響」をまとめた専用Bing文書はありません。存在しない方針を作るより、そう明記するほうがよいでしょう)。
  • クローラー — Screaming FrogとAhrefs Site Auditはサイト全体のステータスコードをまとめて示します。無料のAhrefs SEO Toolbarは現在見ているページのコードを表示します。

「健全」とは、重要なcanonical URLが実体のあるコンテンツとともに一貫して200を返し、消えるべきまたは移動したページが誤解を招く200ではなく404/410または301を返す状態です。

1行での判断

コードを現実に合わせます。インデックスに必要 → 実体のあるコンテンツを伴う200。 完全に消えた → 404または410(404-not-foundを参照)。移動した → 301。別URLとの重複 → 200を維持し、優先版へcanonicalタグを付けます。200は本当に存在する価値のあるページへの青信号であり、それ以上でもそれ以下でもありません。

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.