Home > Internet > Movabletype > エントリー内のリンク先をチェックする

エントリー内のリンク先をチェックする

今日も忙しいんで、サクッといきましょう。

さすがに、一年近くブログ続けてると、そろそろ古いエントリーでの参照先に、リンク切れが発生しています。

いちいち、すべてのエントリーについて、リンク・クリックで状態を調べるのも、どうかですよね。

そういう時に便利(なハズ)なプラグインを、ご紹介。

CheckLinks

このプラグインは、エントリー内のリンク先への接続を試み、そのエラーコードを表示します。
まぁ、接続を試した結果なので、一時的にダウンしていたり、混んでてタイムアウトだったりもエラーと出ちゃいますが。

ちなみに、プラグインには 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(サーバーエラー)は対象外とするためのものです。

Trackbacks:(2)

TrackBack URL for this entry.(1)
Listed below are links to weblogs that reference
エントリー内のリンク先をチェックする from WolaWola
MovableType備忘録 thumbs 「エントリ内のリンク切れをチェックする」 from MovableType備忘録 2006-12-22 (金) 22:49:26

エントリ間でリンクを貼ったり、外部リンクしたりなど、普通にみなさんやってることと思います。 数ヶ月前にわたしのサイトでは、ディレクトリ構成を変更したため、...
[詳しくはトラックバック元サイトで]

Materializing thumbs 「MTのエントリー内のリンク切れをチェックするプラグイン」 from Materializing 2006-12-24 (日) 04:55:40

メンテナンスの際に、サイト内のエントリー間のリンク切れが起こってないか、外部リンクとの接続は保たれているか、を調べるのは大事だと思います。 そんな時に役...
[詳しくはトラックバック元サイトで]

Comments:(2)

bzbell`s user-pic TypeKeyAuthed bzbell said December 22, 2006 10:48 PM | ReplyThis!

こんにちわ^^

このプラグインとっても便利ですの!!
さっそくインストして、チェックしてみました♪

外部リンクなどもチェックしてくれるので、メンテナンスにはいいですね( ̄∇ ̄)b

oscar`s user-pic oscar replied for bzbell's comment December 23, 2006 1:16 PM | ReplyThis!

こんにちは、bzbellさん。
>外部リンクなどもチェックしてくれるので、メンテナンスにはいいですね( ̄∇ ̄)b
外部に接続要求出すんで、全部のエントリーやると、とんでもなく時間がかかるのかと思ってましたが、そうでもないようですね。

最初はエントリー下部に、バッドリンク抜き出しをしようかと思ってたんですよ、このプラグイン。
でも、どっちかというと、この使い方の方があってますよね。

スクリプトの読み込みが完了していません。

Sign in Sign in Sign in

メールフォーム(Javascriptを使用していません)や、twitter.pngTwitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。

Comment Form

QuickTagsHere

EmoticonHere

(入力しない場合「Anonymous」で代替されます)
(公開はされませんが、Gravatarアイコンの取得や、Comment Subscribeの送信先アドレスとして使われます)
(入力すると、コメント表示でユーザー名にリンクが貼られます)
(この情報は、JavascriptによりCookieに保存されます。)

NotifyMail Powered by Comment Subscribe

はてブコメント:

Home > Internet > Movabletype > エントリー内のリンク先をチェックする

MT5Techniques

MT5Techniques

2冊目の共著「Movable Type 5 実践テクニック」(シックスアパート監修)が出版されました。(ソフトバンク クリエイティブ刊)

検索
(5)
(6)

別ページに遷移します。

Powered by Hyper Estraier

Feeds
Link Status
In One

なかのひと

位置情報ブログパーツ「なかのひと」

Links
Powered By

Return to page top