指定した文字列が各ページに含まれるか調べる「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

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

検出できるものとできないもの

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

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]