リダイレクトチェッカー:チェーン・ループ・302

実際のリダイレクトチェーンを1ホップずつ追跡し、クロール結果からチェーン、ループ、一時的なリダイレクトを検出します。URLの対応表からリダイレクトルールも生成できます。

できること

チェーンとループ

redirects-checkは1つのURLを追跡し、すべてのホップをステータスコードとLocationとともに一覧にします。10ホップに達するか、同じURLが繰り返された時点で止まり、後者はループとして報告します。クロールでは、リダイレクトするURLへの内部リンクを、リンク元のページとあわせて報告します。

  • 各ホップのステータスとLocation
  • 既定はHEAD、必要に応じてGET
  • URLが繰り返された場合はループとして報告
  • 実際の確認は最大10ホップ

一時的なリダイレクトとHTTP以外のリダイレクト

恒久的な移転のはずが302、303、307になっている場合は、不適切なリダイレクトタイプとして報告します。meta refreshやHTTP Refreshヘッダーによるリダイレクトも報告します。サーバー側の301より遅く、意図も伝わりにくいためです。検出結果ごとに、レジストリの修正案が付きます。

  • 301であるべき箇所の一時的なリダイレクト
  • meta refreshとHTTP Refreshによるリダイレクト
  • 最終URLに向け直すべき内部リンク

ルールの生成

redirects-generateは、旧URLと新URLの対応表から、Apacheのmod_rewriteルール、ApacheのRedirect行、Nginxのルール、CSV、WordPress用Redirection CSV、または独自テンプレートの出力を作ります。対応表の中にあるチェーンやループも報告します。ネットワークにはアクセスせず、サーバーへの書き込みもありません。

  • オフラインで動作し、通信なし
  • Apache、Nginx、CSV、WordPress用Redirection CSV
  • 独自テンプレート
  • 反映前に対応表の中のチェーンとループを検出

3ステップで、スキャンを1件保存

  1. クロールするか、1つのURLを確認する

    クロールはすべてのホップを記録します。1つのURLを指定した場合は、ホップごとのステータスとLocationをその場で追跡します。

  2. チェーンとループを見つける

    リダイレクトされるページへの内部リンクを、リンク元のページと位置とともに報告します。

  3. ルールを生成する

    旧URLと新URLの対応表を、ApacheまたはNginxのルールに変換します。オフラインで動作し、独自テンプレートも使えます。

この機能のチェック項目

チェック項目意味重要度根拠
REDIRECT_CHAIN最終URLに着くまでに2ホップ以上あるImportant各ホップとそのステータス
REDIRECT_LOOPチェーンが、すでに通ったURLに戻るCriticalループの経路
BAD_REDIRECT_TYPE恒久的な移転のはずが、一時的な302/307になっているImportantホップごとのステータス
INTERNAL_LINK_TO_REDIRECT内部リンクがリダイレクトするURLを指しているTipリンク元ページ、DOM上の位置
META_REFRESH_REDIRECTページがmeta refreshでリダイレクトしているImportantmetaタグの値
チェック一覧にある関連項目
HTTP_REFRESH_REDIRECT

コマンド1つで実行

bash
seohead redirects-check --url http://example.com/old-page

先にインストールします: インストールガイド。どのコマンドも、AIエージェント向けのMCPツールとして実行できます。

必要なもの

  • 実際のチェーンを確認する1つのURL
  • サイト全体のチェーンとリダイレクト先への内部リンクを調べるためのクロール結果またはScreaming Frogのエクスポート
  • redirects-generate用の旧URLと新URLの対応表

制限事項

  • 実際の確認は1回につき1URLで、10ホップで止まります
  • サイト全体のチェーンの検出には、クロール結果またはScreaming Frogのエクスポートが必要です
  • 生成したルールはテキストです。内容の確認と反映はご自身で行います
  • 新しいルールがサーバーで動作するかどうかは確認しません

よくある質問

サイトに変更を加えますか?
いいえ。チェックは読み取り専用のリクエストです。生成したリダイレクトルールはテキスト出力なので、内容を確認して、ご自身で反映します。
redirects-checkはHEADとGETのどちらを使いますか?
既定は負荷の軽いHEADです。HEADへの応答が異なるサーバー向けに、オプションでGETを指定できます。
redirects-generateはどの形式で出力できますか?
Apacheのmod_rewriteルール、ApacheのRedirect行、Nginxのルール、CSV、WordPress用Redirection CSV、そして独自に用意したテンプレートです。
旧URLと新URLの一覧の中にあるチェーンも見つかりますか?
はい。redirects-generateは、渡された対応表の中のチェーンやループもオフラインで報告します。ルールを本番に反映する前に修正できます。
チェーンはどこまで追跡しますか?
実際の確認は10ホップで止まります。チェーンの途中で同じURLが繰り返された場合は、追跡を続けずにループとして報告します。
3xx以外のリダイレクトも検出できますか?
はい、2種類あります。meta refreshによるリダイレクトとHTTP Refreshヘッダーによるリダイレクトを、クロールのチェックで報告し、サーバー側の301を使うよう提案します。