- 2010-03-15 (月) 23:58
- MovableType


- XMLサイトマップとか
なんか、サイトマップって言うと、一般的にはツリー表示の奴を指すみたいですね。という訳で、私の中ではsitemap.xmlの方がサイトマップって呼び方だったんだけど、最近はXMLサイトマップとかって呼んでます。
正しい呼び方だと、なんて言うのかねぇ?
久しぶりに使ったので(運用は継続してたけど、新規に作成とかGoogle ウェブマスター ツールで登録とかずいぶん久しぶりに作業した)ちょっと触れてみようと思います。
そもそもsitemap.xmlについて
今頃だが、「sitemaps.org - Protocol」を日本語化したドキュメントを発見。バージョンは0.9ですね。
- 「Sitemaps XML format - sitemaps.org 日本語訳(上)」
- 「Sitemaps XML format - sitemaps.org 日本語訳(中)」
- 「Sitemaps XML format - sitemaps.org 日本語訳(下)」
というか、よくよく見ると「sitemaps.org - ホーム」というように、日本語で表示できるようになっているんだ。
もともと今のsitemap.xmlの仕様は、Googleが「Google Sitemaps」として作成していたもので、0.84というバージョンで作成されていたものです。今でも下のsitemap使ってるの見かけたりしますね。
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
その後Yahoo!やMicrosoftも共通のサイトマップを使う方向で統一されて、中身はそのままにバージョンのみ0.9になって今に至ったようです。ちなみに、共通のサイトマップを作る過程では、RORサイトマップと呼ばれるもの(ror.xmlというファイル名)が現れ、共通に使用できるサイトマップとして注目を集めましたが、実際には各検索サイトでRORの正式サポートのアナウンスは行われずに、すぐにsitemap 0.9への対応事態になったため、現在ではRORに対応する事は必要ないこととされています。自分でも記事書いてたんだなぁ「RORという言葉 - WolaWola」
実際RORは、なぜかヘッダ内にFeedとして登録するという、変則的な対応をしていたと記憶しています。
MT5でサイトマップ作成
MT5でのサイトマップといっても、そもそもsitemap.xmlの仕様自体が変化した訳でもないので、基本的にはMT4までのサイトマップとなんら変わる事がありません。
単独のブログ用でしたら、そのまま使用して問題ないので、MT4で使用していたものをそのまま使ってください。ちなみに、現在配布中のmt.Vicuna Simpleには、XMLサイトマップのテンプレートが含まれています。
なお全てのアーカイブに対応するようなサイトマップのコードは、小粋空間 yujiroさんが公開なさっているのでそちらを参考になさっても良いと思います。「小粋空間: Sitemaps 0.90 用テンプレート(MT4対応)」
なおMT5で、ウェブサイトの下に複数にブログを束ねて使用しているような場合も、書き方を工夫すれば自動でサイトマップを作成できます。
<?xml version="1.0" encoding="UTF-8"?><MTUnless regex_replace="/\s*\n+/g","\n"> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <mt:Blogs include_blogs="children" include_with_website="1"> <MTIgnore>メインページ</MTIgnore> <url> <loc><$MTBlogURL encode_xml="1"$></loc> <lastmod><$MTDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod> <priority>0.7</priority> <changefreq>daily</changefreq> </url> <MTIgnore>ブログ記事アーカイブ</MTIgnore> <MTIfArchiveTypeEnabled archive_type="Individual"><MTEntries lastn="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="Page"><MTPages lastn="0"> <url> <loc><$MTPagePermalink encode_xml="1"$></loc> <lastmod><$MTPageModifiedDate format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod> <priority>1.0</priority> </url> </MTPages></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>アーカイブインデックス <url> <loc><$MTBlogURL$>archives.html</loc> <lastmod><$MTDate utc="1" format="%Y-%m-%dT%H:%M:%S"$><$MTBlogTimezone$></lastmod> <priority>0.7</priority> </url> </MTIgnore> </mt:Blogs> </MTUnless> </urlset>
この場合注意が必要なのがアーカイブインデックスで、すべてのブログで同じように配置されているとは限りません。その為上のコード内では無効にしてありますが、状況に合わせて書き方を変えるようにしてください。
サイトマップをクロールさせる
sitemap.xml作ったら、robots.txtに追記して、クロール待ちですよね。
ただ、新規サイトの場合は、なかなかクロール対象にならないみたいなので、こちらから能動的に登録作業する必要があるみたいです。新規サイトって久しぶりだったんで、クロールされるまでに苦労しました(って、小粋空間のようなダジャレだな・・・)。
まずはGoogle ウェブマスター ツールでサイトを追加し、ダッシュボードの「サイト設定」>「サイトマップ」で「サイトマップを送信する」をクリックして、作成したsitemap.xmlのURLを入力してやると、クロールを要求した事になるようです。
というか、そのつもりでしたが、なかなかクロールされなくて、もしかしたら間違ってたんでしょうかね?
それからクロール要求ですが、他にも方法があります。実はmt.Vicuna SimpleのXMLサイトマップ・テンプレートには、とある仕掛けがしてあります。
あるプラグインが有効な時に、自動的にGoogle ウェブマスター ツールへの「サイトマップの再送信」を行なうように設定している事です。
「Google Sitemapsへの更新通知を自動化するMovableTypeプラグイン:MTGoogleSitemapsPing - Open MagicVox.net」はサイトマップテンプレートの再構築時に、そのプラグインのタグで指定したサイトマップの、Googleへの送信処理(Ping)を行ないます。なお、配布されているオリジナルのプラグインは、Movable Type 5の環境では動作しません。
これについては、こちらで対処法を調査し書き換えたものを作成しました。
このプラグインがインストールされている環境では、サイトマップが更新された事を、GoogleにPing送信して知らせる事が出来るようになります。
- Newer >: MT5 Plugins part4
- < Older: Googleカスタム検索を・・・
ping a Trackback
- TrackBack URL for this entry.(1)
Comments:(5)
-
said
March 16, 2010 7:47 AM
|
ReplyThis!
XMLサイトマップといったら
「クロールされるまでに苦労しました」
ということですね!!納得!!(笑-
-
replied for
まーしー's comment
March 16, 2010 8:51 AM
|
ReplyThis!
自分で書いてて、コレッて親父ギャグみたいだなと気づいてしまった・・・

勇次郎さんお休み中なので、代わりに書きましたみたいな
-
-
replied for
oscar's comment
March 16, 2010 10:12 AM
|
ReplyThis!
まずは「だじゃれ」カテゴリをつくるところからですね!

-
-
-
said
August 25, 2011 12:02 PM
|
ReplyThis!
「これについては、こちらで対処法を調査し書き換えたものを作成しました。」の「作成しました。」に張られているリンク先で、"Environment not found"と表示されてしまいます。
正しいリンク先、もしくはコードお教えてください。
宜しくお願いします。
-
-
replied for
footbrain's comment
August 26, 2011 12:22 AM
|
ReplyThis!
>"Environment not found"と表示されてしまいます。
そうですね。
イロイロ調整中で場所が未確定なんですが、GitHubにも上げてあるのでソッチの方が変動しないかもですね。
-




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。