診断ツール

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

URLを入力すれば、その道のりを最初から最後まで確認できます。通過するすべてのリダイレクト、各サーバーが返したステータスコード、送られたLocationヘッダー、そして最終的にたどり着くページまで。

追跡は当社のサーバーを経由し、チェーン内の各URLにリクエストを送ってレスポンスヘッダーだけを読み取ります。ページ本文は取得しませんし、内容は一切保存されません。

各リダイレクトのステータスコードが意味すること

リダイレクトとは、3xxのステータスコードと、次のURLを指すLocationヘッダーを持つレスポンスのことです。ブラウザやクローラーはそのアドレスへ2回目のリクエストを送り、リダイレクトではないレスポンスが返ってくるまでこれを繰り返します。1ステップごとに往復が発生するため、リダイレクトが4回続くチェーンでは、画面に何かが表示されるまでに5回のリクエストが必要になります。

301 Moved Permanentlyと308 Permanent Redirectは、どちらもリソースの移転が恒久的であることを示します。302 Foundと307 Temporary Redirectは移転が一時的で、元のアドレスに戻る想定であることを示します。この違いは検索エンジンにとって重要です。恒久的なリダイレクトは古いURLを新しいURLに置き換えるよう求めるのに対し、一時的なリダイレクトは元のURLを保持するよう伝えるからです。ブラウザにとっても違いがあります。301のレスポンスはキャッシュして、サーバーに問い合わせ直さずに再利用できますが、302はレスポンスが明示的に許可していないかぎりキャッシュできません。

新しいほうの2つが生まれたのは、フォーム送信に対するクライアントの振る舞いが原因でした。301や302は次のホップでGETに変換されることが多く、リクエストボディが失われていたのです。307と308はそれを禁じており、メソッドとボディをそのまま繰り返さなければなりません。303 See Otherは逆の指示で、次のリクエストを必ずGETとして送ります。これはPOSTの後に望ましい挙動で、結果ページを再読み込みしてもフォームが二重送信されずに済みます。

リダイレクトコード早見表

3xxのレスポンスはすべてLocationヘッダーを伴います。コードは、その移転がどれだけ恒久的なのか、そしてリクエストメソッドがそのまま引き継がれるのかをクライアントに伝えます。

301 Moved Permanently恒久的。新しいURLが古いURLに取って代わります。既定でキャッシュ可能なので、ブラウザが問い合わせをやめることもあります。クライアントが次のリクエストをGETに変えることがあります。
302 Found一時的。有効なのは引き続き元のURLです。レスポンスが明示しないかぎりキャッシュされません。クライアントが次のリクエストをGETに変えることがあります。
303 See Other元のメソッドが何であれ、次のURLをGETで取得します。フォームのPOSTに対する標準的な応答で、再読み込みしても再送信されません。
307 Temporary Redirect302と同じく一時的ですが、メソッドとボディをそのまま繰り返さなければなりません。
308 Permanent Redirect301と同じく恒久的ですが、メソッドとボディをそのまま繰り返さなければなりません。

このチェッカーが教えてくれること

  • すべてのホップを順番に。ステータスコード、その名称、実際にリクエストしたURLを表示
  • 各リダイレクトが返したLocationヘッダーを、絶対URLに解決した形で表示
  • 各ホップにかかった時間と、チェーン全体にかかった時間
  • 最終URLとそのステータスコード。検索エンジンが記録するのはこのアドレスです
  • 警告:2ホップ以上のチェーン、ループ、恒久的な移転に見えるのに一時的なコード、暗号化されていないhttpのホップ、ホストの変更、エラーで終わるチェーン

robots.txtテスター

robots.txtがどのクローラーを通しているのかが一目でわかります。Googlebot、Bingbot、GPTBotなどに対して任意のURLをテストし、判定の決め手になったルールも表示します。

robots.txtをテスト →

ブログの最新記事

すべてのガイド →

Frequently asked questions

リダイレクトは何回までなら許容範囲ですか?
1回なら普通です。2回なら一度見直す価値があります。それ以上はたいてい意図しないもので、1ホップ増えるごとにページの読み込みが始まる前の往復が1回増えます。ブラウザは20回前後で処理をあきらめます。解決策はほぼ常に同じで、元のリンクを最終URLへ直接向け直すことです。
301と302のどちらを使うべきですか?
古いURLが完全になくなったときは301を使います。ページ名の変更、セクションの統合、ドメインの移転などです。メンテナンスページや季節限定のオファーのように、本当に一時的なものには302を使います。恒久的なリダイレクトは、インデックス内の古いURLを新しいURLに置き換えるよう検索エンジンに求めるものです。
リダイレクトはSEOに悪影響がありますか?
存在するだけで悪影響が出るわけではありません。コストになるのは時間です。1ホップごとにページが表示されるまでのリクエストが増え、サイトを巡回するクローラーの取得回数も増えます。インデックスされるのはチェーンの末尾にあるURLなので、本当のリスクは、意図しない場所でチェーンが終わっていることです。
リダイレクトループはなぜ起きるのですか?
2つ以上のURLが互いを指し合い、チェーンが実在するページにたどり着かないまま、ブラウザがエラーで処理を打ち切る状態です。原因はたいてい2つのルールの衝突で、別々の場所に書かれたwwwのルールとhttpsのルール、あるいはCMSのリライトとサーバー設定の食い違いなどです。
設定した覚えがないのにURLがリダイレクトされるのはなぜですか?
多くのサイトには、誰も手で書いていないルールが備わっています。httpsへの強制、wwwの付与や削除、末尾スラッシュの追加、ログアウト状態の訪問者をログインページへ送る処理などです。ここでURLを追跡し、各ホップのLocationヘッダーを読めば、どのルールがどこで働いたのかがわかります。