warning: Creating default object from empty value in /var/www/drupal-5.23/modules/taxonomy/taxonomy.module on line 1418.

Movable Type で、Google Sitemap に対応する方法

(Google Sitemap とは?) Google にキーワードを入力して検索結果が出てくるということは、あらかじめ Google に自分のサイトが登録されているということだ。それは、Google が日夜あなたのサイトを巡回して、ページを Google のシステムの中に貯めているからだ。ではなぜ Google は何億ページもの中から、あれだけ高速に検索結果を出せるのだろう? それには高速に情報を引き出す仕組みが必要となる。それが情報をすばやく検索するための「インデックス化」という仕組みで、検索対象のサイトにインデックスがあると、Google のシステムはは全てのサイトのページにあるキーワードをひとつひとつ探すことなく、高速に検索できるのだ。ちなみにインデックス化の仕組みは MySQL などのデータベースにも備わっているが、Google 自体は自身のインデックス化の仕組みを公開していない (CNET Japan の記事「Flash開発者を不安にさせるGoogle検索の落とし穴」参照)。 Google Sitemap とは、Google に登録する URL を Google に自ら教える仕組みである。これがないと Google はあなたのウェブサイトを勝手に巡回して Google 自身の判断で必要だと思った URL を登録する。ゆえに、Google Sitemap の仕組みを使えば登録して欲しい URL を Google に正確に教えることができるのである。 それではまずは、Google Sitemap に登録しよう → Google Sitemap (Movable Type で、Google Sitemap に対応する方法) 以下は Niall Kennedy's Weblog に書かれているものの翻訳である。
あなたのブラログの XML サイトマップを Google や他の検索エンジンに解析してもらうのは
とっても簡単。新しいインデックステンプレートを作成して以下のコードをコピーすればよい。
出力ファイルは sitemap.xml のような覚えやすい名前をつけておこう。
そのコードを貼り付けて新しいテンプレートファイルを保存してサイトを再構築すればよい。
以下は、Niall Kennedy's Weblog で提示されている方法に加えて、私の方でカテゴリの URL をサイトマップに加えるように手を加えた sitemap.xml の例である。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="https://www.google.com/schemas/sitemap/0.84">
<url>
<loc><$MTBlogURL encode_xml="1"$></loc>
<priority>1.0</priority>
</url>
<MTEntries lastn="9999">
<url>
<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod>
</url>
</MTEntries>
<font color="blue"><MTCategories><MTIfNonZero tag="MTCategoryCount">
<url><loc><$MTCategoryArchiveLink encode_xml="1"$></loc></url>
</MTIfNonZero></MTCategories></font>
</urlset>
最後に、Google Sitemap のサイトにこのファイルを置いた URL (例えば、https://yourdomain.com/sitemap.xml/) を登録すればよい。
(Google Sitemap とは?) Google にキーワードを入力して検索結果が出てくるということは、あらかじめ Google に自分のサイトが登録されているということだ。それは、Google が日夜あなたのサイトを巡回して、ページを Google のシステムの中に貯めているからだ。ではなぜ Google は何億ページもの中から、あれだけ高速に検索結果を出せるのだろう? それには高速に情報を引き出す仕組みが必要となる。それが情報をすばやく検索するための「インデックス化」という仕組みで、検索対象のサイトにインデックスがあると、Google のシステムはは全てのサイトのページにあるキーワードをひとつひとつ探すことなく、高速に検索できるのだ。ちなみにインデックス化の仕組みは MySQL などのデータベースにも備わっているが、Google 自体は自身のインデックス化の仕組みを公開していない (CNET Japan の記事「Flash開発者を不安にさせるGoogle検索の落とし穴」参照)。 Google Sitemap とは、Google に登録する URL を Google に自ら教える仕組みである。これがないと Google はあなたのウェブサイトを勝手に巡回して Google 自身の判断で必要だと思った URL を登録する。ゆえに、Google Sitemap の仕組みを使えば登録して欲しい URL を Google に正確に教えることができるのである。 それではまずは、Google Sitemap に登録しよう → Google Sitemap (Movable Type で、Google Sitemap に対応する方法) 以下は Niall Kennedy's Weblog に書かれているものの翻訳である。
あなたのブラログの XML サイトマップを Google や他の検索エンジンに解析してもらうのは
とっても簡単。新しいインデックステンプレートを作成して以下のコードをコピーすればよい。
出力ファイルは sitemap.xml のような覚えやすい名前をつけておこう。
そのコードを貼り付けて新しいテンプレートファイルを保存してサイトを再構築すればよい。
以下は、Niall Kennedy's Weblog で提示されている方法に加えて、私の方でカテゴリの URL をサイトマップに加えるように手を加えた sitemap.xml の例である。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="https://www.google.com/schemas/sitemap/0.84">
<url>
<loc><$MTBlogURL encode_xml="1"$></loc>
<priority>1.0</priority>
</url>
<MTEntries lastn="9999">
<url>
<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod>
</url>
</MTEntries>
<font color="blue"><MTCategories><MTIfNonZero tag="MTCategoryCount">
<url><loc><$MTCategoryArchiveLink encode_xml="1"$></loc></url>
</MTIfNonZero></MTCategories></font>
</urlset>
最後に、Google Sitemap のサイトにこのファイルを置いた URL (例えば、https://yourdomain.com/sitemap.xml/) を登録すればよい。

Movable Type で、日付のフォーマットを変更するには?

Movable Type で、日付のフォーマットを yyyy/mm/dd のような形式、つまり 2006/01/20 のような形式するには、テンプレートの中で以下のように書くと良い。
<$MTEntryDate format="%Y/%m/%d"$>
MTDate は、MTxxxDate として以下のファミリーがある (MTxxxDate とするより、xxx の部分を属性として指定できた方がよりオブジェクト指向的だと思うよ<Six Apart 様)。
Movable Type で、日付のフォーマットを yyyy/mm/dd のような形式、つまり 2006/01/20 のような形式するには、テンプレートの中で以下のように書くと良い。
<$MTEntryDate format="%Y/%m/%d"$>
MTDate は、MTxxxDate として以下のファミリーがある (MTxxxDate とするより、xxx の部分を属性として指定できた方がよりオブジェクト指向的だと思うよ<Six Apart 様)。

Movable Type で、Permalink を表示したい。

Permalink とは、ウェブページの内容を更新しても変わらない URL のことである。 Movable Type で、Permalink を表示するには、テンプレートに以下のコードを埋め込むとよい。
<a href="<$MTEntryPermalink$>">Permalink</a>
このコードの中で、
<$MTEntryPermalink$>
となっている部分 (タグ) が、Permalink を表わす。 このエントリーの最後にも Permalink というリンクがあるはずなので、参考にして欲しい。このリンクはこのエントリーを更新しても変化しないものなので、他のウェブサイトからこのエントリがリンクされていても、リンク切れということがなくなる。
Permalink とは、ウェブページの内容を更新しても変わらない URL のことである。 Movable Type で、Permalink を表示するには、テンプレートに以下のコードを埋め込むとよい。
<a href="<$MTEntryPermalink$>">Permalink</a>
このコードの中で、
<$MTEntryPermalink$>
となっている部分 (タグ) が、Permalink を表わす。 このエントリーの最後にも Permalink というリンクがあるはずなので、参考にして欲しい。このリンクはこのエントリーを更新しても変化しないものなので、他のウェブサイトからこのエントリがリンクされていても、リンク切れということがなくなる。

Movable Type で、カテゴリを列挙して表示したい。

Movable Type で例えばエントリの一番最後 (例は、このエントリの最後の Post あたりをご覧ください) にそのエントリのカテゴリを列挙するには、以下のコードをテンプレートに埋め込むとよい。「glue=" | "」で指定している記号が、区切り記号となる。
<MTEntryCategories glue=" | ">
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
</MTEntryCategories>
Movable Type で例えばエントリの一番最後 (例は、このエントリの最後の Post あたりをご覧ください) にそのエントリのカテゴリを列挙するには、以下のコードをテンプレートに埋め込むとよい。「glue=" | "」で指定している記号が、区切り記号となる。
<MTEntryCategories glue=" | ">
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
</MTEntryCategories>