JOURNAL | ROSTRATA.net

MovableTypeによるXMLサイトマップ

MovableTypeで複数ブログを立てて構築している場合、XMLサイトマップ(sitemap.xml)はどのようにコーディングしたらよいか

CMSによるサイト構築の場合、静的ファイルではなくて、更新に応じて自動的に書き変わるXMLサイトマップ用テンプレートを準備しておくことが常となっています。
Wordpressの場合はプラグインで簡単に出力できますし、MovableTypeも少し検索すればテンプレート例を公開してくれているページをいくつか見つけることができます。

ブログ用はブログ用でしかない

それらのレディメイドテンプレートはほとんど『ブログサイト向け』の構造になっています。
つまり、単体ブログを基盤として全ての記事詳細ページ、それにカテゴリや月別アーカイブページ、というブログ型のテンプレートとなっています。
単なるブログ単体のサイトマップを作りたい場合はそれで十分ですが、MovableType は特に中規模サイトCMSとして利用されることが多く、1サイトに複数のブログが存在する場合は専用テンプレートをコーディングする必要があります。

複数ブログの更新情報を全てまとめる

XMLサイトマップを出力させるブログを1つ選び、インデックステンプレートを作成し、サイトマップフォーマットに従って MultiBlog タグで他のブログを順番にインクルードしてサイト全体を俯瞰するサイトマップを出力します。

そのブログは各ブログからの再構築トリガーを設定しておきます。一般的にはトップページとXMLサイトマップ、RSS出力だけのためにブログを1つ設ける形が多いと思われます。

MovableType を巧みに設計して使っている = 非常に複雑な設計である場合が多い為、いわゆる誰でも使える汎用テンプレートは作りにくく、その都度サイト構成を考えながらテンプレートをコーディングしていく必要があります。

例えば製品情報とニュースリリースをブログ、その他のコンテンツも全てウェブページとしてMovableType配下に置くサイトがあったとすると、

製品情報コンテンツを出力するブログはニュースリリースブログよりプライオリティを上げてループ処理で出力し、次にほとんど固定情報となる会社情報を直書き、ニュースリリースをループ出力、あとは細かいページを直書き。

といったコーディングが考えられます。

出来るだけ詳しく、正確に

例えばXMLサイトマップの書式の中で

  • lastmod:最終更新日時を表す(例 2009-08-20T12:12:33+09:00)
  • changefreq:更新頻度を表す(例 daily, monthly, yearly)
  • priority:重み付け(例 0.1〜1.0)

は省略してしまっている場合も多いですが、不確実な情報やスパムまがいのテクニックばかりが氾濫するSEO対策処理の中、確実な部分は確実に作り込んでいくべきだと考えています。

また出力したサイトマップファイルを Google ウェブマスターツールYahooのサイトエクスプローラー に登録する処理も忘れずに行いましょう。

最後に

この辺りの細かい作業はWEB制作している人でも知らない人がいたりします。
あえてお客様に説明するほどでもない細かくて見えない部分ではありますが、制作側でできる最大限の事として手抜きせずに行いたい作業です。

※ここに書いた「ブログ」「サイト」という概念はMT4までのもので、MT5では若干変わってきます。

Posted on 2009/10/05DEVELOPMENT , , ,

Leave a Comment

Archives

Translate by Google

to English, to Spanish, to French


Seeing is Believing.