Movable Type5でのXMLサイトマップのテンプレート

 新たに、Movable Type5を導入し、ウェッブサイトで複数ブログを組み合わせたサイトのXML形式のサイトマップ(sitemap.xml)のテンプレートを作ることになった。以前は簡単に作っていたが、MT5からのウェッブサイトの概念やマルチブログを用いたため、テンプレートを作りなおした。
 まずは、sitemap.xmlの基本的なタグをもう一度確認する。

<?xml version=”1.0″ encoding=”UTF-8″?>
<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>
<url>
<loc>http://www.samplu.com/</loc>
<lastmod>2010-01-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
</urlset>

 ファイルの他のタグを囲み、現在のプロトコル標準を参照します。
	
 各 URL エントリの親タグです。 その他のタグは、このタグ内に含めます。
	
 ページの URL です。 ウェブ サーバーによっては、http などのプロトコルから始め、末尾にスラッシュを含める必要があります。 この値は 2,048 文字以下で指定する必要があります。
	
 ファイルの最終更新日です。 この日付は W3C Datetime 形式で記述します。 必要な場合は、時刻の部分を省略して YYYY-MM-DD の形式で記述することもできます。このタグは、サーバーが返す If-Modified-Since (304) ヘッダーとは別のものです。検索エンジンは、両方のソースからの情報を別々に使用することがあります。

 ページの更新頻度です。 検索エンジンではこの値を参考情報として使用しますが、指定した値とは異なる頻度でクロールされることがあります。 有効な値は次のとおりです。
  always:アクセスするたびに内容が更新されるドキュメントに使用します。
  hourly: クロール頻度を1 時間に 1 回以下
  daily:クロール頻度を1日に1回以上
  weekly:クロール頻度を1週に1回以上
  monthly:クロール頻度を1月に1回以上
  yearly:クロール頻度を1年に1回以上
  neverアーカイブ ページの URL に使用
	
 サイト内の他の URL と比較したこの URL の優先度です。0.0 から 1.0 までの値を指定できます。この値は他のサイトのページとの比較方法に影響するものではなく、検索エンジンのクローラに重要なページを知らせるためのものです。
 ページのデフォルトの優先度は 0.5 です。
 ページに割り当てた優先度が、検索エンジンの検索結果に表示されるページの掲載順位に影響することはほとんどありません。検索エンジンでは、この情報を使用してサイトから URL を選択するため、最も重要なページを検索インデックスに優先的に登録することができます。
 また、サイト内のすべての URL に高い優先度を設定しないでください。優先度は相対的なものであるため、サイト内で URL を選択する場合にのみ使用します。

それを元に、ウェブサイトの概念があるMT5用にまずは下記のテンプレートを作ってみた。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.9">
<url>
<loc><$mt:WebsiteURL encode_xml="1"$></loc>
<priority>1.0</priority>
</url>
<mt:Pages>
<url>
<loc><$mt:PagePermalink encode_xml="1"$></loc>
<lastmod><$mt:PageModifiedDate utc="1" format="%Y-%m-%d"$></lastmod>
<changefreq>weekly</changefreq>
</url>
</mt:Pages>
<mt:Blogs>
<mt:Pages>
<url>
<loc><$mt:PagePermalink encode_xml="1"$></loc>
<lastmod><$mt:PageModifiedDate utc="1" format="%Y-%m-%d"$></lastmod>
<changefreq>weekly</changefreq>
</url>
</mt:Pages>
<url>
<loc><$mt:BlogURL encode_xml="1"$></loc>
<changefreq>weekly</changefreq>
</url>
<mt:IfArchiveTypeEnabled archive_type="Category">
<mt:ArchiveList archive_type="Category">
<url>
<loc><$mt:ArchiveLink encode_xml="1"$></loc>
<changefreq>weekly</changefreq>
</url>
</mt:ArchiveList>
</mt:IfArchiveTypeEnabled>
<mt:IfArchiveTypeEnabled archive_type="Monthly">
<mt:ArchiveList archive_type="Monthly">
<url>
<loc><$mt:ArchiveLink encode_xml="1"$></loc>
<lastmod><$mt:ArchiveDateEnd utc="1" format="%Y-%m-%d"$></lastmod>
<changefreq>weekly</changefreq>
</url>
</mt:ArchiveList>
</mt:IfArchiveTypeEnabled>
<mt:Entries lastn="9999">
<url>
<loc><$mt:EntryPermalink encode_xml="1"$></loc>
<lastmod><$mt:EntryModifiedDate utc="1" format="%Y-%m-%d"$></lastmod>
<changefreq>weekly</changefreq>
</url>
</mt:Entries>
</mt:Blogs>
</urlset>