btmup Blog

Web 制作のことを中心に、ちょっとした Tips などを掲載しています。「自分用メモ」が基本スタンス。

WordPress

ルートからの相対パスが Broken Link Checker でリンク切れと判定されてしまう問題と解決法。

投稿日:

WordPress には「Broken Link Checker」という大変便利なプラグインがあります。
その名の通りサイト内のリンク切れを見つけて、ダッシュボードなどで知らせてくれるという優れモノ。
チェックをする周期も時間単位で自由に設定できますし、リンク切れしている箇所にスタイルを追加して目で見て分かるようにもできます(デフォルトでは取り消し線を表示)。

で、今回はこんな便利なプラグインに関して大変な出来事があったので、その解決までの経緯をメモ的にアップしておきます。

経緯

コトの発端は、「権限委譲」。つまり「ネームサーバーの書き替え」です。

ある Web サイトのリニューアルと新サーバーへの移設を同時に行っていて、その新サーバーの方で WordPress を使ったサイトを構築していました。
ドメインも引き継ぐことになっていたのですが、当然現状サイトも運用し続けているので、制作中は使えず。
そのためずっとホスティング会社から提供されたダミー URL で新サーバーにアクセスしていたのですが、そうすると画像や PDF などのファイルを挿入するとき、デフォルトではダミー URL を含んだ絶対パスになってしまいます。
また、サイト内リンクにしてもドメインは使えないので、これも絶対パスにしようとするとダミー URL で書くしかありません。
そこで、一つ一つルートからの相対パス(「/?cat=1」みたいな感じ)に直していたのでした。

ところが、晴れて新サイトを公開することになり、権限委譲(ネームサーバー書き替え)を行ったところ、この「ルートからの相対パス」がことごとくリンク切れと判定されてしまったのです。
同じタイミングで「一般設定」の「WordPress のアドレス (URL)」と「ブログのアドレス (URL)」も本番ドメインに変更したので、どちらが直接のきっかけかはわかりません。
とにかく、URL が変わった途端に大量の取り消し線が表示されてしまったのです。

もちろん、本当にリンク切れになったわけではありません。
クリックすればちゃんとリンクしますし、画像の表示やPDFのダウンロードも問題なし。
「Broken Link Checker」の判定だけがおかしい、という状況です。

原因と解決法

原因はすぐに想像できました。
「Broken Link Checker がリンク切れを判定するために基準としている URL がダミー URL なので、新しい URL(ドメイン)が間違った URL だと判定されている」んだろうなぁ、と。
(ルートからの相対パスなのでドメインは関係ないと思っていたら、内部的にはフルパスでデータを保持しているようです。詳細は不明)

なので、「Broken Link Checker がリンク切れを判定するために基準としている URL」を変えてやれば良いんですが、如何せんその方法がよく分からない。
phpMyAdmin で DB も覗いてみましたが、怖いのでやめました。

とりあえず「プラグインを入れ直したら治るかも」という軽い気持ちで、一旦 Broken Link Checker をシステムから外して、インストールし直すことに。
念のためサーバーからもプラグインデータを削除し、システムのプラグインページをリロードして表示が消えたことを確認した後、予めダウンロードしておいた最新版を再アップ&再インストール。
「こんなんじゃダメかなぁ……」と半ば諦めつつ Web サイトを表示してみると、なんと取り消し線が全部消えていました。
意外にあっさり解決!

やっぱり基準の URL がリセットされたことで治ったんだと思います。
サーバーから削除したりデータを新しくダウンロードにしたりしたのは本当に念のためなので、ひょっとしたらプラグインを外してインストールし直すだけで解決したのかも知れません。
今となっちゃ検証もできませんが。

こんなことになるなんて、たぶんレアケースでしょうね。
いろんな条件が重なってますし、どこかをもう少しちゃんと作ってれば良かったような気がします……。

まぁ、もし同じような場面に遭遇したらお試しあれ。







-WordPress
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

WordPress のビジュアルエディタでテーブル(表組み)の行を複製したり削除したりする方法。

WordPress のビジュアルエディタとテーブル(表組み)はどうも相性が悪いらしく、新規に追加できるようにするだけでも一工夫が必要でした(過去記事参照)。 で、編集するのもやっぱり一筋縄ではいかず、 …

no image

WordPress 2.7 日本語版リリース。

先週の英語版に続いて日本語版が正式にリリースされました。 (相変わらずダッシュボードのメッセージは環境によって出たり出なかったりするんですけど) とりあえずテスト用の環境でアップグレード。 ちょちょっ …

no image

WordPressで作業中「このページから移動します。よろしいですか?」というメッセージが表示される

最近、WordPressで作業しているときにこんなメッセージ(アラーム)が表示されることがあります。 確認 このページから移動します。よろしいですか? 他のページへ移動すると編集データは破棄されます。 …

no image

Web 上に散らばるコメントを元記事に集約 – BackType Connect。

「BackType Connect」というツールについての記事がありました。 なかなか興味深いのでご紹介。 »WordPress用のBackType ConnectがWeb上の会話をあなた …

no image

カスタムフィールドの指定したキーの値だけ表示する方法

カスタムフィールドに入力した値を出力するには、 <?php if(have_posts()) : while(have_posts()) : the_post(); ?> <?php …