日記
movable typeでRSS 1.0にcontent:encodedを含める方法 (06:18)Edit

blogmapではRSSのdescriptionかcontent:encodedの内容しか解析しないんだけど、MTの標準状態ではdescriptionにほとんど情報が含まれない。で、blogmap等のRSSベースの検索を行うサービスに情報を拾ってもらいたい場合、RSSにcontent:encodedとして必要な情報をつっこんでおくのが手軽。というわけで、そうしたい場合の設定方法。

MTの管理画面から「テンプレートの編集」を選択し、RSS 1.0の編集フォームを開く。

最初の方にあるxmlnsの設定のdcの設定の後ろあたりに、contentモジュールが利用できるように設定を追加する。

xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
↑この行を追加

各記事itemを出力しているあたりのdescriptionの次あたりに、content:encodedを出力する行を追加する。$MTEntryBodyが本文。$MTEntryModeが追記。上記の例だと全部出力しているけど、追記分はRSSに含めたくない場合は$MTEntryBodyのところだけ書いておいたりしてもいい。

<description><$MTEntryExcerpt encode_xml="1"$></description>
<content:encoded><$MTEntryBody encode_xml="1"$><$MTEntryMore encode_xml="1"$></content:encoded>
↑この行を追加

といった感じにしておくと、blogmapではそのサイトの記事に含まれるURLやらASINやらの情報をきちんと解析できるようになります。

長文を書く人の場合は、本文($EntryBody)に主要な情報(リンクやASIN情報)は全部つっこんでおくようにして、RSSには$EntryBodyだけ含ませるようにする方が無難かな。

<description><$MTEntryExcerpt encode_xml="1"$></description>
<content:encoded><$MTEntryBody encode_xml="1"$></content:encoded>
↑この行を追加

じゃないとRSSのデータサイズがでかくなりすぎるし。その場合、こんな感じの出力になります。

ちなみにtDiaryは標準(makerss.rb)でcontent:encodedに全文がつっこまれるんで、RSSさえ出力していれば上記のようなことは考えなくてもOKです。

追記:『MT hxxks - 概要 ( excerpt ) は有効活用されていない』より

少なくとも、 Movable Type では以前から概要 ( Movable Type の場合は description ではなく excerpt と表現していますが ) を自分で記述することはできました。

確かに「たいていの人はそういう(本文のみ書いて、その冒頭が自動的にdescriptionとなる)運用にしている」と書いておいた方が正確でしたね。

ちなみにはてなダイアリーは、

description をユーザが記述できるようになりました。 ( はてなダイアリー日記 - rssモジュールのdescription表示拡張について )

というのではなく、RSSにコンテンツの全文を掲載(content:encoded)できるようになった(はてなダイアリー日記 - RSSフィードの全文掲載機能について)んですよ。MTみたいな自前でexcerptを記述する機能は持ってません。

rssモジュールのdescription表示拡張ってのは、他サイトのRSSをサイドバー等に取り込むときに、descriptionを表示できるようになった(従来はタイトル、日付等しか表示できなかった)という話なんで、自サイトのdescriptionの話とはちょと違います。

ってまあそれはどうでもいい(本筋とは関係ない)話ですけど。

ちなみに真琴さんが『MT hxxks - 概要 ( excerpt ) の重要性』や『MT hxxks - 概要 ( excerpt ) を書くことのメリット』で説く主張はとても正しいし、そういう方向に進むのが理想的だと思います。

ただ、多分大多数の人はblogの更新に最低限の手間しかかけたがらない=きちんとした概要を書こうという主張はなかなか受け入れられにくいだろうということで、ローコストでblogmap的にありがたい結果が得られる手法として、上記の対策を紹介してみたりしているわけです。思想のない手段の提供って感じですか。

Published At2005-04-02 00:00Updated At2005-04-02 00:00