URLのリダイレクト先を一括で確認する「redirect-checker-ruby」を公開しました

ドメイン移行のあと、301が意図どおりに効いているか。リンク監査で、どのURLがどこへ飛ばされているか。こうした確認を一括で行うスクリプトを公開しました。

何をするツールか

URLの一覧を読み込んで、各URLについて次を記録します。

  • 最初に返ったリダイレクトのステータスコード(301 など)
  • リダイレクトをたどりきったあとの最終的な遷移先URL

入力はCSVでも、1行1URLのテキストでも構いません。ヘッダー行の有無は自動で判別します。

追加インストールが要らない

Ruby さえあれば動きます。標準ライブラリだけで実装されているため、gem のインストールも Bundler も不要です。推奨バージョンは Ruby 3.4.3 以降です。

ruby check_redirects.rb -i urls.csv

出力形式は CSV と JSON を選べます。

ruby check_redirects.rb -i url_list.txt -o json

相手のサーバーに配慮する

一覧を一気に舐めるツールは、使い方を誤ると相手のサーバーへの負荷になります。そのため、リクエスト間隔・リトライ・タイムアウトをすべてオプションで調整できるようにしてあります。

オプション 内容 既定値
--sleep リクエスト間隔(秒) 1
--retry-sleep リトライ間隔(秒) 3
--max-retries 最大リトライ回数 3
--timeout タイムアウト(秒) 10

件数が多いときや、応答の遅いサイトを相手にするときは、間隔を広げて実行します。

ruby check_redirects.rb -i urls.csv -o json --sleep 5 --retry-sleep 10 --max-retries 5 --timeout 20

組み合わせて使う

入力がURLの一覧なので、sitemap2urls の出力をそのまま渡せます。移行前のサイトからURLを吸い出し、移行後にそのリストを流して301を検証する、という使い方を想定しています。

CONTACT

フレイズに相談してみる

開発からデザインまで、構想段階からでも大丈夫です。
まずはお気軽にご相談ください。

[email protected]