指定した文字列が各ページに含まれるか調べる「site-text-checker」を公開しました

「全ページのフッターに新しい会社名が入っているか」「古い電話番号が残っていないか」。サイト全体に手を入れたあと、こうした確認を目視で行うのは現実的ではありません。それを機械的に行うスクリプトを公開しました。

何をするツールか

urls.txt に書いたURLを1つずつ取得し、引数で渡した文字列が含まれているかを判定します。 必要なのは curl だけです。

使い方

チェック対象のURLを1行ずつ書いた urls.txt を用意します。

https://example.com/page1
https://example.com/page2
http://localhost/page3
http://localhost:8080/page4

実行権限を与えて、探したい文字列を引数に渡します。

chmod +x check.sh
./check.sh "探したい文字列"

結果を残す場合はリダイレクトします。

./check.sh "探したい文字列" > result.log

使ううえでの注意

判定対象はHTMLソースなので、画面に表示されるテキストとは一致しません。 タグや属性値の中に文字列があってもヒットします。逆に、JavaScript で描画される文字はソースに現れないため検出できません。

引数を省略するとエラーになります。urls.txt はスクリプトと同じディレクトリに必要です。

Docker で実行する場合

Dockerfile を同梱していますが、ローカルホストを対象にするときは注意が要ります。

docker build -t keyword-checker .
docker run --rm keyword-checker "探したい文字列"

同一ホスト上の別コンテナで動いているサイトを対象にする場合、urls.txthttp://localhosthttp://host.docker.internal に書き換える必要があります。Linux では host.docker.internal が使えないため、Docker を使わず curl を入れて直接実行するほうが確実です。

組み合わせて使う

sitemap2urls で書き出したURL一覧をそのまま urls.txt として使えます。サイト全体への一括置換のあと、抜けがないかを確認する用途を想定しています。

CONTACT

フレイズに相談してみる

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

[email protected]