MT 3.3.1でRSS 1.0を出力

MT3.3にしたら、index.rdfが出力されなくなっていた。mixiの日記の外部ブログで、RSSを指定していたのが更新されなくなっていて気がついた。MT3.2からRSS 1.0はなくなり、RSS 2.0だけになったらしい。

サイト上にあるSyndicate this site (XML)のリンクも更新されないし、こりゃよくない。RSS 2.0で吐き出されるindex.xmlにリンクを置き換えるか、RSS 1.0を吐き出すように設定するか。実はこのへん、どうするのがいいのかよく分かってない。RSS 2.0のみで問題ないのか?移行してしまった方がいいのか?平行して吐き出しておく方がいいのか?

とりあえず、RSS 2.0に平行してRSS 1.0も吐き出すようにした。Six Apartにあるデフォルト・テンプレートからRSS1.0テンプレートをコピーしてくる。

<?xml version="1.0" encoding="<$MTPublishCharset$>"?>

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns:cc="http://web.resource.org/cc/"
xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="<$MTBlogURL$>">
<title><$MTBlogName encode_xml="1"$></title>
<link><$MTBlogURL$></link>
<description><$MTBlogDescription encode_xml="1"$></description>
<dc:language><$MTDefaultLanguage$></dc:language>
<dc:creator></dc:creator>
<dc:date><MTEntries lastn="1"><$MTEntryDate format="%Y-%m-%dT%H:%M:%S" language="en"$><$MTBlogTimezone$></MTEntries></dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=<$MTVersion$>" />
<MTBlogIfCCLicense>
<cc:license rdf:resource="<$MTBlogCCLicenseURL$>" />
</MTBlogIfCCLicense>

<items>
<rdf:Seq><MTEntries lastn="15">
<rdf:li rdf:resource="<$MTEntryPermalink encode_xml="1"$>" />
</MTEntries></rdf:Seq>
</items>

</channel>

<MTEntries lastn="15">
<item rdf:about="<$MTEntryPermalink encode_xml="1"$>">
<title><$MTEntryTitle encode_xml="1"$></title>
<link><$MTEntryPermalink encode_xml="1"$></link>
<description><$MTEntryExcerpt encode_xml="1"$></description>
<dc:subject><$MTEntryCategory encode_xml="1"$></dc:subject>
<dc:creator><$MTEntryAuthor encode_xml="1"$></dc:creator>
<dc:date><$MTEntryDate format="%Y-%m-%dT%H:%M:%S" language="en"$><$MTBlogTimezone$></dc:date>
</item>
</MTEntries>

</rdf:RDF>

これをテンプレートのインデックス・テンプレートに新規作成する。
テンプレート名: RSS 1.0
出力ファイル名: index.rdf
このテンプレートにリンクするファイル:なしでも可
テンプレートの内容:上記コードを貼り付ける

保存して再構築すると完了。テンプレートの埋め込み場所には以下のコードを入れる。

<link rel="alternate" type="application/rss+xml" title="RSS 1.0" href="<$MTBlogURL$>index.rdf" />

参考
RSS1.0テンプレートを追加する (MovableType備忘録)