(追記) スキーマのネームスペースが正しくありませんでした。修正しました。最新のネームスペースは適宜参照してください。
検索エンジンに正しくインデックスしてもらうのは大事です。今回モバイルのも同時に作ってみました。
###sitemap.xmlの形式
下記Googleのウェブマスター向けヘルプセンターを参照。
###routes.rbにサイトマップを登録
rails>>
map.m_sitemap 'mobile_sitemap.xml', :controller => "mobile", :action => "sitemap"
map.sitemap 'sitemap.xml', :controller => "top", :action => "sitemap"
<<--
###viewを作成
ファイルを作成します。:app/views/top/sitemap.xml.builder
(注) サイトマップのスキーマが0.9だと、Google,Yahoo, MSNなどのサーチエンジンが読めるようです。
(注) lastmodタグについてはDate.today.xmlschemaのようにxmlschemaが返す表示形式でOKです。
rails>>
sitemap.xml
xml.instruct! :xml, :version=> '1.0', :encoding => 'UTF-8'
xml.urlset :xmlns => 'http://www.sitemaps.org/schemas/sitemap/0.9' do
xml.url do
xml.loc root_url
xml.changefreq 'daily'
xml.priority '0.9'
end
xml.url do
xml.loc help_url
xml.changefreq 'monthly'
xml.priority '0.9'
end
end
<<--
ブラウザからアクセスして、サイトマップが表示されるか確認します。
モバイルサイトマップは下記。
(注) モバイルはまだ標準化されていない?ようで、googleのスキーマ 0.84を指定します。
(注) **モバイル用のname spaceを設定する**必要があります。
rails>>
mobile_sitemap.xml
xml.instruct! :xml, :version=> '1.0', :encoding => 'UTF-8'
xml.urlset :xmlns => 'http://www.google.com/schemas/sitemap/0.84',
"xmlns:mobile" => 'http://www.google.com/schemas/sitemap-mobile/1.0' do
xml.url do
xml.loc m_url
xml.lastmod lastmodified.xmlschema
xml.mobile :mobile
end
<<--
###サイトマップ登録
HTMLに下記を書いておくと、Google, Yahoo!, MSNもとっていってくれます。
rails>>
###Refs
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(サイトマッププロトコル)で合意に