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といったページジェネレータなどでその威力を発揮します。