Web ページのリンクチェッカー

Webページのリンク切れチェックツール『linkchecker』はUbuntu 24.04 LTSでaptを用いてインストールできる.基本的な使い方としてURLの指定に加え,外部リンクのチェック(--check-extern)や再帰の深さ指定(-r)のオプションがある.コマンド実行結果の例とその見方を示す.

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 次のコマンドを実行する.

# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新 (依存関係も考慮)
sudo apt full-upgrade
# 変更をシステム全体に確実に反映させるために再起動
sudo shutdown -r now
Ubuntu のインストールは別ページ »で説明している.

linkchecker のインストール

Ubuntu 24.04 LTS では,universe リポジトリの linkchecker パッケージ(バージョン 10.4.0-1)を apt でインストールできる.次のコマンドを実行する.

sudo apt install linkchecker

linkchecker の実行

linkchecker を実行するときは,チェックを開始する URL またはローカルファイルを指定する.

既定では,同一サイト内のリンクは実際に接続してチェックし,外部サイトへのリンクは構文のチェックのみを行う

次のコマンドを実行する.

linkchecker https://example.com/

外部サイトへのリンクにも実際に接続してチェックするときは,--check-extern オプションを指定する.次のコマンドを実行する.

linkchecker --check-extern https://example.com/

既定では,再帰の深さに制限はない.リンクをたどる深さを制限するときは -r オプションで深さを指定する.深さ 3 までに制限するときは,次のコマンドを実行する.

linkchecker -r 3 https://example.com/

既定では,エラーと警告のみが表示される.チェックしたすべての URL を表示するときは -v オプションを指定する.次のコマンドを実行する.

linkchecker -v https://example.com/

実行結果の見方

実行結果は,項目名と値の組で表示される.エラーが 1 件見つかったときの表示例は次の通りである.

URL        `https://example.com/broken-link'
Name       `リンクの文字列'
Parent URL https://example.com/, line 249, col 188
Real URL   https://example.com/broken-link
Check time 0.123 seconds
Result     Error: 404 Not Found

Statistics:
Downloaded: 1.95MB.
Content types: 18 image, 229 text, 0 video, 0 audio, 14 application, 1 mail and 114 other.
URL lengths: min=15, max=205, avg=54.

That's it. 376 links in 378 URLs checked. 0 warnings found. 1 errors found.

URL はページ中に書かれていたリンク先,Name はそのリンクのアンカーテキスト,Parent URL はそのリンクが書かれていたページと行・桁の位置,Real URL はリダイレクトをたどった後の実際のアクセス先,Check time はチェックに要した時間,Result はチェック結果である.ResultValid であればリンクは有効であり,Error: 404 Not Found のように表示されたときはリンク切れである.最後の行に,チェックしたリンク数,警告の数,エラーの数がまとめて表示される.

終了コードは,リンク切れや(警告が有効なときの)警告があったときは 1,プログラムのエラーが起きたときは 2,それ以外は 0 である.この値により,定期実行するスクリプトの中でチェック結果を判定できる.