(追記) スキーマのネームスペースが正しくありませんでした。修正しました。最新のネームスペースは適宜参照してください。
検索エンジンに正しくインデックスしてもらうのは大事です。今回モバイルのも同時に作ってみました。
下記Googleのウェブマスター向けヘルプセンターを参照。
1 map.m_sitemap 'mobile_sitemap.xml', :controller => "mobile", :action => "sitemap"
2 map.sitemap 'sitemap.xml', :controller => "top", :action => "sitemap"
ファイルを作成します。:app/views/top/sitemap.xml.builder
(注) サイトマップのスキーマが0.9だと、Google,Yahoo, MSNなどのサーチエンジンが読めるようです。
(注) lastmodタグについてはDate.today.xmlschemaのようにxmlschemaが返す表示形式でOKです。
1
2 xml.instruct! :xml, :version=> '1.0', :encoding => 'UTF-8'
3 xml.urlset :xmlns => 'http://www.sitemaps.org/schemas/sitemap/0.9' do
4 xml.url do
5 xml.loc root_url
6 xml.changefreq 'daily'
7 xml.priority '0.9'
8 end
9
10 xml.url do
11 xml.loc help_url
12 xml.changefreq 'monthly'
13 xml.priority '0.9'
14 end
15 end
ブラウザからアクセスして、サイトマップが表示されるか確認します。
モバイルサイトマップは下記。
(注) モバイルはまだ標準化されていない?ようで、googleのスキーマ 0.84を指定します。
(注)
モバイル用のname spaceを設定する必要があります。
1
2 xml.instruct! :xml, :version=> '1.0', :encoding => 'UTF-8'
3 xml.urlset :xmlns => 'http://www.google.com/schemas/sitemap/0.84',
4 "xmlns:mobile" => 'http://www.google.com/schemas/sitemap-mobile/1.0' do
5 xml.url do
6 xml.loc m_url
7 xml.lastmod lastmodified.xmlschema
8 xml.mobile :mobile
9 end
HTMLに下記を書いておくと、Google, Yahoo!, MSNもとっていってくれます。
1 <link rel="alternate" type="application/rss+xml" title="your title" href="sitemap.xml" />
Googleウェブマスターツールでサイトマップを登録すると、サイトマップが正しくない時にエラー+アドバイスをくれるので便利でした。一度目はマスターツールで確認して、それ以降は上記の
タグでやるのがよさそうですね。
http://brass.to/blog/sitemap_xml_by_rails2_0.html
http://www.google.com/webmasters/tools/
http://www.google.com/support/webmasters/bin/answer.py?answer=35738 googleのサイトマップのエラーと警告について
http://blog.livedoor.jp/botany/archives/50281545.html Google,Yahoo!,MicrosoftがSitemap protocol(サイトマッププロトコル)で合意に