サイトのリニューアルやドメイン変更、SSL化を行う際に必ず登場するのが「301リダイレクト」と「302リダイレクト」です。しかし、この2つのHTTPステータスコードは見た目こそ似ているものの、検索エンジンへの伝え方やSEO評価の引き継ぎに決定的な違いがあります。誤った使い分けをすると、せっかく積み上げた検索順位や被リンク評価を失う原因にもなりかねません。
本記事では、301と302リダイレクトの本質的な違いから、.htaccessを使った具体的な設定方法、コピペでそのまま使えるコード例、設定後の確認方法、よくあるミスと対処法までを2026年最新の情報で徹底解説します。Web担当者・SEO担当者・エンジニアの方が1記事で完結できるよう、実務で必要な知識を網羅しました。
301と302リダイレクトの基本的な違い
まずは2つのリダイレクトが「何を意味するのか」という基礎を押さえましょう。
同じ転送処理でも、検索エンジンとブラウザに伝えるメッセージがまったく異なります。
301は「恒久的な転送」を意味する
301リダイレクトは「恒久的な転送」を意味するHTTPステータスコードで、主にWebサイトのリニューアルによるURLの変更や、ドメイン移管などの際に利用されます。
新しいURLに引っ越したあとも、301リダイレクトを設定しておけば以前のURLを訪れたユーザーが自動的に移転後のページにたどり着けます。
検索エンジンはこの指示を受けると、旧URLではなく新URLを正規のページとしてインデックスに登録します。
ページの評価(リンクジュース)も基本的には新URLに引き継がれるため、SEO効果を維持したままURLの変更が可能です。
302は「一時的な転送」を意味する
一方の302リダイレクトは「一時的にこちらのURLを参照してください」という意味を持ちます。
検索エンジンは旧URLを正規とみなし、新URLをインデックスに登録しないケースが一般的です。
評価の引き継ぎが発生しないため、SEO目的でのURL変更には不向きですが、一時的なキャンペーンやメンテナンス中の代替ページへの転送などには有効です。
SEO評価の引き継ぎ方が決定的に異なる
SEOの観点で最も重要な違いは「評価の引き継ぎ」です。
301リダイレクトは「元のURLの評価を新しいURLに完全に引き継ぐ」一方、302リダイレクトは「元のURLの評価は移行させない」という形になります。
検索エンジンは302リダイレクトを「一時的なものだから、元のURLの情報を覚えておこう」と判断し、SEO評価は元のページに帰属したままになります。

SEOへの影響と最新のGoogle見解
GoogleはPageRank減衰なしと明言
かつては「302リダイレクトを使うとPageRankが失われる」と言われていましたが、現在のGoogleの公式見解は異なります。
Googleは「301も302もPageRankが減衰しない」と公式に発表しています。
ただし、302は正規化に時間がかかるため、短期以外では301を使うべきです。
Googleは301リダイレクトと302リダイレクトを技術的に区別して扱わないとしています。
つまり、リンク評価そのものは両者で減衰しないものの、どちらのURLを「正規」として扱うかという点で大きな差が生まれるのです。
インデックス速度に表れる違い
301リダイレクトは恒久的な移転と明確に伝えるため、検索エンジンは元のURLを新しいURLで置き換えようとします。
その結果、新しいURLが比較的早くインデックスされます。
特に、被リンクが多いページやクロール頻度が高いページであれば、数日から数週間で新URLがインデックスされることもあります。
対して302リダイレクトは一時的な移転とみなされるため、検索エンジンは「元のURLが今後戻るかもしれない」と判断し、リダイレクト先のURLをなかなかインデックスしません。
そのため、新URLが検索結果に表示されるまでの期間が長くなったり、場合によっては全くインデックスされないこともあります。
302を長期間放置すると301扱いになる
302リダイレクトを長期間使い続けると、Googleが自動的に301と同等の扱いに切り替える可能性があります。
これは便利な機能のようにも見えますが、本来は短期で戻す予定だったページのSEO評価が意図せず移動してしまう危険性を含んでいます。
John Mueller氏も「数日〜数ヶ月でもリンク状況次第で恒久扱いになる」と述べています。
タイミングはGoogle側の判断であり、運営者がコントロールできるものではないため、最初から目的に合ったコードを選ぶことが鉄則です。
301と302の使い分け実例
301リダイレクトを使うべき場面
以下のケースでは必ず301リダイレクトを使用しましょう。
- ドメイン変更(example.com → newexample.com)
- サイトリニューアルに伴うURL構造の変更
- SSL化(http → https)
- wwwあり・なしのURL正規化
- 末尾スラッシュの有無の統一
- 不要になった重複ページの統合
サイトのリニューアルなどの理由でドメインを変更する際は、301リダイレクトを使うと、同じサイトであることを検索エンジンに伝えられます。
またSSL化を行った際もURLが変更されるため、301リダイレクトが必須です。
301リダイレクトではSEO評価を引き継げるため、自然検索からの流入を維持したい場合に使用しましょう。
302リダイレクトが適した場面
302リダイレクトは「いずれ元のURLに戻す」前提のケースで使用します。
- サイトメンテナンス時の一時的な案内ページへの転送
- 短期キャンペーン・セールの特設ページへの誘導
- A/Bテストにおけるページの振り分け
- 地域やデバイスによるコンテンツ出し分け
- ECサイトでの一時的な在庫切れ対応
A/Bテストを実施する際は、必ず302リダイレクトを使用しましょう。
302リダイレクトでは元のURLのインデックスとSEO評価が残るため、パフォーマンスを正確に比較できます。
しかし301リダイレクトの場合、元のURLのインデックスは削除されるため、検証用のページが正規URLとして登録されてしまい、A/Bテストの測定には適していません。
判断に迷ったときの基準
「3ヶ月以上元に戻す予定がないなら301、それ以下なら302」というのが実務上の目安です。
期間が読めない場合や少しでも長期化しそうなら、迷わず301を選択するのが安全です。
誤って302を恒久転送に使うと、新URLがいつまでもインデックスされず機会損失を招きます。

.htaccessによる301リダイレクトの設定方法
.htaccessファイルとは
.htaccessとは、Webサーバで利用されるApacheのコントロールを設定するファイルです。
301リダイレクトの処理ができるだけでなく、特定のIPからのみアクセスを制限することやエラーページの設定など様々なことができます。
テキストエディタで必要な記述内容を記述し、そのファイルを「.htaccess」という名前で保存することで作成できます。
記述したファイルをFTPソフトなどでサーバへアップロードし、適用したいディレクトリのトップ(基本はルートディレクトリ)に設置します。
なお、Nginxを利用しているサーバではhtaccessファイルは利用できませんので、事前にサーバ環境の確認が必要です。
ページ単位での301リダイレクト
特定のページのみを別ページに転送する最もシンプルな書き方です。
RewriteEngine on
RewriteRule ^old-page.html$ https://example.com/new-page.html[R=301,L]または、Redirectディレクティブを使った記述も可能です。
Redirect permanent /old-page.html https://example.com/new-page.htmlドメイン全体の301リダイレクト
旧ドメインから新ドメインへサイトごと引っ越す場合のコードです。
階層構造を保ったまま転送されます。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^old.com
RewriteRule ^(.*)$ https://new.com/$1[R=301,L]SSL化(http→https)の301リダイレクト
HTTPでアクセスされたリクエストをすべてHTTPSへ転送する記述です。
SSL化対応の鉄板コードと言えます。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L]wwwあり・なしの統一
URLの正規化はSEOにおいて極めて重要です。
wwwあり・なしを統一しないと、同一コンテンツが2つのURLで認識され評価が分散してしまいます。
■ wwwなしに統一する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ https://example.com/$1[R=301,L]■ wwwありに統一する場合
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)$ https://www.example.com/$1[R=301,L]ディレクトリ単位の301リダイレクト
カテゴリー変更などでディレクトリごと移行する際は、mod_rewriteを使って階層構造を保ったまま転送します。
RewriteEngine on
RewriteRule ^old-dir/(.*)$ /new-dir/$1[R=301,L](.*)で転送元のパスをキャプチャし、$1として転送先に引き継ぐことで、対応するファイルへ自動的に転送されます。
階層構造を保ったまま引っ越しができるので、.htaccessのリダイレクト設定の手間が大幅に省けます。
なお、このコードを使用する際はサーバーでmod_rewriteが有効になっていることを確認してください。

.htaccessによる302リダイレクトの設定方法
302の基本的な書き方
302リダイレクトの記述は301とほぼ同じで、[R=301,L]の部分を[R=302,L]に変えるだけです。
RewriteEngine on
RewriteRule ^campaign.html$ https://example.com/temp-page.html[R=302,L]あるいはRedirectディレクティブを使う場合は次のように記述します。
Redirect 302 /campaign.html https://example.com/temp-page.htmlメンテナンスページへの302転送
サイト全体を一時的にメンテナンスページへ転送する例です。
特定のIPアドレスのみアクセスを許可するケースが多いです。
RewriteEngine on
RewriteCond %{REMOTE_ADDR}!^123.456.789.000
RewriteCond %{REQUEST_URI}!^/maintenance.html$
RewriteRule ^(.*)$ /maintenance.html[R=302,L]PHPで302リダイレクトを行う方法
.htaccessが使えない環境ではPHPでも実装できます。
<?php
header('Location: https://example.com/new-page', true, 302);
exit();?>301にする場合は数値を301に変更します。
記述ミスがあると、リダイレクトループやページの読み込み失敗が起こることがあるため、変更前にバックアップを取りましょう。
WordPress・各種CMSでの設定方法
WordPressプラグイン「Redirection」
WordPressでは、専用のプラグインを利用することでリダイレクトの設定が容易に行えます。
特に「Redirection」や「Simple 301 Redirects」といったプラグインがよく使われます。
Redirectionでは、プラグインをインストールして有効化し、管理画面の「ツール」→「Redirection」へアクセスして旧URLと新URLを入力し、転送タイプとして「301」を選択するだけで設定できます。
非エンジニアでも扱えるGUIベースの操作が魅力ですが、プラグインの数が増えすぎるとサイト速度に影響するため、可能であれば.htaccessでの直接記述が推奨されます。
レンタルサーバーのコントロールパネル
エックスサーバー、ロリポップ、さくらのレンタルサーバーなどでは、コントロールパネル内に「リダイレクト設定」や「URL転送」などのメニューが用意されています。
コードを書かずに設定できるため初心者にも安心です。
ただし、複雑な条件分岐や正規表現を使った設定は.htaccessでの記述が必要になります。
サーバー環境の事前確認
設定前に必ずサーバー環境を確認しましょう。
.htaccessが使えるか、利用可能なディレクティブに制限がないか、mod_rewriteが有効かなどを把握しておかないと、記述しても反映されないトラブルが起きます。
設定後の確認方法とチェックツール
リダイレクトチェックツールでの確認
301リダイレクトが正しく設定されているかどうかは、リダイレクトチェックというツールを使うことで確認できます。
旧URLを入力してチェックを押すと、正しくリダイレクトされている場合はリダイレクト先URLと「301リダイレクト設定しています」と表示されます。
代表的なツールとしては「リダイレクトチェック」「httpstatus.io」などがあります。
ブラウザの開発者ツールで確認
ChromeなどのブラウザでF12キーを押して開発者ツールを開き、「Network」タブに切り替えてから対象URLにアクセスすると、ステータスコード(301または302)と転送先URLを確認できます。
エンジニアやWeb担当者であれば最も信頼できる確認方法です。
Google Search Consoleでの確認
本番運用後は、Google Search Consoleの「URL検査」機能を使って、新旧URLが正しくインデックスされているかを定期的に確認しましょう。
Google Search ConsoleでURLが正しく切り替わらない原因の多くは「302リダイレクト」の誤用です。
インデックスがなかなか切り替わらない場合は、302を使用していないか再確認することが重要です。
リダイレクト設定でよくあるミスと対処法
リダイレクトループの発生
AページからBページ、BページからAページへ相互に転送されてしまう状態を「リダイレクトループ」と呼びます。
ページ間で相互にリダイレクトを行った場合はリダイレクトループとなるため、検索エンジンはページの内容をクロールすることができなくなり、検索結果からインデックスが削除される可能性があります。
記述後は必ずブラウザで動作確認を行いましょう。
全ページをトップページに集約してしまう
最も多い失敗が「旧サイトの全ページを新サイトのトップページに転送してしまう」ケースです。
旧サイトの下層ページから新サイトのトップページに転送されると、ユーザーは目的の情報を転送先で自ら探さなければなりません。
また、この設定方法だと旧サイトのページ評価を新サイトの同じページに引き継ぐことも不可能です。
SEO的にもユーザビリティー的にもデメリットとなるため、リダイレクト先は必ず該当ページを指定しましょう。
301リダイレクトを早期に解除してしまう
301リダイレクトを設定して、旧サイトと新サイトの関係性が検索エンジンに認識された以降も、301リダイレクトを解除してはなりません。
301リダイレクトを解除すると、検索エンジン側での永続的な転送という認識が消えて、旧サイトと新サイトは別々のサイトであると扱われるためです。
301リダイレクトの設定はできるだけそのまま保持し続けましょう。
何らかの理由により設定を解除する場合でも、「1年は継続するように」とGoogleはコメントしています。
新しいページへのインデックスとページ評価の引き継ぎが終わり、旧URLの評価がなくても問題がない状態になるまでにかかる目安が1年とされているからです。
記述ミスによるサイトダウン
.htaccessは1文字でも記述ミスがあるとサイト全体が表示されなくなる危険なファイルです。
編集前には必ずバックアップを取り、できればステージング環境でテストしてから本番へ反映しましょう。
スペルミス、全角スペースの混入、RewriteEngine Onの記述漏れがよくある原因です。
canonicalタグや内部リンクの更新漏れ
301リダイレクトを設定する際は、内部リンクやcanonicalタグ、構造化データなどURLの記述があるものを更新するようにしましょう。
とくに、canonicalタグを更新しないと検索エンジンが正規のURLを識別できなくなるため、インデックスの遅延やSEO評価の下落の原因となりえます。
XMLサイトマップも新旧両方を用意しておくと、検索エンジンがリダイレクトを検出しやすくなります。
301・302以外のリダイレクト関連ステータスコード
303・307・308との違い
HTTPには301・302以外にもリダイレクト関連のステータスコードが存在します。
それぞれの違いを理解しておくと、より正確な設計が可能になります。
- 303 See Other:POST送信後のリダイレクトに使用される。
GETメソッドへ変更して転送。 - 307 Temporary Redirect:302と似た一時的転送だが、HTTPメソッドを変更しない。
- 308 Permanent Redirect:301と似た恒久的転送だが、HTTPメソッドを変更しない。
SEOの文脈で実務的に意識すべきは依然として301と302ですが、API開発やフォーム送信を扱う場合は307・308の使い分けが必要になることもあります。
meta refresh・JavaScriptリダイレクトの注意点
meta refreshやJavaScriptはSEO評価が引き継がれない、検索エンジンによっては上手くリダイレクトが認識されないなどのデメリットがあるため、Googleも推奨していません。
サーバーが.htaccessに対応していない場合の代替手段としては存在しますが、可能な限りサーバーサイドの301リダイレクトを優先しましょう。
まとめ
301リダイレクトと302リダイレクトは、どちらもURL転送を行うHTTPステータスコードですが、検索エンジンへの伝え方とSEO評価の扱いに決定的な違いがあります。
恒久的な変更は必ず301、一時的な変更は302という基本ルールを守ることで、検索順位や被リンク評価を失うリスクを最小化できます。
本記事のポイントを振り返ります。
- 301は「恒久的な転送」、302は「一時的な転送」を意味する
- Googleは両方ともPageRankの減衰なしと公式に発表しているが、インデックスや正規化の挙動が異なる
- サイトリニューアル・ドメイン変更・SSL化・URL正規化は必ず301を使用
- A/Bテスト・メンテナンス・短期キャンペーンには302を使用
- .htaccessでの記述はRewriteEngine onと[R=301,L]または[R=302,L]の組み合わせが基本
- 設定後はリダイレクトチェックツールやブラウザの開発者ツールで必ず確認
- 301は最低1年間は維持し、解除しないのが原則
リダイレクトの正しい設定は、サイトのSEO資産を守る最も重要なテクニカル施策の一つです。
本記事で紹介したコード例をテンプレートとして活用しつつ、必ず事前のバックアップとテストを行い、安全にURL変更・サイト移行を進めていきましょう。
「迷ったら301」の原則を念頭に置けば、大きな失敗は避けられるはずです。
