URLリダイレクトチェッカー
特定の URL に対して最大 10 回のリダイレクト (301/302) を確認します。
1. はじめに
URLリダイレクトチェッカーは、Webアドレスにアクセスした際の応答を分析するシンプルなオンラインツールです。URLが直接応答(200 OKなど)を返すのか、301や302といったHTTPステータスコードを使用して別のURLへリダイレクトするのかを表示します。
リダイレクトは、Webページが新しい場所に移動した場合、HTTPSを強制する場合、または重複ページを統合する場合によく使用されます。しかし、不適切または過剰なリダイレクトはSEOパフォーマンスを損ない、ページの読み込みを遅くし、ユーザー体験を悪化させる可能性があります。
このツールは、ウェブサイト所有者、マーケター、開発者がリダイレクトチェーンを段階的に追跡するのに役立ちます。リダイレクトを自動的に追跡するのではなく、各ステップを記録し、各段階のHTTPステータスコードを表示します。これにより、リダイレクトループ、不必要なチェーン、または設定ミスを簡単に検出できます。
ウェブサイト移行の監査、正規リダイレクトの検証、またはサーバー設定のデバッグなど、このツールはURLの挙動を明確に分解して表示します。
2. 仕組み
このツールは、入力されたURLに対してHTTPリクエストを送信し、サーバーの応答を検査します。リダイレクトを自動的に追跡する代わりに、各応答を手動で確認し、次のステップに進む前に詳細を記録します。
入力パラメータ
- URL(必須) – 分析したいWebアドレス。有効なURL形式(例:https://example.com)である必要があります。
検証ルール
- URLフィールドは空にできません。
- 入力は正しい形式のURLである必要があります。
- 不正なフォーム送信を防ぐためにセキュリティトークンが必要です。
- リクエストが失敗した場合(無効なドメイン、DNSエラー、サーバーに到達不可など)、エラーメッセージが表示されます。
処理ロジック
送信後、このツールは以下の手順を実行します:
- 指定されたURLにHTTP GETリクエストを送信します。
- サーバーから返されたHTTPステータスコードを記録します。
- 応答コードが301(恒久的に移動)または302(発見)の場合、リダイレクト先のLocationヘッダーを取得します。
- 新しいURLで同じ処理を繰り返します。
- 最大10回のリダイレクト、またはリダイレクト以外のステータスコードに到達した時点で停止します。
出力構造
結果は次の内容を含む表として表示されます:
- ステップ番号 – リクエストの順序。
- URL – そのステップで要求されたアドレス。
- ステータスコード – 返されたHTTP応答コード。
制限事項
- 最大10回のリダイレクトホップ。
- 301および302リダイレクトのみを追跡します。
- JavaScriptベースのリダイレクトは実行しません。
- ステータスコード以外のレスポンスヘッダーは表示しません。
3. このツールの使い方
- 確認したい完全なURLを入力します(http:// または https:// を含む)。
- 処理ボタンをクリックします。
- ツールがリダイレクトチェーンを処理するまで少し待ちます。
- 各リダイレクトステップとステータスコードを示す表を確認します。
- 最終ステータスが200(成功)か、他の応答かを確認します。
4. 実用例
例1:HTTPからHTTPSへのリダイレクト
入力:
http://example.com
出力:
1. http://example.com - 301 2. https://example.com - 200
これは、HTTPからHTTPSへの適切な恒久的リダイレクトを示しており、SEOおよびセキュリティの観点から推奨されます。
例2:リダイレクトチェーンの問題
入力:
http://oldsite.com
出力:
1. http://oldsite.com - 302 2. https://oldsite.com - 301 3. https://www.oldsite.com - 200
これは複数ステップのリダイレクトチェーンを示しています。機能的には問題ありませんが、単一のリダイレクトに減らすことでパフォーマンスとSEO効率が向上します。
5. 開発者向けユースケース
- SEO監査: サイト移行時にリダイレクトチェーンを検出し、正規化を検証します。
- サーバー設定テスト: Apache、Nginx、またはリバースプロキシのリダイレクトルールを検証します。
- 自動化スクリプト: CI/CDパイプラインにリダイレクトチェックを統合します。
- セキュリティ検証: HTTPSの強制を確認し、オープンリダイレクトの脆弱性を回避します。
PHPの例
$response = curl_init('https://example.com');
curl_setopt($response, CURLOPT_FOLLOWLOCATION, false);
curl_exec($response);
$status = curl_getinfo($response, CURLINFO_HTTP_CODE);
JavaScriptの例(Node.js)
const https = require('https');
https.get('https://example.com', (res) => {
console.log(res.statusCode);
});
プログラムでリダイレクト検証を実装する場合は、無限ループを防ぐためにリダイレクトの深さを制限し、SSRF脆弱性を回避するためにURLを検証してください。
6. よくある質問
301リダイレクトとは何ですか?
301リダイレクトは恒久的なリダイレクトであり、新しいURLにほとんどのSEO価値を引き継ぎます。
302リダイレクトとは何ですか?
302リダイレクトは一時的なリダイレクトであり、移動が恒久的でないことを示します。
なぜリダイレクトチェーンはSEOに悪いのですか?
複数のリダイレクトはページの読み込みを遅くし、リンク評価を分散させます。
リダイレクトは何回までが適切ですか?
理想的には、最終到達点に到達するまでに1回以下のリダイレクトが望ましいです。
このツールはリダイレクトループを検出できますか?
最大10回で停止するため、潜在的なループの特定に役立ちます。
このツールはJavaScriptリダイレクトを検出できますか?
いいえ。サーバー側のHTTPリダイレクト(301および302)のみを検出します。
人気のあるツール
文や段落内の文字の順序を逆にします。
テキストのサイズをバイト (B)、キロバイト (KB)、メガバイト (MB) で取得します。
数字を綴りで表記した形式に変換します。
指定されたテキストの文字数と単語数を数えます。
テキストを簡単に逆さにします。
通常のテキストを筆記体フォントスタイルに変換します。