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

WordCamp Kyoto 2009 が開催決定。

WordPress な人たちが一堂に会するイベント「WordCamp」の京都版、「WordCamp Kyoto 2009」が開催されます。 »WordCamp Kyoto 今回は 10 月 …

no image

WordCamp 関西懇親会開催。

WordCamp Tokyo 2009 が 4 月 12 日(日)に開催されますが、それに伴って関西でも懇親会が開かれるそうです。 »WordCamp Japan » Word …

no image

「Vitroperlo[ヴィトロペルロ]」というサイトを制作しました。

書こうかどうか迷ったんですが、やっぱり書いときます。 最近、ちょっと人に頼まれて Web サイトを制作しました。 »Vitroperlo[ヴィトロペルロ] 仕事ではなく、個人事業です。 事 …

no image

カテゴリーごとの日付アーカイブを表示する WordPress プラグイン – 「Archives for a category」

WordPress 標準のテンプレートタグを拡張して、カテゴリーごとの日付アーカイブへのリンクを表示できるようにしてくれるプラグインです。 日付アーカイブへのリンクを表示するとき、標準では下記のテンプ …

no image

投稿記事の表示順を任意に設定できるプラグイン – 「AStickyPostOrderER」

こういうのが欲しかった! というプラグイン。 カテゴリーの表示順を設定するには「My Category Order」という素晴らしいプラグインが以前からあったのですが、投稿記事に関してはなぜかまったく …