ムーバブルタイプのサイトマップ生成テンプレート

ムーバブルタイプ,Movable Typeはサイト情報をATOMに乗せて配信する。ATOMの性格上伝えられる内容は限られている。ブログの内部リンクはクモの巣のように張り巡らされている。クローラーが全てのURIを拾うようにXMLサイトマップを用意しよう。ブログの使うSEOテクニックに対するサーチエンジン側の修正は無視できない。ブログも進化しなければならないのだ。

MT用sitemaps.orgサイトマップでインデックス促進

ASY!ブログの場合ページをスタティックHTMLに書き出す設定にしてもURIリストが無いのが辛いところ。ムーバブルタイプ(Movable Type)にsitemaps.org形式サイトマップを導入すれば、全てのページをインデックスさせることも可能になる。

注意2007/4/12にGoogleが正式サポートを表明したため、同4/16よりGoogleサイトマップに代りsitemaps.orgサイトマップを生成するテンプレートに変更。

MT用sitemaps.orgサイトマップ生成テンプレート

ASY!ブログにムーバブルタイプ(MT,Movable Type)を使っている人は多い。ASY!の管理人ブログもそうだ。通常はATOMを送信して更新内容を伝えるのだが問題もある。

MTの利用者は自分でインストール出来る位だから中級以上だと思う。そこで初心者向け説明は飛ばして早速本題に入らせてもらう。(あー楽だ)

概要

ASY!これまでのGoogleサイトマップを止め、新たにsitemaps.org形式を採用した理由は主要検索エンジンが公式にサポートを表明した事。 (参考資料SES NYC: Sitemaps & URL Submission

 <W>・・という訳で、これからはsitemaps.org形式で作成しよう。</W>ここで紹介するのはムーバブルタイプ(MT,Movable Type)用テンプレートのソース。これを元にインデックス・テンプレートを作成する。

 サイトの再構築の度にsitemaps.orgサイトマップを作り直してくれる利口者だから、一旦作ってしまえばメンテナンスフリーである。
 但し、自動では送られないので手動で送らなければならない。もっとも、放置しても時々クローラーは見に来るので最初だけ送っておけば後は忘れてもよい。
  sitemaps.orgサイトマップはフィードと違って1日に何度も送って良いものではないから送り過ぎはいけない。

ASY!sitemap.xmlの出力先はhtmlファイルと同じになる。そこがドメインのディレクトリで無い場合は注意して下さい。複数のサイトマップを利用するにはインデックスを作成し、その中へ両方のサイトマップのURIを記入する。
インデックスの名前は sitemap_index.xml にし、これをGoogleに登録すること。

<?xml version="1.0" encoding="UTF-8"?>
     <sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84">
     <sitemap>
        <loc>http://www.example.com/sitemap1.xml.gz</loc>
        <lastmod>2004-10-01T18:23:17+00:00</lastmod>
     </sitemap>
     <sitemap> 
       <loc>http://www.example.com/sitemap2.xml.gz</loc>
        <lastmod>2005-01-01</lastmod>
     </sitemap>
</sitemapindex>

ムーバブルタイプのテンプレート作成

ASY!お使いのムーバブルタイプにログオンし、環境設定>テンプレート>インデックスを開く テンプレートを新規作成>

  • テンプレート名 : 好きな名前
  • 出力ファイル名 : 好きな名前.xml
  • リンクするファイル : 空欄のまま
  • テンプレートの内容 : 下記参照

Escape of Entity

作成と確認

ASY!入力が済んだら保存して再構築する。FTP等でダウンロードして内容を確認、不要なエントリーがあるようならrobots.txtでクローラーが見ないように。 書式はロボット対策 robots.txtの書式にあります。

ASY!Yahoo!検索,Google,LiveSwarchへ通知する方法は何種類かあるので列記しておきます。どれか一つを実行すれば事足りるので、好みの手法で通知して下さい。

注意/ping?sitemap= より後ろの文字列について、URI のエンコード処理(エンティティーのエスケープ)を必要に応じて行なって下さい。

主要検索エンジンへサイトマップを通知する方法

【robots.txtに記入する方法】

ASY!robots.txtを設置できるドメインオーナーだけが行なえる方法なので、プロバイダーのHPスペースや無料サービス上にサイトがある場合は無理。書式は次のように簡単なものです。

Sitemap: サイトマップのURI
記入例:Sitemap: http://dokodemo.rankuappu.com/sitemap.xml

【HTTPリクエストで送信する方法】

ASY!HTTPリクエストとは、検索エンジンへ直接XMLサイトマップのURIを通知する方法。 下記URIをブラウザのアドレスバーへ入力して下さい。これは一度行なえば良く、何度も繰り返す必要はありません。

Google
http://www.google.com/webmasters/sitemaps/ping?sitemap=貴方のサイトマップURI

Yahoo,ヤフー(YST)
http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=貴方のサイトマップURI

LiveSearch(MSNサーチ)
未だに返答が来ていません。Microsoftさん、忘れないで下さい。

検索エンジン側で用意されているツールを使用する方法

ASY!XMLサイトマップの登録を目的とした場合、こういったツールの利用は勧めません。他の方法が上手く出来なかった場合に利用して下さい。どちらも他の検索エンジンに対して全く効果がない事を忘れずに。

Google
グーグル・ウェブマスターツール内にある、サイトマップ登録フォームから通知。このツールを利用する為にはアカウントを取得する必要がある。(無料)

Yahoo,ヤフー(YST)
Yahoo Site Exploror にあるSubmit Site Feedと書かれた登録フォームから貴方のサイトマップを通知しよう。現在はアカウントが要らなくなった模様。