- 2006-12-22 (金) 15:15
- MovableType


- エントリー内のリンク先をチェックする
今日も忙しいんで、サクッといきましょう。
さすがに、一年近くブログ続けてると、そろそろ古いエントリーでの参照先に、リンク切れが発生しています。
いちいち、すべてのエントリーについて、リンク・クリックで状態を調べるのも、どうかですよね。
そういう時に便利(なハズ)なプラグインを、ご紹介。
このプラグインは、エントリー内のリンク先への接続を試み、そのエラーコードを表示します。
まぁ、接続を試した結果なので、一時的にダウンしていたり、混んでてタイムアウトだったりもエラーと出ちゃいますが。
ちなみに、プラグインには LWP::UserAgent が必要となってます。
mt-check.cgi で有り無しのチェック出来ましたよね。特別なモジュールじゃないんで、入れるのは簡単だと思います。
プラグインをインストールしたら、新規にインデックス・テンプレートを作成します。
テンプレート名・出力ファイル名は適当に付けてください。
<MTEntries> <p> <MTCheckLinks> <MTCheckLinksHere> <$MTEntryBody$> <$MTEntryMore$> <$MTEntryExcerpt no_generate="1"$> </MTCheckLinksHere> <MTIfBadLinks> <b>Entry:</b><a href="<MTAdminLink type="editentry">"><$MTEntryTitle$></a><br /> <b>Bad links:</b> <MTBadLinks> <a href="<$MTBadLinkURL$>"><$MTBadLinkURL$></a> (<$MTBadLinkStatus$>)<br> </MTBadLinks> </MTIfBadLinks> <MTIfNoBadLinks></MTIfNoBadLinks> </MTCheckLinks> </p></MTEntries>
これで、エントリー内のリンク状況がチェックできます。
ちなみに、上のコードでは、直接エントリー編集画面に行けるように、「AdminLinks」というプラグインを使用していますが、チェックのみだったら必要ないのでオミットして下さい。
また、HTTPリクエストを行い、結果を表示する関係上、再構築にはかなり時間がかかります。
MTEntriesに offset=0 や lastn=9999 はやめた方がいいと思います。
bzbellさんはall="1"でやったけど、それほどでもなかったらしいですね。サーバーのスペックがそこそこなら、全件で問題ないみたいです。
普通にアドレスのリクエスト送っているだけなので、実際にはブラウザーが補正してアクセスできるURLなども、エラーと表示されることが多々あるようです。
あくまでも、目安程度にしか使えないかな?
<MTEntries> <h2><$MTEntryTitle$></h2> <MTCheckLinks> <MTCheckLinksHere show="1" include_local="1"> <$MTEntryBody$> <$MTEntryMore$> </MTCheckLinksHere> <MTIfBadLinks omit_status="500"> <b>Bad links:</b> <MTBadLinks> <br><$MTBadLinkURL$> (<$MTBadLinkStatus$>) </MTBadLinks> </MTIfBadLinks> </MTCheckLinks></MTEntries>
こんな感じでエントリー部分のテンプレートを作成すると(かなり簡略化してあります)、エントリー下部にリンクエラー・サイトがリストアップされます。
ちなみに、MTCheckLinksHereのオプション「 show="1"」はチェックのみでなく、実際の中身も表示させるオプションです。指定するとMTEntryBodyとMTEntryMoreが出力されます。「 include_local="1"」はドメイン名を付けない相対リンクもチェックの対象にするかです。
MTIfBadLinksの「omit_status="500"」はエラーコード500(サーバーエラー)は対象外とするためのものです。
- Newer >: コメント投稿者へのメッセージを表示
- < Older: 忍び寄るOP25B
Trackbacks:(2)
- TrackBack URL for this entry.(1)
- Listed below are links to weblogs that reference
- エントリー内のリンク先をチェックする from WolaWola
-
「エントリ内のリンク切れをチェックする」 from MovableType備忘録 2006-12-22 (金) 22:49:26
-
エントリ間でリンクを貼ったり、外部リンクしたりなど、普通にみなさんやってることと思います。 数ヶ月前にわたしのサイトでは、ディレクトリ構成を変更したため、...
[詳しくはトラックバック元サイトで]
-
「MTのエントリー内のリンク切れをチェックするプラグイン」 from Materializing 2006-12-24 (日) 04:55:40
-
メンテナンスの際に、サイト内のエントリー間のリンク切れが起こってないか、外部リンクとの接続は保たれているか、を調べるのは大事だと思います。 そんな時に役...
[詳しくはトラックバック元サイトで]
Comments:(2)
-
said
December 22, 2006 10:48 PM
|
ReplyThis!
こんにちわ^^
このプラグインとっても便利ですの!!
さっそくインストして、チェックしてみました♪外部リンクなどもチェックしてくれるので、メンテナンスにはいいですね( ̄∇ ̄)b
-
-
replied for
bzbell's comment
December 23, 2006 1:16 PM
|
ReplyThis!
こんにちは、bzbellさん。
>外部リンクなどもチェックしてくれるので、メンテナンスにはいいですね( ̄∇ ̄)b
外部に接続要求出すんで、全部のエントリーやると、とんでもなく時間がかかるのかと思ってましたが、そうでもないようですね。最初はエントリー下部に、バッドリンク抜き出しをしようかと思ってたんですよ、このプラグイン。
でも、どっちかというと、この使い方の方があってますよね。
-




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。