バックグラウンドで、投稿本文内のリンク切れをチェックしてくれる便利なプラグイン「Broken Link Checker」。
このところ、何だか「不明なエラー」というステータスになっているリンク切れが頻発してきたので、原因を探ってみました。
私のサイトの場合、ほとんどが以下の場合でした。
- 本文内リンク(#HTMLアンカーで挿入しているもの)
- 画像に対するリンクURLがリンク切れになっている
本文内リンク(#HTMLアンカーで挿入しているもの)のエラー原因
問題となっている投稿などを調べたところ、再利用ブロック内にあるHTMLアンカーに対してページ内リンクをしているものがエラーの原因でした。
そこで、「tensou」というHTMLアンカーを持つテスト用の再利用ブロックを作り、テスト用の投稿本文へ「#tensou」へのページ内リンクを作り、データベース上で投稿本文の内容を確認してみたところ、
<!-- wp:paragraph -->
<p><a href="#tensou">かきくけこ</a></p>
<!-- /wp:paragraph -->
<!-- wp:block {"ref":1512} /-->
という形で保存されていました。
再利用ブロックは
<!-- wp:block {"ref":1512} /-->
という形で保存されており、内容がない(一括修正可能なコンテンツを呼び出しているだけ)ので、「Broken Link Checker」がソース内を巡回しても、リンク先がない=リンクエラー、ただ、よくわからないので「不明なエラー」というステータスになっているということが判明しました。
現状「リンクエラーでない」という形にはしてありますが、今後同じものが発生した場合には「無視」を選択したほうがいいのかも知れません。
このエラーは「Broken Link Checker」の誤検知ではないので、プラグインはしごく正確に仕事をしてくれてたことが分かりました。
画像に対するリンクURLがリンク切れになっている
データベース上で確認しても、画像に対するリンク設定がなく、自身としては?な印象です。
恐らく「img src=”」に対して添付ファイルURLを探しに行くという行動をするのかも知れません。
問題となったサイトでは、直リンクを防ぐ目的から、画像ファイルへの直接アクセスを防止する措置をしているので、恐らくこれが原因だと思われます。
この機能を止めてテストはしていないので根本原因の究明には至りませんでしたが、このエラーも「Broken Link Checker」の誤検知ではないと思われます。
こちらも、「リンクエラーではない」もしくは「無視」で対応可能でしょう。
「Broken Link Checker」は、本文内にある内部・外部リンクに対してリンク切れになっていないかを判定してくれる便利なプラグインです。
リンク切れの疑いのあるものを検知すると、どのように処置するかを判断するよう通知してくれてとても重宝します。
ただ1点、インストールしたままの状態(デフォルト)では、以下の部分が有効になっていますので、設定の見直しはしておいた方がいいと思います。
- 「リンクエラーにカスタム CSS を適用する」:これにチェックが入っていると、標準では表示画面のリンク文字列などに取り消し線が引かれます。リンクとして動作しますが訪問者が戸惑うかも知れませんので、オフにしておいた方がいいかも知れません。
- 「リンク編集時に投稿の更新日を変えない」:リンクチェッカーの管理画面上で編集を行った場合、標準では最終更新日が変更になるようになっています。チェックを入れると更新されないようにできます。
「Broken Link Checker」の機能や使い方については当サイト内でも紹介していますので、ついでにご覧ください。