リダイレクトの仕組みと必要になる場面、301と302の違いと使い分けを解説します。リダイレクトチェーンなどトラブルの解決方法、設定確認手順も紹介します。
リダイレクトとは
リダイレクトとは、あるURLにアクセスしてきたユーザーや検索エンジンを、自動的に別のURLへ転送する仕組みです。たとえば、ページのURLが変わった場合、古いURLにアクセスしてきた人を新しいURLへ自動的に案内できます。
リダイレクトとcanonical(カノニカル)の違いは
リダイレクトとcanonicalはどちらも「URLの重複・変更」に関わる設定ですが、目的と動作が異なります。リダイレクトはユーザーもGoogleも別URLへ送り、canonicalはユーザーはそのURLを見たまま、Googleに正規URLを伝えます。
| リダイレクト | canonical | |
|---|---|---|
| 目的 | ユーザーと検索エンジンを別のURLへ転送する | 正規URLをGoogleに伝える |
| ユーザーへの影響 | 別のURLへ自動的に飛ばされる | ページはそのまま表示される |
| 検索エンジンへの影響 | 転送先URLが評価される | 指定した正規URLが評価される |
| URLの変化 | ブラウザのURLが変わる | ブラウザのURLは変わらない |
| 設定場所 | サーバー(.htaccess・PHPなど) | HTMLのheadタグ内 |
| 主な用途 | URL変更・ドメイン移転・HTTP→HTTPS切り替え | 重複URLの統一・正規URL指定 |
| ページの存在 | 元のURLは基本的に使用しない | 元のURLは引き続き存在する |
関連記事
リダイレクトが必要になる場面
リダイレクトが必要になる場面は以下の通りです。
サイトを新しいドメインへ移転するとき
ドメインを変更してサイトを移転する際は、旧ドメインのすべてのページから新ドメインへリダイレクトを設定します。リダイレクトなしで移転した場合、旧URLへのアクセスは404エラーになり、ユーザーがページにたどり着けなくなります。
複数のURLを正規URLへ統一するとき
同じコンテンツが複数のURLで表示されているケースがあります。
https://example.com/page/(末尾スラッシュなし) Example Domain(httpとhttps) Example Domain
このような場合、どれかひとつを正規URLとして定め、それ以外からリダイレクトすることで、URLを統一できます。
削除したページと内容が近い代替ページへ誘導するとき
ページを削除した場合、そのURLにアクセスしてきたユーザーに対して「近い内容のページ」へリダイレクトすることで、離脱を防ぐことができます。
HTTP→HTTPSへ切り替えるとき
SSL化(https対応)を行う際、httpのURLにアクセスしてきたユーザーを自動的にhttpsへ転送するためにリダイレクトを使用します。httpsへの移行はセキュリティ面だけでなく、SEOにも影響するため、リダイレクトを正しく設定することが重要です。
サイトメンテナンス中に一時的に別ページへ誘導するとき
メンテナンスや一時的な改修中など、期間限定で別のページへ誘導したい場合にもリダイレクトが活用できます。
この場合は「一時的なリダイレクト(302)」を使います。恒久的なリダイレクト(301)と使い分けることが大切です(詳しくは次の章で解説します)。
301リダイレクトと302リダイレクトの違い
301リダイレクトと302リダイレクトの違いを解説します。
301リダイレクト(恒久)はURLが永続的に変わったことを伝える
301リダイレクトは、URLが恒久的(永続的)に変更されたことを示すリダイレクトです。
検索エンジンに対して「このURLはもう使いません。今後はこちらのURLを評価してください」と伝えます。元のURLに蓄積されていた評価(被リンクの評価など)が新しいURLへ引き継がれるため、サイト移転やURL変更の際に使用します。
302リダイレクト(一時)はURLが一時的に変わったことを伝える
302リダイレクトは、URLが一時的に変更されたことを示すリダイレクトです。検索エンジンに対して「今は一時的に別のURLへ転送しているが、元のURLは引き続き有効です」と伝えます。そのため、旧URLの評価は引き継がれず、元のURLのインデックスが保持されます。
301と302の使い分けで迷ったときの判断基準
元のURLに今後戻らないなら301、一時的な転送であとで元のURLに戻す可能性があるなら302を選んでください。
意図せず301を設定すると転送先URLがブラウザにキャッシュされて元に戻しにくくなることがあります。一時的なURLの転送には必ず302を使うようにしましょう。
リダイレクトのエラー・トラブルを解決する方法
リダイレクトのエラー・トラブルがあった際の解決方法を紹介します。
リダイレクト警告が表示された場合の解決方法
ブラウザやセキュリティソフトが「このページはリダイレクトされます」と警告を表示するケースがあります。
| 原因 | 対処法 |
|---|---|
| 転送先が信頼性の低いサイトと判断された | 転送先URLが正しいか確認する |
| httpsへの移行が不完全 | mixed content(http・httpsの混在)を解消する |
| セキュリティソフトがブロックしている | 設定を確認し、必要であれば除外設定を行う |
リダイレクト先が意図したURLになっているかを最初に確認しましょう。
「リダイレクトが繰り返し行われました(ERR_TOO_MANY_REDIRECTS)」の解決方法
ERR_TOO_MANY_REDIRECTSは、リダイレクトがループして終わらない状態です。たとえばAページがBページへリダイレクトし、BページがAページへリダイレクトするような「リダイレクトループ」が発生している場合に起こります。
最も発生頻度が高いのはブラウザキャッシュ起因のため、まずはキャッシュクリアを試してみてください。
| 原因 | 対処法 |
|---|---|
| ①ブラウザのキャッシュ・Cookieが古い情報を保持している | ブラウザのキャッシュとCookieをクリアして再アクセスする |
| ②WordPressのサイトURLの設定ミス | 管理画面の「設定 → 一般」でWordPressアドレスとサイトアドレスを確認する |
| ③リダイレクトの設定が循環している | .htaccessや設定ファイルを確認し、ループが発生していないか見直す |
「リダイレクトがブロックされました」と表示された場合の解決方法
「リダイレクトがブロックされました」はChromeなどのブラウザで表示されるエラーです。主に<iframe>の中でリダイレクトしようとした場合や、セキュリティ設定によって外部URLへの転送がブロックされている場合に発生します。
| 原因 | 対処法 |
|---|---|
| iframeで外部URLへのリダイレクトを行っている | iframeでの転送をやめ、直接リンクに変更する |
| サーバーのX-Frame-Optionsが設定されている | レスポンスヘッダーの設定を確認する |
| 転送先URLが誤っている・httpになっている | 転送先URLが正しいか、httpsになっているか確認する |
リダイレクトチェーンが引き起こす問題の解決方法
リダイレクトチェーンとは、複数のリダイレクトが連鎖している状態です。
例:A → B → C → D
リダイレクトは1段階ごとにサーバーへの通信が発生するため、チェーンが長くなるほどページの読み込み速度が遅くなります。また、検索エンジンがすべてのリダイレクト先を追いきれず、評価が正しく伝わらない場合があります。
対処法
リダイレクトの連鎖を解消し、最終的な転送先URLへ直接リダイレクトするように設定を修正します。
修正前:A → B → C(3段階)
修正後:A → C(1段階)
後述する外部ツールを使ってリダイレクトチェーンが発生していないか定期的に確認することを推奨します。
リダイレクトの設定を確認する方法
リダイレクトの設定を確認する2つの方法を紹介します。
Google Search Consoleでリダイレクトを確認する
Google Search Console(サーチコンソール)の「URL検査」機能を使うと、特定のURLがGoogleにどのように認識されているかを確認できます。
確認手順
- Google Search Consoleにログインする
- 画面上部の検索ボックスに確認したいURLを入力する
- 「URL検査」の結果画面で、インデックス状況とリダイレクト先を確認する
リダイレクト設定が正しく機能している場合、旧URLを検査すると「リダイレクト先のURLへ正規化されている」旨が表示されます。
また、「カバレッジ」レポートでは「リダイレクト済み」として分類されているURLを一覧で確認することも可能です。リダイレクトを設定した後は、Googleに認識されるまで数日〜数週間かかる場合があります。設定後すぐに反映されない場合は、時間をおいてから再確認してください。
kunugi gsc controllerでリダイレクト先URLを確認する
kunugi GSC Controllerは、Google Search Consoleの検索パフォーマンス画面を、サイドパネルから素早く操作できるChrome拡張機能です。
フィルタで特定のURLを絞り込み、リダイレクト先URLを確認することができます。リダイレクト前後でGSCのデータを比較したい場合も、kunugi GSC Controllerで簡単に比較したい期間の設定ができます。
kunugi GSC Controllerをダウンロードする
リダイレクト確認のポイント
- ステータスコードが意図した番号(301 or 302)になっているか
- 転送先URLが正しいか
- リダイレクトチェーン(複数段階の連鎖)が発生していないか
- 最終的な転送先がhttpsになっているか
リダイレクトを設定した後は、必ずツールで動作を確認することをおすすめします。
