SEOでのリダイレクト設定|301/302の違いと記述例を解説

サイトのリニューアルやURLの変更、SSL化などの場面で必ず出てくるのが「リダイレクト」です。中でも代表的なのが301リダイレクトと302リダイレクトですが、この2つを取り違えると、意図しないURLが検索結果に表示され続けたり、評価の集約がうまくいかなかったりします。本記事では、SEOにおけるリダイレクトの基本から、301と302の違いと使い分け、.htaccessでの具体的な記述例、そして設定時の注意点までを解説します。
リダイレクトとは、ユーザーや検索エンジンがあるURLにアクセスした際に、自動的に別のURLへ転送する仕組みです。サイトの移転、URL構造の変更、wwwの有無やhttp/httpsの統一(URLの正規化)、古いページの整理など、さまざまな場面で使われます。
リダイレクトにはHTTPステータスコードによっていくつかの種類があり、SEOで特に重要なのが「301(恒久的な転送)」と「302(一時的な転送)」です。この2つの意図の違いを正しく理解し、目的に合った方を選ぶことが大切です。
301と302はどちらも自動転送を行う点は同じですが、検索エンジンへ伝える「意図」が異なります。最大の違いは、転送が恒久的か一時的かです。
301リダイレクトは「このページは恒久的に別の場所へ移動した」ことを示すステータスコードです。検索エンジンはこの指示を受けると、旧URLではなく新URLを正規のページとしてインデックスに登録し、旧ページの評価を新ページへ引き継ぎます。ドメイン移転、URL構造の変更、URLの正規化など、今後は新URLを使い続ける場面で使用します。
302リダイレクトは「一時的に別のURLへ移動している」ことを示すステータスコードです。検索エンジンは元のURLを正規と見なして維持しようとするため、旧URLがインデックスに残り続けます。サイトの一時的なメンテナンス、キャンペーン・プロモーションページへの誘導、A/Bテストなど、あとで元のURLに戻す予定がある場面で使用します。
かつては「301はPageRankの一部が失われる」「302は評価を引き継がない」と説明されることがありましたが、この理解は現在の仕組みとは一致していません。2016年にGoogleが「30xリダイレクトはPageRankを失わない」と表明し、その後Search Consoleのヘルプでも、301や302のリダイレクトはPageRankの損失につながらないと明文化されています。
つまり現在のGoogleでは、301か302かでSEO評価の伝わり方そのものに大きな差は出ません。判断軸は「評価を渡せるかどうか」ではなく、「検索結果にどちらのURLを表示させたいか」です。新URLを検索結果に出したいなら301、元のURLを維持したいなら302、と考えると使い分けを間違えにくくなります。
意図に合わせて、次のように使い分けます。迷ったとき、恒久的な転送であれば301を選ぶのが基本です。
A/Bテストで301を使ってしまうと、テスト用ページが正規URLとしてインデックスされ、流入低下を招く恐れがあります。一時的な転送には必ず302を使いましょう。逆に、削除したページには302ではなく、404(または410)を返すのが適切です。
リダイレクトの設定方法は、サーバー環境やCMSによって複数あります。代表的なのは次の3つです。
なお、metaリフレッシュやJavaScriptによる転送も技術的には可能ですが、検索エンジンが安定して「リダイレクト」と解釈しない場合があるため、SEO観点では非推奨です。可能な限り、HTTPヘッダーで301/302を返すサーバー側のリダイレクトを選びましょう。
Apacheサーバーの場合、サイトのルートディレクトリにある.htaccessファイルに記述するのが最も一般的です。ここでは代表的なパターンの記述例を紹介します。
旧ページ(/old-page/)から新ページへ恒久的に転送する場合の記述例です。
RewriteEngine on
RewriteRule ^old-page/$ https://example.com/new-page/ [R=301,L]
末尾の「R=301」を「R=302」に置き換えれば、同じ記述で一時的な転送(302)になります。
ドメイン移転などで、旧ドメインの全ページを新ドメインの同じパスへ転送する場合の記述例です。
RewriteEngine on
RewriteRule ^(.*)$ https://new-example.com/$1 [R=301,L]
非SSL(http)でのアクセスを、すべてSSL(https)へ恒久的に転送する場合の記述例です。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
なお、レンタルサーバーによっては管理画面で「httpsへの転送」をONにするだけでSSL化リダイレクトが完了する場合もあり、その場合は.htaccessの編集は不要です。
リダイレクトは便利な反面、設定を誤るとSEOやユーザー体験に悪影響を及ぼします。次の点に注意しましょう。
特にドメイン移転や大規模リニューアルでは、判断ミスがそのままサイト全体の評価営失につながります。設定前に転送元・転送先の対応を整理し、公開後はステータスコードが意図どおり返っているかを必ず確認しましょう。
SEOにおけるリダイレクトは、301(恒久的)と302(一時的)を意図に応じて正しく使い分けることが基本です。現在のGoogleでは、どちらを選んでも評価の伝わり方自体に大きな差はなく、判断軸は「検索結果にどちらのURLを表示させたいか」に移っています。ドメイン移転やSSL化、正規化なら301、メンテナンスやA/Bテストなど一時的な用途なら302を使いましょう。.htaccessでの記述はバックアップとチェーン回避を徒底し、設定後はステータスコードを確認して、評価と導線を正しく引き継ぎましょう。