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

ドメイン移行後の301の検証や、リンク監査でのリダイレクト先の洗い出しでは、多数のURLを確認したい場面が出てきます。 こうした確認を一括で行うスクリプトを公開しました。

何をするツールか

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

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

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

動作に必要な環境

標準ライブラリだけで実装されているため、gem のインストールも Bundler も要らず、Ruby 本体だけで動きます。 推奨バージョンは 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]