メインコンテンツへスキップ
ブログ一覧に戻る
SEO・マーケティング

HTTPステータスコードとは?301・302・404・410の使い分けを判断軸で整理する

2026年8月29日
12分で読めます
HTTPステータスコードとは?301・302・404・410の使い分けを判断軸で整理する

この記事の結論

リニューアルや記事整理のとき、このURLはリダイレクトすべきか消すべきか。301と302、404と410の違いを 「SEO評価を引き継ぐかどうか」で覚えると判断を誤ります。Google公式ドキュメントとIANAの登録簿を出典に、 ステータスコードが本来何を宣言しているのかと、迷ったときの決め方を整理します。

HTTPステータスコードとは?301・302・404・410の使い分けを判断軸で整理する

サイトのリニューアル、古い記事の整理、メンテナンス作業。こうした場面で必ず出てくるのが「このURLはどう処理すべきか」という問いです。転送するのか、消すのか。消すなら404か410か。転送するなら301か302か。

調べると「301は恒久的な移転でSEO評価を引き継ぐ、302は一時的な移転で引き継がない」という説明がすぐ見つかります。多くの現場で、この理解のまま判断が行われています。

ただ、この覚え方は公式ドキュメントの記述そのものではありません。 そして、ここがずれていると、判断に迷ったときの拠り所を失います。この記事では、Googleのクローラー向け公式ドキュメントとIANAの登録簿を出典に、ステータスコードが本来何を宣言しているものなのかを整理します。

出典はGoogle検索セントラルのHTTPステータスコード解説(最終更新2026年2月4日UTC)とIANA HTTP Status Code Registry(Last Updated 2025-09-15)です。

なお、robots.txt によるクローラー制御そのものについてはrobots.txtとは?「クローラーを止めるファイル」という誤解が招く公開事故で扱っています。この記事はURL単位の応答コードをどう選ぶかに絞ります。

30秒で要点

  • Google公式ドキュメントは301を「強いシグナル(strong signal)として扱う」、302を「弱いシグナル(weak signal)として扱う」と表現している。「評価を引き継ぐ/引き継がない」という二値の説明はしていない
  • 429を除くすべての4xxエラーは、Googleのクロール処理上は同じ扱いになる。404と410はこの観点では区別されない
  • クロール率を制限する目的で401・403を使うことは、同ドキュメントで明示的に禁止されている
  • 5xxと429はクローラーの速度を一時的に落とさせる。インデックス済みURLは保持されるが、最終的には脱落する
  • 307は302と、308は301と扱いは同等だが、同ドキュメントは「意味的には異なる」と付け加えている

用語意味
HTTPステータスコードサーバーがブラウザやクローラーに返す3桁の数字。「このリクエストをどう処理したか」を伝える
クローラー検索エンジンがWebページを収集して回るプログラム
インデックス検索エンジンがページを検索結果に出せる状態で保持していること
シグナル検索エンジンがランキングや正規URLの判断に使う手がかりのこと
SEO検索エンジン最適化。検索結果で見つけてもらいやすくするための調整全般

公式ドキュメントが実際に書いていること

まず、301と302について公式ドキュメントがどう表現しているかを確認します。

301については「Google systems use the redirect as a strong signal」——Googleのシステムはそのリダイレクトを強いシグナルとして使う、と書かれています。302については「Google's crawlers follow the redirect, and Google systems use the redirect as a weak signal」——クローラーはリダイレクトをたどり、システムはそれを弱いシグナルとして使う、です。

ここにあるのは強い・弱いという程度の差であり、引き継ぐ・引き継がないという断絶ではありません。「SEO評価を引き継ぐ」という表現は、この strong signal を実務的に言い換えたものとして広まったと考えられますが、公式文書にその言い換えが明記されているわけではないという点は、区別しておく価値があります。

もうひとつ、名称についても確認しておきます。IANAの登録簿では、302の公式名称は「Found」です。日本語の解説で見かける「Moved Temporarily」は、現在の登録簿上の正式名称ではありません。308も「Permanent Redirect」であり、301の「Moved Permanently」とは別の表記になっています。

なぜ「引き継ぐ/引き継がない」で覚えてしまうのか

この覚え方が広まるのには理由があります。実務で判断する人が本当に知りたいのは「で、検索順位はどうなるのか」だからです。strong signal / weak signal という表現は、その問いに直接は答えてくれません。答えの出ない説明より、二択で言い切ってくれる説明のほうが、その場では使いやすい。

もうひとつは、ステータスコードが数字であることです。数字は仕様の話に見えるため、「正解が1つ決まっているはずだ」という期待を呼びます。実際には、301を返すか302を返すかは、サーバーの設定という以前に、そのURLの今後をどう扱うつもりなのかという運営側の意思決定です。決めるべきことが自分の側にあるとき、外部の仕様表に答えを探しに行くと、いつまでも決まりません。

覚え方がずれていることの実害は、迷ったときに現れます。「一時的か恒久的か分からないから、とりあえず302にしておこう」という判断は、二分法の理解のもとでは安全側に見えます。しかし公式の表現に沿って読むなら、302は「弱いシグナルを送り続ける」選択であり、判断の先送りがそのままシグナルの弱さとして残ります。

消すときの404と410は、どう違うのか

削除したページの処理でよく議論になるのが404と410です。410は「意図的に恒久削除した」という意味を持つため、404より明確な合図になる——という説明を見かけます。

Googleのクロール処理という観点に限れば、この違いは結果に影響しません。同ドキュメントには「All 4xx errors, except 429, are treated the same」——429を除くすべての4xxエラーは同じように扱われる、と明記されています。404で返しても410で返しても、Googleの処理は変わらないということです。

ただし、この記述が保証しているのはGoogleの処理についてだけです。他の検索エンジンやクローラーが同じ扱いをするかどうかは、この情報源からは分かりません。また、そのURLにアクセスした人間にとっても、そして数か月後に自分でログを見返す自分にとっても、404と410は違う情報を持ちます。「Googleは区別しない」ことと「区別する意味がない」ことは、同じではありません。

同じ4xxの中で、明確に禁止されている使い方もあります。同ドキュメントは「Don't use 401 and 403 status codes for limiting the crawl rate」——クロール率を制限する目的で401と403を使ってはならない、と書いています。クローラーのアクセスが多くて負荷が高いという理由で認証エラーを返すのは、想定された使い方ではないということです。

落としたいときに使うのは5xxと429

ではクロール頻度を落としたい場合はどうするか。同ドキュメントによれば、5xxおよび429がクローラーの速度を一時的に落とさせる挙動を持ちます。

ここで押さえておきたいのが、その先の記述です。5xxや429を返している間、すでにインデックスされているURLは保持されるが、最終的には脱落するとされています。つまり5xxは「一時的に待ってもらう」ためのコードであり、状態が続けば結果は削除と同じ方向に向かいます。

メンテナンス中に503を返すという運用はよく知られていますが、これが安全なのは「復旧する見込みがあり、その期間が限定されている」という前提の上でです。復旧の予定が立たないまま返し続けるのは、想定された使い方から外れていきます。

307と308は「扱いが同じ」だが「意味は違う」

307と308についても、同ドキュメントは明快です。307は302と、308は301と Equivalent(同等)に扱われる、と書かれています。

注目したいのはその直後の一文です。「keep in mind that they're semantically different」——意味的には異なることに留意せよ、と付け加えられています。扱いが同じであることと、意味が同じであることは別だと、わざわざ書き足されているわけです。

これは、この記事全体の論点をそのまま示している一文でもあります。クローラーがどう処理するかという観点で見れば同じでも、そのコードが何を宣言しているかという観点では違う。どちらの観点で判断しているのかを自覚しないまま「同じだから、どちらでもいい」と扱うと、後から読み解けない設定が残ります。

確かなことと、まだ確かではないこと

確かなこと:Google公式ドキュメントが301をstrong signal、302をweak signalと表現していること。429を除く4xxがGoogleのクロール処理上は同一に扱われること。クロール率の制限に401・403を使うことが禁止されていること。5xxと429がクロール速度を落とし、インデックス済みURLが最終的には脱落すること。307=302、308=301の扱いが同等でありながら意味は異なると明記されていること。IANA登録簿上の302の正式名称が「Found」であること。

まだ確かではないこと:strong signal / weak signal という表現が、実務で言うところの「SEO評価の引き継ぎ」とどこまで同義なのかは、公式文書に明記がありません。この記事でも、そこは公式の記述と記事側の解釈を分けて書いています。また、4xxの扱いが同一だという記述はGoogleについてのものであり、他のクローラーの挙動を保証するものではありません。各コードの規格上の定義そのもの(RFC 9110の条文)については、本記事では原典を確認できていないため引用していません。

判断に迷ったときの決め方

ここまでの整理から、判断軸を1つ提案します。

「どのコードが正しいか」ではなく、「このURLの今後を自分はどう決めたのか」を先に言葉にすること。

ステータスコードは、仕様表から選ぶ答えではなく、決めたことを機械が読める形で宣言する手段です。順序が逆になっていると——先にコードを選ぼうとすると——決まらないまま302や404がとりあえずの選択として積み上がっていきます。

言葉にする順序は、次のようになります。

  1. このURLに、行き先はあるか — ある(統合先・後継ページがある)なら転送、ないなら削除の系統
  2. 転送するなら、それは戻す予定があるか — 戻さないなら301、戻す予定が具体的にあるなら302
  3. 削除するなら、いつか復活させる可能性はあるか — Googleの処理は同じでも、記録として意味が違う。復活の可能性がないなら410で、意図を残す
  4. 止めているだけなら、いつ復旧するか言えるか — 言えるなら5xx(503)、言えないならそれは「止めている」ではなく「終わらせた」に近い

このうち最も重要なのは4つ目です。「復旧の日付を言えないまま503を返し続けている」という状態は、判断が済んでいないことをサーバーに肩代わりさせている状態だからです。

自分でも試せる、最小の検証

いま運用しているサイトで、直近1年以内にリダイレクト設定を追加したURLを3つ選んでください。それぞれについて、なぜそのコードにしたのかを、当時の判断として1行で書けるかを試します。

「元の担当者の設定を引き継いだ」「よく分からないので302にした」としか書けないURLがあれば、そこは仕様の問題ではなく判断が保留されたまま残っている箇所です。まずその1本について、行き先があるのか・戻す予定があるのかを決めるところから始めると、コードは後から自然に決まります。


この記事で扱ったような判断を、自社のサイト構成に照らして整理したい場合は、無料診断ツールで状況を言語化するところから始めることができます。

状況を整理する(15分)

よくある質問(FAQ)

この記事の関連リンク

💡 判断軸として

First byte Method 完全ガイド

AI×心理学×統計学で判断の質を高める実践的手法