jQueryの勉強も兼ねて、デッドリンクチェッカーを作りました。ハイパーリンクであれば、画像も対象です。非同期通信で、同時接続数はチューニング可能にしています。(デフォルト値は2)クライアントはもちろん、サーバにも負荷がかかりますので、同時接続数は適宜、試してください。

XSS対策を施しましたので、配布を再開します。

WordPressのbloginfo(“url”)から順次HTMLソース内のハイパーリンクを辿ります。HTMLソースで相対パス表示の場合、当チェックの実行パス(=http://example.com/wp-admin/)からの相対解釈になってしまう対処に、少し手こずりましたが、[javascript]相対URLを絶対URLにする関数に救われました。

なお、重複チェックは無限ループになるため、当然除外し、外部ドメインについては、1階層までチェックします。つまり、対象WordPressサイトのリンク品質を確保するためのツールです。

使い方

  1. dead-link-checker.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つで上書き)も表示します。

制限事項

jQuery(JavaScript)を利用したチェックのため、このプラグインでのエラー検知が万全ではないようです。
これは、(予想の域を越えませんが)jQuery、というよりJavaScript(?)では、クロスドメインでのHTTP通信不可のため、擬似的にサーバサイドで回避(*1)しています。この対処(出力)が万全でないのかも知れません。
また、現状ではハイパーリンクのみの抽出のため、JSやCSSは対象外です。

今後の対応

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

追記

外部リンクのチェック用サーバサイドスクリプト(上記*1)がXSS攻撃に悪用される危険性がありました。
バージョン0.1をご利用の方は、0.2以降にアップデートしてください。

Ktai Styleの作者Yuriko様にご指摘いただき、修正しました。

追記2

Yuriko様から、さらにご指摘いただき、XSS攻撃対策が不完全でしたので、修正しました。
バージョン0.3bにアップデートをお願いします。
なお、バージョン0.3bでは、feed等のXMLを対象としたリンクチェックが不完全な状態です。この不具合よりも、XSS対策版を優先すべきという観点で、リリースさせていただきます。
このデバッグ/修正に時間がかかりそうですが、対策完了次第、リリースいたします。
もし、当プラグインをご利用いただいている方がいらしたら、大変ご迷惑をおかけしますが、今しばらくお待ちください。