302 リダイレクトは、「この URL は一時的に別の場所にあります」とブラウザに伝える HTTP ステータスコードです。元の URL が将来的に復活する可能性がある場合や、クリック計測を正確に行いたい場合に使用します。
302 と 301 の実務上の最大の違いは、ブラウザのキャッシュ動作です。 301 はブラウザがリダイレクト先を記憶し、次回から直接アクセスしますが、 302 は毎回サーバーに問い合わせます。この性質は短縮 URL サービスの設計に直接影響します。クリックのたびにサーバーを経由させたい場合は 302 を選ぶことで、クリック数、アクセス元、デバイス種別などのデータを取りこぼしにくくなり、リンク先を後から差し替えたときも次のアクセスから反映されます。
SEO の観点では、 302 は検索エンジンに「元の URL を引き続きインデックスしてほしい」というシグナルを送ります。そのため、恒久的な URL 移転に 302 を使い続けると、新 URL がいつまでもインデックスされない問題が発生します。 Google のリダイレクトに関する公式ドキュメントは、一時的なリダイレクトについて、検索結果には元のページを表示し、リダイレクト先を正規 URL とみなす手がかりとしては扱わないと説明しています (2026 年 8 月時点)。恒久的な移転では 301 や 308 を使う方が確実です。
| 観点 | 301 リダイレクト | 302 リダイレクト |
|---|---|---|
| ブラウザに伝える意味 | この URL は恒久的に移った | この URL は一時的に別の場所にある |
| ブラウザのキャッシュ | リダイレクト先を記憶し、次回から直接アクセスする | 記憶せず、毎回サーバーに問い合わせる |
| クリックの計測 | 2 回目以降はサーバーを経由しない | 毎回サーバーを経由し、クリック数やアクセス元、デバイス種別を漏れなく取得できる |
| 検索エンジンへのシグナル | 新しい URL をインデックスしてほしい | 元の URL を引き続きインデックスしてほしい |
| 向いている用途 | 恒久的な URL 移転 | クリックを毎回計測したい短縮 URL や、リンク先を後から差し替える可能性がある場合 |
HTTP/1.1 の仕様上、 302 にはリクエストメソッドの変更に関する曖昧さがありました。 POST リクエストを 302 でリダイレクトすると、ブラウザによっては GET に変換してしまう問題です。この曖昧さを解消するために、 307 リダイレクト (メソッドを保持する一時的リダイレクト) が後に定義されました。