取り急ぎのバージョン0.3bにも残存していたXSSの脆弱性は、PHPによるコード出力を廃止することで対策しました。
度重なるYuriko様のご指摘に助けられた反面、さらに慎重を期すためWordPressフォーラムへの報告は、しばらく見送ります。

修正内容は、細かな機能アップも含めて主に次の5点です。

  • PHPによるコード出力を廃止
  • リンク先がfeed等のXMLの場合、その内容のチェックは見送る
  • チェック対象外URLに”wp-login.php”を追加(この対策によりチェック後の管理画面ログアウトを回避)
  • チェック中を示す「Checking …」のロジック見直し(カウンターのインクリメント箇所が正しくなかったため、フリーズしたように見えてしまっていたことへの対策)
  • チェック済み/チェック合計数、開始/終了時刻の表示

使い方

  1. dead-link-checker.0.4b.zipをダウンロード
    (最新版はhttp://typista.it-creates.com/wp-content/uploads/dead-link-checker.zip)
  2. プラグインディレクトリに解凍
  3. ダッシュボードからアクティベート
  4. リンクチェックの実行は、「ダッシュボード」→「設定」→「Dead Link Checker Plugin」→「start」ボタン。

以上で、bloginfo(“url”)からリンクを辿り、リンクチェックを開始します。中断も可能です。
正常なページは、一覧から消えていき、エラーの場合は、HTTPステータスコードとそのリンクを含むURL(非同期の複数コネクション実行のため、最新1つで上書き)も表示します。

制限事項

「はてなブックマーク」への追加リンク、W3CのHTML Validatorへのリンクなどで400または404エラーとなります。原因調査中ですが、当デッドリンクチェッカーでエラー検知されたURLは、手動にて確認されるようお願いいたします。
また、現状ではハイパーリンクのみの抽出のため、JSやCSSは対象外です。

今後の対応

大きな機能追加要件として、被リンクゼロチェック機能、つまりどこからもリンクされていない画像等を抽出する機能を想定しています。が、これはかなり難航するかも知れません。
小粒要件としては、JSやCSSのデッドリンクチェックへの対応です。formへの対応は決めかねています。
その他、チェック結果表示のポップアップウィンドウ化 or iframe化や体裁、それらのオプション設定などなどです。