TopMovable Typeカスタマイズその他 > Sitemaps 0.90 用テンプレート(Google・Yahoo!・MSN サポート)
2006年12月 6日

Sitemaps 0.90 用テンプレート(Google・Yahoo!・MSN サポート)

Posted at December 6,2006 1:35 AM
Category:[その他]
Tag:[, , ]

少し前の話ですが、Google sitemaps 0.84 として Google がサポートしていた Sitemaps が、0.90 より Yahoo! MSN のサポートが表明されました。

注:本記事は Movable Type 3.x の内容です。Movable Type 4 対応の Sitemaps 0.90 用テンプレートについては「Sitemaps 0.90 用テンプレート(MT4対応)」をご覧ください。

ということで、以前作成して放置状態だった 0.84 用のサイトマップ用テンプレートを 0.90 対応に作り直してみました。

1.テンプレート設定方法

管理画面の[テンプレート]-[インデックス]タブ(デフォルトはこのタブになっています)-[テンプレートを新規作成]をクリック

  • テンプレート名:サイトマップ(名前は何でもいいです)
  • 出力ファイル名:sitemap.xml
  • このテンプレートにリンクするファイル:(設定不要)
  • インデックス・テンプレートを再構築するときに、このテンプレートを自動的に再構築する:チェックする
  • テンプレートの内容:リスト1 の内容をコピー&ペースト
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 
<MTIgnore>メインページ</MTIgnore>
<url>
<loc><$MTBlogURL encode_xml="1"$></loc>
<lastmod><$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
<changefreq>daily</changefreq>
</url>
 
<MTIgnore>エントリー・アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Individual"> 
<MTEntries offset="0">
<url>
<loc><$MTEntryPermalink encode_xml="1"$></loc>
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
<priority>1.0</priority>
</url>
</MTEntries>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>カテゴリー・アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Category"> 
<MTCategories>
<url>
<loc><$MTCategoryArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTCategories>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>月別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Monthly"> 
<MTArchiveList archive_type="Monthly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>週別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Weekly"> 
<MTArchiveList archive_type="Weekly">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>日別アーカイブ</MTIgnore>
<MTIfArchiveTypeEnabled archive_type="Daily"> 
<MTArchiveList archive_type="Daily">
<url>
<loc><$MTArchiveLink encode_xml="1"$></loc>
<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
</url>
</MTArchiveList>
</MTIfArchiveTypeEnabled>
 
<MTIgnore>アーカイブページ</MTIgnore>
<url>
<loc><$MTLink template="アーカイブページ" encode_xml="1"$></loc>
<lastmod><$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</url>
 
</urlset>
リスト1 Sitemaps テンプレート

上記を設定後、保存・再構築します。

これでメインページと同じディレクトリに sitemaps.xml が生成されていればOKです。確認方法は、ブラウザから sitemaps.xml をURL指定して実行してみるか、FTPツールでメインページと同じディレクトリに sitemaps.xml があることを探してください。

2.テンプレートの改善点

他のサイトでもサイトマップ用テンプレートは数多く公開されていますが、当サイトでは下記の点を改善しています。

2.1 エントリー数設定

エントリー・アーカイブでの全エントリー数取得は offset 属性を用いています(適正な利用方法ではないかもしれませんが)。これにより、lastn="9999" という設定を不要にしています。

2.2 アーカイブの選択

各アーカイブ(カテゴリー/エントリー/月別/週別/日別)の表示は MTIfArchiveTypeEnabled を用いているので、使用中のアーカイブのみを自動的に対象に含めます。
つまりデフォルトテンプレートの運用であれば、サイトマップテンプレートの修正は不要です。

2.3 ファイルの最終更新日

カテゴリー・アーカイブ/月別アーカイブ/週別アーカイブ/日別アーカイブの更新日時は、下記の設定により、更新順に並べ替えた最新の1件を用いるようにしています。これにより過去のエントリーを修正した場合も、その時刻が反映されます。

Google の説明では、静的ファイルは「ファイルを実際に更新した日付」とありますが、Movable Type の静的ファイル生成、つまり再構築はアーカイブ別に行われるため、MTEntryModifiedDate が適正と思われます(間違ってたらすいません)。これにより、更新されていない URL はクロールしなくなるらしいので、サーバー負荷や CPU 使用量を軽減できます。

<MTEntries lastn="1" sort_by="modified_on">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
リスト2 改善点2 - 適正な最終更新日取得

下の設定では、該当するアーカイブに属する最新エントリーの更新時刻しか収集されません。つまり、過去のエントリーを修正した時刻が反映されないという欠点があります。

<MTEntries lastn="1">
<lastmod><$MTEntryModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
</MTEntries>
リスト3 modified_on 属性を用いない場合のMTタグ

ただし、インデックステンプレート(メインページ/アーカイブページ)については正確な更新日を取得する手段がないため、MTDate(再構築日時)を利用しています。

2.4 タイムゾーン

タイムゾーンに MTBlogTimeZone を用いています。現地時刻表記の場合は MTBlogTimeZone を用いてタイムゾーン・オフセットを付与するのが適切と思われます。

<lastmod><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod>
リスト4 改善点3 - タイムゾーンの設定1

utc 属性を用いれば協定世界時になるので、MTBlogTimezone の代わりに下記の設定でも大丈夫なようです。

<lastmod><$MTEntryModifiedDate utc="1" format="%Y-%m-%dT%H:%M:%SZ"$></lastmod>
リスト5 改善点3 - タイムゾーンの設定2

W3C Datetime によれば、青色部分の「Z」は時刻をUTC (協定世界時) で表記した場合に付与する特別な指定子です。

なお、utc 属性は MTEntryModifiedDate / MTDate タグで適用することができます(3.3 公式マニュアルには掲載されていません)。

2.5 優先度

インデクシングして欲しい(と思われる)エントリー・アーカイブに priority を設定し、相対値を少し高くしています。

3.注意事項

Sitemap ファイル(sitemaps.xml)は UTF-8 で保存する必要があります。ブログの文字コードが UTF-8 以外の場合は下記のプラグインを用いて、Sitemaps の文字コードを UTF-8 で出力しましょう。

Ogawa::memorandaMT-I18Nプラグイン

MT-I18Nプラグインをインストールした後、Sitemaps のテンプレート全体を MTEncodeText タグで括ります(リスト1)。

<MTEncodeText from="[ブログの文字コード]" to="utf8">
    :
[Sitemap の内容]
    :
</MTEncodeText>
リスト6 MT-I18Nプラグインによる文字コード変換
Posted by yujiro
関連記事
人気エントリー
トラックバックURL


トラックバック

Googleのロボットに確実にインデックスしてもらう from あかつき財務戦略研究所
ネット上で多くの人に自分のサイトを知ってもらう効果的な方法のひとつは、検索エンジ... [続きを読む]

Tracked on March 12, 2007 8:14 PM

ココログテンプレート改造、MTタグが使えるはずだがグーグルサイトマップのMTテンプレートが使えないため改造 from 遠田幹雄です。どもども、ドモドモ(^^)v
ココログのテンプレートを改造。ココログのテンプレートはMTタグがそのまま使える。そこでムーバブルタイプ(MT)で使っているテンプレートからパンくずナビなど... [続きを読む]

Tracked on March 25, 2007 12:24 AM

sitemap0.9に対応したwordpressプラグインGoogle Sitemap Generator 3 Beta from UNDERMOUNTAIN
サイトマップを生成するために便利なプラグインGoogle Sitemap Generatorが、バージョン3となりリリースされていました。 Google ... [続きを読む]

Tracked on April 23, 2007 11:14 AM

MovableTypeでGoocle Sitemaps作成 from GOCHADER
Google SitemapsをMTで作成する方法&カスタマイズが【小粋空間】さ... [続きを読む]

Tracked on July 5, 2007 5:59 PM

SEO(検索エンジン最適化)に汎用サイトマップを利用する from 仕事にヒント
サイトを公開しても、検索エンジンでヒットしなければ、誰も気づいてくれない孤島状態です。 検索エンジンに、サイト内をくまなく見てもらえるよう... [続きを読む]

Tracked on July 12, 2007 4:30 PM

MTでサイトマップ+robots.txtでサイトマップ自動検知 from ミューラァ log / SPS-V
小粋空間: Sitemaps 0.90 用テンプレート(Google・Yahoo!・MSN サポート予定) こちらの記事を参考にしてサイトマ... [続きを読む]

Tracked on August 2, 2007 2:46 AM

Movable Type:Google Sitemaps用のテンプレート作成 from ukico.net
MovableTypeで Google Sitemapsを作成 (BLOGお役立... [続きを読む]

Tracked on August 22, 2007 10:58 PM
コメントする

*必須



お知らせ:2008年5月現在、多忙のため、7月頃までコメントを速やかに回答できない状態が続きます。ご質問の内容によっては回答が7月以降になる可能性がありますので、予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Entry Trackbacks
Entries of this Category
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
BlogPeople
Now loading...
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 4.1
 
List Me!