- 公開日: 最終更新日:
302リダイレクトとは?301との違いや仕組み、設定方法、SEOへの影響
ウェブサイトの運営では、ページのURLを一時的に変更したい場面があります。その際に使われるのが302リダイレクトです。
本記事では、302リダイレクトの基本的な仕組みや設定方法、SEOへの影響について解説します。また、誤った設定によるエラーの原因や解決策についても触れ、適切に活用するためのポイントを紹介します。302リダイレクトについて知りたい方は、ぜひ参考にしてください。
目次
302リダイレクトとは?仕組みを解説
302リダイレクトは、一時的に別のURLへ転送する設定です。主にメンテナンスによるページの移動や、A/Bテスト、キャンペーンページの切り替えなどで使用されます。
ユーザーが元のURLにアクセスすると、Webサーバーは302 FoundというHTTPステータスコードを返し、新しいURLの情報をブラウザに送信します。これにより、ユーザーは自動的に指定されたURLへ転送されます。
また、検索エンジンのクローラーもこの処理を認識し、このURLの変更は一時的であると判断するため、元のURLのインデックスを維持し、転送先のURLを新しいページとは扱いません。
301リダイレクトと302リダイレクトの違い
301リダイレクトと302リダイレクトは、どちらもユーザーや検索エンジンを別のURLへ転送する方法ですが、目的やSEOへの影響が異なります。
項目 | 301リダイレクト | 302リダイレクト |
転送の種類 | 恒久的な転送 | 一時的な転送 |
検索エンジンの認識 | 新しいURLを正規のURLとしてインデックス | 旧URLを維持して新しいURLは一時的なものと判断 |
SEOへの影響 | 旧URLの評価や被リンクの効果を新URLに引き継ぐ | 旧URLの評価は引き継がれず新URLにSEO効果が反映されにくい |
使用例 | サイトのURLを変更 ドメインの変更 httpからhttpsへ移行 |
一時的なキャンペーンページ メンテナンス中の一時的な転送 A/Bテスト 在庫切れ商品の代替ページ誘導 |
設定方法 | .htaccess サーバー設定 PHPファイル WordPressのプラグイン |
.htaccess サーバー設定 PHPファイル WordPressのプラグイン |
注意点 | 誤った設定をすると意図しないページがインデックスされる | 長期間使用すると検索エンジンが恒久的な変更と誤認する可能性がある |
URLを変更する場合、基本的には301リダイレクトを使用するのが一般的です。かつては301リダイレクトのみがリンク評価を引き継ぐと考えられていましたが、現在のGoogleは301と302のどちらを使用しても評価を引き継ぐとして、同じ扱いをしています。
301リダイレクトについて詳しくは、301リダイレクトとは?のページをご覧ください。
302リダイレクトが与えるSEOへの影響
302リダイレクトを行うとSEOとしてどうなのかを気にする方は多いと思います。ここでは、302リダイレクトが与えるSEOへの影響を解説します。
302リダイレクトはSEOに影響しない
302リダイレクトは、検索エンジンに一時的な転送であると認識されるため、転送先のページは新しいコンテンツとして扱われず、元のURLがインデックスに残ります。
そのため、転送先のページへSEO評価が引き継がれず、検索結果に影響を与えないのが特徴です。
長期間の302リダイレクトは301として扱われる
302リダイレクトは一時的な転送のため、短期間の使用が前提ですが、長期間設定したままにすると、検索エンジンが、このURLの変更は恒久的なものと判断し、301と同じ処理を行う可能性があります。
そのため、302リダイレクトを長期的に使用する予定がある場合は、適切なタイミングで301リダイレクトへ切り替えることが推奨されます。
302リダイレクトの設定方法
302リダイレクトは、.htaccess、PHP、WordPressのプラグインを使って設定できます。ここでは、代表的な設定方法を紹介します。
WordPressのプラグインを利用する方法
WordPressを利用している場合、プラグインを使用すれば簡単に302リダイレクトを設定できます。302リダイレクトができるプラグインとしてRedirectionがよく使用されます。
Redirectionを使用する手順
- WordPressの管理画面からプラグイン→新規追加に移動
- Redirectionを検索し、インストール・有効化
- 設定画面にアクセス
- 転送元と転送先URLを入力
- 転送の種類を302に設定して保存
この方法なら、コードを編集することなく302リダイレクトを設定できます。
.htaccessへの記述方法
Apacheサーバーを使用している場合、.htaccessファイルを編集することで302リダイレクトを設定できます。.htaccessは、サーバーの動作を制御する設定ファイルであり、特定のページやディレクトリ単位で302リダイレクトを実行できます。
ページ単位での302リダイレクト
特定のページを別のURLへ302リダイレクトする場合、.htaccessファイルに以下のコードを記述します。
RewriteEngine on RewriteRule ^old-page\.html$ https://example.com/new-page.html [R=302,L]
old-page.htmlに転送元のURL、https://example.com/new-page.htmlに転送先のURLを入力してください。
ディレクトリ単位での302リダイレクト
特定のディレクトリを丸ごと別のディレクトリへ302リダイレクトする場合、以下のように記述します。
RewriteEngine on RewriteRule ^old-directory/(.*)$ /new-directory/$1 [L,R=302]
old-directoryを転送元のディレクトリ、new-directoryを転送先のディレクトリに変更してください。
PHPへの記述方法
PHPを使用して302リダイレクトを設定する方法もあります。.htaccessが使用できないサーバー環境や、特定の条件下で302リダイレクトを実行したい場合に有効です。
以下のコードを、実行したいPHPファイルの先頭に記述します。
<?php header("HTTP/1.1 302 Found"); header("Location: https://example.com/new-page.html"); exit(); ?>
https://example.com/new-page.htmlに転送先のURLを指定してください。この方法では、サーバーの設定を変更せずにページ単位で302リダイレクトを制御できるため、動的な処理を行う際にも便利です。
302リダイレクトでエラーが出る原因と解決策
302リダイレクトを設定しても正しく動作しない場合、設定ミスや転送先URLの誤りが原因であることが多いです。ここでは、よくあるエラーと解決策を表でまとめました。
302リダイレクトの設定方法が間違えている
エラーの原因 | 解決策 |
.htaccessの記述ミス | 構文エラーがないか確認して正しい書き方で記述する |
サーバー設定の問題 | 設定が適用されているかサーバー側のログをチェックする |
キャッシュの影響 | ブラウザキャッシュやサーバーキャッシュをクリアして動作を確認する |
302リダイレクトの書き方が間違えている
エラーの原因 | 解決策 |
転送先のURLが間違っている | httpとhttpsやwwwの違いをチェックして正しいURLを指定する |
相対パスの誤り | 絶対パスで指定する |
転送ループの発生 | 元のURLと転送先のURLが循環しないよう設定を見直す |
まとめ:302リダイレクトの活用と注意点
302リダイレクトは、一時的なページの移動で活用される転送方法です。
適切に設定すれば、ユーザーの利便性を損なうことなくサイトを運営できます。ただし、設定ミスや長期間の使用は意図しない影響を与えることがあるため、必要に応じて設定を見直すことが重要です。