302リダイレクトとは?301との違いとSEOへの影響、設定方法まで解説

302リダイレクト Webサイト構築

「リダイレクトを設定したいけれど、301と302のどちらを使えばいいのか分からない」「以前301のつもりで設定した302リダイレクトを放置していて、SEOに悪影響が出ていないか不安」——サイト運用に関わっていると、こうした疑問に一度はぶつかるものです。リダイレクトは種類を1つ間違えるだけで検索順位に影響しかねないため、Web担当者にとっては地味ながら重要なテーマです。

この記事では、302リダイレクトの定義から301リダイレクトとの違い、SEOへの影響、具体的な設定方法(.htaccess・PHP・WordPressプラグイン)、そして正常に動作しない場合のトラブル対処まで、実務で必要な知識を一通り整理します。技術的な内容も含みますが、専門外の担当者でも判断できるよう、できるだけ平易に解説していきます。

302リダイレクトとは

302リダイレクトとは、アクセスされたURLを別のURLへ「一時的に」転送するための仕組みです。「今はこちらのページを見せますが、元のURLは今後も使い続けます」という状態を表します。

HTTPステータスコードにおける位置づけ

Webサーバーは、ブラウザからのリクエストに対して必ず「HTTPステータスコード」と呼ばれる3桁の数字を返しています。正常にページを表示できたときの「200 OK」や、ページが存在しないときの「404 Not Found」は目にしたことがある方も多いでしょう。

このうち300番台(3xx)は「リダイレクト(転送)」を意味するグループです。302はこの3xxに属し、正式名称は 「302 Found」 です。かつては「Moved Temporarily(一時的に移動)」と呼ばれていましたが、現在の仕様では「Found」という名称が使われています。

主なリダイレクト系ステータスコードは次の通りです。

コード 名称 意味 転送の性質
301 Moved Permanently 恒久的に移動した 永久
302 Found 一時的に別の場所にある 一時的
303 See Other 別のURLをGETで参照 一時的
307 Temporary Redirect 一時的リダイレクト(メソッド保持) 一時的
308 Permanent Redirect 恒久的リダイレクト(メソッド保持) 永久

302は、これらの中でも「一時的な転送」を表す最も基本的なコードという位置づけです。

「一時的な転送」を示す仕組み

302リダイレクトが返されると、サーバーはレスポンスヘッダーの中に 「Location」 というフィールドを含め、そこに転送先のURLを記載します。ブラウザはこのLocationヘッダーを読み取り、自動的に転送先のページへアクセスし直します。ユーザーから見れば、元のURLを開いたつもりが、意識しないうちに別のページが表示される、という動きになります。

ここで重要なのが「一時的」というシグナルの意味です。MDN(Mozillaの技術ドキュメント)でも、302は「リソースが一時的に別のURLにあるが、元のURLは今後も使い続けるべきである」ことを示すと説明されています。つまり302は、検索エンジンやブラウザに対して「元のURLをこれからも正規のURLとして扱ってください」と伝えるコードなのです。

この「元のURLを残す」という性質が、後述するSEOへの影響や301との使い分けに直結します。

301リダイレクトとの違い

302とよく比較されるのが301リダイレクトです。両者は「URLを転送する」という動作こそ同じですが、検索エンジンに伝えるメッセージが正反対と言ってよいほど異なります。

恒久的な転送(301)と一時的な転送(302)

最大の違いは、転送が 「恒久的か、一時的か」 という点です。

  • 301(Moved Permanently):ページが「恒久的に」新しいURLへ移動したことを示します。「元のURLはもう使いません。今後は新しいURLを正規のものとして扱ってください」というシグナルです。
  • 302(Found):ページが「一時的に」別のURLで表示されているだけであることを示します。「元のURLはこれからも使うので、正規のURLとして残しておいてください」というシグナルです。

両者の違いを整理すると次のようになります。

比較項目 301リダイレクト 302リダイレクト
転送の性質 恒久的(永久) 一時的
検索結果に表示されるURL 転送先(新URL) 原則として元URL
主な用途 サイト移転、URL統合、HTTPS化 メンテナンス、キャンペーン、A/Bテスト
ブラウザのキャッシュ 強くキャッシュされやすい キャッシュされにくい

301は転送先のURLを検索結果に表示させ、評価も転送先へ寄せていくのに対し、302は元のURLを検索結果に残そうとする、という違いがポイントです。

使い分けの判断基準

どちらを使うべきか迷ったときは、シンプルに次の問いで判断できます。

「元のURLを、今後もう使わないか?」

  • 今後もう使わない(完全に引っ越す)→ 301
  • あとで元に戻す予定がある(一時的な差し替え)→ 302

たとえば「サイトを新ドメインへ完全移転する」「www有り・無しやHTTP・HTTPSを一本化する」といった、元に戻すことのないケースは301が適切です。一方、「数日間のメンテナンス」「期間限定キャンペーン」「一時的な在庫切れ」など、元のページに戻す前提のケースは302が適しています。

なお、Googleの公式ドキュメントでも、検索結果に表示するURLを変更したい場合は可能な限り恒久的なサーバーサイドリダイレクト(301)を推奨しています。裏を返せば、「元のURLを検索結果に残したい」明確な理由があるときにこそ302を使う、という考え方になります。

302リダイレクトのSEOへの影響

302リダイレクトを扱う上で最も気になるのが、SEOへの影響でしょう。「302だと評価が引き継がれず順位が下がる」といった話を聞いたことがあるかもしれません。ここは正確に理解しておく必要があります。

リンクジュース(評価)の引き継ぎについて

まず、Googleは「301も302もリダイレクト自体によってPageRank(ページの評価)が失われることはない」と説明しています。この点では、302を使ったからといって評価が「消える」わけではありません。

一方で、評価をどのURLに集約するかという扱いは301と302で異なります。

  • 301:転送先の新URLへ評価を集約し、検索結果にも新URLを表示しようとします。
  • 302:あくまで「一時的」と解釈するため、原則として元URLをインデックスに残し、評価も元URLに紐づけたままにしようとします。

つまり、恒久的にサイトを移転したのに302を使ってしまうと、「新URLに評価を集めたいのに、Googleは元URLを正規と見なし続ける」というちぐはぐな状態になりかねません。恒久移転で301を使うべきなのは、この評価集約の観点からも理にかなっています。

302を長期間放置するリスク

ここで押さえておきたいのが、Googleの近年の挙動です。Googleは、302リダイレクトが長期間そのまま残っている場合、それを301(恒久的)と同等に扱う可能性があることを認めています。

背景には、「本来301を使うべき場面で誤って302を設定してしまう」ケースが実務上とても多い、という事情があります。そのためGoogleは、リダイレクトを個別に評価し、「この管理者はおそらく恒久移転(301)を意図していた」と判断すれば、転送先をインデックスして評価を集約する、という柔軟な処理を行うとされています。

とはいえ、この「302を301として扱ってくれる」挙動はあくまでGoogle側の推測に依存する保証のない動きです。いつ、どのタイミングでそう判断されるかはコントロールできません。したがって実務上は、次のように考えるのが安全です。

  • 恒久移転なら最初から明示的に301を使う(302の放置に頼らない)
  • 302はあくまで「一時的な用途」に限定し、役目を終えたら速やかに解除するか301へ切り替える
  • 長期間の302放置は、意図と検索エンジンの解釈がずれる原因になるため避ける

「302だから評価が飛ぶ」という単純な話ではなく、「用途と実態を一致させることが最も重要」と理解しておきましょう。

302リダイレクトを使うべきシーン

302リダイレクトが真価を発揮するのは、「元のURLを検索結果に残したまま、今だけ別のページを見せたい」場面です。代表的なケースを見ていきます。

サイトメンテナンス中の一時転送

サーバーメンテナンスやシステム更新で一時的にページを表示できないとき、メンテナンス告知ページへ302で転送するのは典型的な使い方です。恒久移転ではないため、元のURLを検索結果に残したまま「今は使えません」と案内できます。Googleの公式ドキュメントでも、サービスが一時的に利用できない状況の例として、元URLを損なわずに説明ページへ一時転送する用途が挙げられています。

キャンペーン・期間限定ページへの誘導

セールや期間限定の特設ページへ一時的に誘導したい場合も302が向いています。キャンペーン終了後は元のページに戻す前提のため、元URLの評価を維持できる302が適切です。

A/Bテストを行う場合

デザインや導線を検証するA/Bテストで、一部のユーザーを別バージョンのページへ振り分ける際にも302が使われます。テストは恒久的な変更ではなく、あくまで一時的な出し分けだからです。恒久扱いの301を使うと、検証用ページが正規URLとして評価されてしまう恐れがあります。

在庫切れ商品ページの転送

ECサイトで、一時的に在庫切れとなった商品ページを関連商品やカテゴリページへ誘導するケースも302が適します。商品が再入荷すれば元のページを復活させるため、元URLを残せる302が合理的です。ここで301を使ってしまうと、再入荷後に元URLの評価が戻りにくくなる可能性があります。

スマホ/PCで表示URLを分ける場合

デバイスによって表示するURLを出し分けている構成で、一時的な振り分けを行う際にも302が用いられることがあります。ただし現在はレスポンシブデザインが主流であり、URLを分ける構成自体が減っている点は補足しておきます。

これらに共通するのは、「あとで元の状態に戻す」前提があるという点です。この前提があるかどうかが、302を選ぶかの判断軸になります。

302リダイレクトの設定方法

ここからは、実際に302リダイレクトを設定する方法を、代表的な3つの手段に分けて紹介します。サーバー環境によって使える方法が異なるため、自社の環境に合わせて選んでください。

設定方法 難易度 向いているケース
.htaccess Apacheサーバーで細かく制御したい場合
PHP プログラム側で条件分岐して転送したい場合
WordPressプラグイン コードを触らず管理画面で設定したい場合

.htaccessでの設定

Apacheサーバーを利用している場合、サイトのルートディレクトリにある .htaccess ファイルで302リダイレクトを設定できます。もっともシンプルな書き方は次の通りです。

Redirect 302 /old-page.html https://example.com/new-page.html

これは「/old-page.html へのアクセスを、302で new-page.html へ転送する」という記述です。特定のパターンにまとめて適用したい場合は、mod_rewriteを使います。

RewriteEngine On
RewriteRule ^old-directory/(.*)$ /new-page [R=302,L]

[R=302,L]R=302 が「302でリダイレクトする」指定、L は「このルールで処理を終える」指定です。.htaccess は記述ミスがサイト全体の表示不能につながることがあるため、編集前に必ずバックアップを取り、反映後に動作を確認してください。

PHPでの設定

プログラム側で条件に応じて転送したい場合は、PHPで302リダイレクトを実装できます。PHPの header() 関数はデフォルトで302を返すため、次のように書くだけで302リダイレクトになります。

<?php
header("Location: https://example.com/new-page.php");
exit();
?>

ステータスコードを明示したい場合は、次のように書きます。

<?php
header("HTTP/1.1 302 Found");
header("Location: https://example.com/new-page.php");
exit();
?>

注意点として、header()HTMLなど何らかの出力が始まる前に呼び出す必要があります。1文字でも先に出力があるとエラーになるため、ファイルの先頭に記述してください。また、転送後に処理を続けないよう、必ず exit() で止めるのが安全です。

WordPressプラグインでの設定

WordPressを使っている場合、コードを一切書かずに管理画面から302リダイレクトを設定できます。代表的なプラグインは以下の通りです。

  • Redirection:無料で使える定番プラグイン。301・302・303・307・308など幅広いステータスコードに対応し、404エラーの記録機能も備えています。
  • Rank Math:SEOプラグインの機能の一部としてリダイレクト管理を提供。301・302・307・410・451に対応しています。

たとえばRank Mathの場合、管理画面の「Rank Math SEO → Redirections」から「Add New」で新規ルールを作成し、転送元URL(Source URL)と転送先URL(Destination URL)を入力、リダイレクトタイプで 「302 Temporary Move」 を選ぶだけで設定完了です。サーバーファイルを直接編集しないため、非エンジニアの担当者でも扱いやすいのが利点です。

302リダイレクトが正常に動作しない・エラーが出る場合の原因と対処

設定したはずのリダイレクトが効かない、あるいはエラーが表示される——こうしたトラブルには、いくつかの典型的な原因があります。順に確認していきましょう。

リダイレクト先URLの記述・設定ミス

最も多いのが、単純な記述ミスです。転送先URLのスペルミス、httpshttp の取り違え、末尾スラッシュの有無、相対パスと絶対パスの混同などが原因で、正しく転送されなかったり、存在しないページ(404)へ飛んでしまったりします。

対処としては、転送元・転送先のURLを1文字ずつ確認し、実際にブラウザで転送先URLが正常に開けるかをチェックします。ブラウザの開発者ツールの「ネットワーク」タブや、オンラインのリダイレクトチェックツールを使えば、実際に302が返っているかを確認できます。

プラグインの設定不備

WordPressプラグインで設定している場合、ルールの優先順位や、複数プラグインの競合が原因になることがあります。たとえばSEOプラグインとリダイレクト専用プラグインの両方でルールを設定していると、意図しない挙動になることがあります。

対処としては、リダイレクト管理を1つのプラグインに集約する、ルールの適用順を見直す、不要なルールを削除する、といった整理が有効です。設定変更後はキャッシュをクリアして再確認しましょう。

ブラウザ/サーバー側のキャッシュ

「設定を直したのに古い転送先に飛ぶ」場合、キャッシュが原因のことがあります。とくに、過去に301(恒久)で設定していた履歴があると、ブラウザが301を強くキャッシュしているため、302に変えても古い転送が残ることがあります。

対処としては、ブラウザのキャッシュクリアやシークレットモードでの確認、サーバー側・CDN側のキャッシュクリアを行います。302はもともとキャッシュされにくい設計ですが、間にキャッシュ層(CDNやサーバーキャッシュ)がある場合は、そちらのクリアも忘れずに行ってください。

設定時の注意点

最後に、302リダイレクトを設定する際に押さえておきたい注意点を2つ紹介します。

301を使うべきケースとの混同に注意

繰り返しになりますが、302は「一時的」なリダイレクトです。サイト移転やURL統合、HTTPS化といった恒久的な変更に302を使ってしまうと、評価が新URLに集約されにくく、意図と検索エンジンの解釈がずれる原因になります。

「元に戻す予定があるか?」を毎回確認し、戻す予定がなければ301、戻す予定があれば302、という原則を徹底しましょう。Googleが長期放置の302を301扱いする可能性はあるものの、それに頼るのではなく、最初から正しいコードを選ぶことが重要です。

不正なリダイレクトループを避ける

設定ミスによって、AページからBページ、BページからAページへと転送が延々と続く「リダイレクトループ」が発生することがあります。ループに陥るとページが表示できず、ユーザーにも検索エンジンにも悪影響を与えます。

また、Googlebotがたどれるリダイレクトの回数には上限(おおよそ10回程度)があり、転送を何段も連鎖させる「リダイレクトチェーン」もクロールの無駄につながります。転送はできるだけ最終的なURLへ一段で飛ばすよう設計し、設定後は必ずループやチェーンが発生していないかを確認してください。

まとめ

302リダイレクトは、URLを一時的に別のページへ転送するためのHTTPステータスコード(302 Found)です。恒久移転を示す301とは役割が明確に分かれており、使い分けの判断軸は「元のURLを今後も使うかどうか」の一点に集約されます。

  • 301:恒久移転。評価を新URLへ集約し、検索結果にも新URLを表示
  • 302:一時転送。元URLを検索結果に残し、メンテナンス・キャンペーン・A/Bテスト・在庫切れなどに活用

SEOの観点では、302そのもので評価が消えるわけではありませんが、恒久移転に302を使うと意図と実態がずれます。Googleが長期放置の302を301扱いする可能性はあっても、それに依存せず、用途に合ったコードを最初から選ぶことが最も安全です。設定は.htaccess・PHP・WordPressプラグインのいずれでも可能なので、自社の環境に合った方法を選び、設定後は必ず動作確認を行いましょう。

リダイレクトの選定は、サイト全体のSEO設計やコンテンツ戦略と切り離せないテーマです。適切なリダイレクト運用が、検索エンジンとユーザー双方にとって使いやすいサイトづくりの土台になります。

タイトルとURLをコピーしました