wgetは --spider
オプションをつけると、指定したURLのリンクの存在をチェックします。
そして --recursive
オプションをつけると、URLのHTMLを解釈してリンクを再帰的に辿ります。
--spider
オプションと --recursive
オプションを組み合わせることで、Webサイトのリンク切れをチェックできます。
例を次に示します。
wget \
--spider \
--recursive \
--level=inf \
--no-verbose \
--execute robots=off \
localhost:8000
-
--level=inf
:--recursive
オプションでたどる深さを上限なしに -
--no-verbose
: 出力を簡素に -
--execute robots=off
:robots.txt
を取得しない
JavaScriptの実行などはしないため、動的に作られるリンクを調べることはできません。
しかしこのテクニックを使うと、CIなどで事前にリンク切れを検知することができます。
Jekyll、Middleman、MkDocsといったページジェネレータなどでその威力を発揮します。