TrueURL
TrueURL

メニュー

無料のリダイレクトツール

リダイレクトチェーンチェッカー

URL から最終的なリンク先までのすべてのホップを追跡します。不要なリダイレクト、一時的なステータスコード、遅いホップを見つけて、チェーンを 1 回のリダイレクトにまとめられます。

リダイレクトチェーンとは

リダイレクトチェーンとは、ブラウザーやクローラーがコンテンツのあるページにたどり着くまでに、順番に経由しなければならない一連のリダイレクトのことです。/old-page から /new-page への転送のような 1 ホップのリダイレクトはごく普通です。チェーンが長くなるのは、長年のうちにルールが積み重なったときです。HTTP から HTTPS へのルール、次に www のルール、さらに末尾スラッシュのルール、そして前回のリニューアル時のルールといった具合です。次のチェーンでは、1 回で済むはずのところで 4 回のリダイレクトが発生しています。

http://example.com/shop          301
https://example.com/shop         301
https://www.example.com/shop     301
https://www.example.com/shop/    302
https://www.example.com/store/   200

長いリダイレクトチェーンが問題になる理由

  • 速度:ホップごとに別々のリクエストが発生し、多くの場合、それぞれに DNS ルックアップと TLS ハンドシェイクが伴います。モバイル回線では、ページの読み込みが始まるまでに、1 ホップごとに数百ミリ秒が加わることもあります。
  • クロール:Googlebot は最大 10 ホップまでたどり、それを超えるとリダイレクトエラーとして報告します。大規模なサイトでは、余分なホップがあるたびに、本来のページに使えたはずのクロールバジェットも消費されます。
  • 信頼性:ホップが 1 つ増えるごとに、障害やループ、期限切れの原因になり得るサーバー、ルール、証明書も 1 つずつ増えます。
  • シグナル:チェーンのどこかに一時的なステータスコードが 1 つでもあると、検索エンジンに伝えたい「恒久的な移動」のシグナルが弱まります。

リダイレクトチェーンの見方

1 行が 1 ホップです。ステータスはリダイレクトの種類を示します。301 と 308 は恒久的なリダイレクト、302、303、307 は一時的なリダイレクトです。メソッドを見ると、POST が GET に変わった箇所がわかります。ブラウザーは 301、302、303 の後にこの変換を行います。生の Location の値はサーバーが送信した内容そのものなので、相対パス、スラッシュの抜け、余計なクエリ文字列などを見つけるのに役立ちます。meta refresh や JavaScript と表示されたホップは、Location ヘッダーではなく、ページの HTML(または Refresh ヘッダー)から見つかったクライアントサイドリダイレクトです。

チェーンの終わり方は 4 通りあります。最終 URL での通常のレスポンス、リダイレクトループ、最大ホップ数の上限、そして特定のホップでのエラー(DNS の失敗、タイムアウト、証明書の問題など)です。

リダイレクトチェーンを 1 回にまとめる方法

  1. チェーンが最終的に到達すべき URL を確認します。
  2. 最初のリダイレクトルールを変更し、301 または 308 の 1 回で、その最終 URL へ直接転送するようにします。
  3. スキーム、ホスト、スラッシュのルールをサーバーまたは CDN 上で 1 つのルールに統合し、http://example.com/page が https://www.example.com/page/ へ直接転送されるようにします。
  4. 内部リンク、canonical タグ、サイトマップを最終 URL に更新し、訪問者やクローラーがそもそもリダイレクトを通らないようにします。
  5. ここで古い URL をもう一度チェックし、チェーンが 1 ホップになったことを確認します。

関連ガイド

  • 12 分で読めます

    URL リダイレクトの確認方法とリダイレクトチェーンの読み方

    URL リダイレクトの確認方法を、TrueURL、curl、デベロッパーツールを使って手順ごとに解説します。リダイレクトチェーンの各ホップの読み方や、ループ、長いチェーン、301 と 302 の混在といった問題の直し方も紹介します。

    記事を読む
  • 13 分で読めます

    リダイレクトのステータスコード解説:301・302・307・308

    すべての 3xx ステータスコードの意味を解説します。301、302、303、307、308 の違いを、恒久的か一時的か、メソッドの扱い、キャッシュ、SEO への影響で比較し、nginx、Apache、PHP の設定例も紹介します。

    記事を読む

よくある質問

リダイレクトは何回までなら問題ありませんか?

古い URL から最終 URL へのリダイレクトは、1 回にするのが理想です。HTTP から HTTPS への切り替えの後にホストの変更が続く場合など、避けられないときは 2 回でも許容範囲です。TrueURL は、リダイレクトが 3 回を超えるチェーンに警告を表示します。Googlebot は 10 ホップで追跡をあきらめ、ブラウザーは約 20 回で「リダイレクトが繰り返し行われました」というエラーを表示して停止します。

リダイレクトチェーンでリンクの評価は失われますか?

Google は、3xx リダイレクトによって PageRank が失われることはないと説明しています。そのため、チェーンがランキングシグナルを直接薄めるわけではありません。実際に問題になるのは、ページの表示が遅くなること、クロールのリクエストが無駄になること、そしてチェーン内のどこかのホップが壊れていたり一時的なリダイレクトだったりする可能性が高まることです。チェーンは技術的負債と捉えて、1 回にまとめましょう。

リダイレクトチェーンとリダイレクトループの違いは何ですか?

チェーンは、いずれ最終 URL で終わります。ループは、すでにアクセスした URL に戻ってしまうため終わることがなく、ブラウザーはページの代わりにエラーを表示します。TrueURL はどちらも検出します。ループのよくある原因と修正方法は、リダイレクトループチェッカーで解説しています。

POST リクエストから始まるリダイレクトチェーンもチェックできますか?

はい。詳細設定で HTTP メソッドを POST に設定し、リクエストボディを追加してください。チェーンはブラウザーと同じルールに従います。POST の後、301、302、303 ではボディなしの GET として続行し、307 や 308 では同じボディで POST を繰り返します。

結果に「別のドメインで終了」と表示されるのはどういう意味ですか?

最終 URL のホスト名が、入力した URL のホスト名と異なることを示します(先頭の www. は無視されます)。短縮リンクやドメイン移転では想定どおりの結果です。自分のサイトのページが予期せず別のドメインに行き着く場合は、詳しく調べてください。ルールの設定ミス、サイトの改ざん、オープンリダイレクトなどが考えられます。

チェーンには meta refresh や JavaScript リダイレクトも含まれますか?

はい、デフォルトで含まれます。TrueURL は HTML レスポンスから meta refresh タグと単純な JavaScript リダイレクトを探し、そこからチェーンを続けて、該当するホップにラベルを付けます。そのため、HTTP リダイレクトと区別できます。この機能をオフにしてサーバーサイドリダイレクトだけを表示することもできます。詳細は Meta Refresh チェッカーで確認してください。

ホップにステータスコードではなくエラーが表示されるのはなぜですか?

そのホップのリクエストが、HTTP レスポンスを受け取る前に失敗したためです。ホスト名を名前解決できなかった、接続が拒否されたかタイムアウトした、TLS 証明書が無効だった、リダイレクト先が無効なアドレスやブロックされたアドレスだった、などの原因が考えられます。どれに当たるかは、そのホップのエラーメッセージでわかります。それより前のホップは引き続き表示されるため、チェーンがどこで途切れたかを正確に確認できます。