Ruby で サイトマップ を作成する gem を紹介します。
sitemap_generator
sitemap_generator を使うと、サイトマップが簡単に作成できます。 Ruby だけでも使えます……が、ここでは Rails の上で私が使用した方法を紹介します。
使用方法
環境は次の通りです。
- Ruby 2.0.0p451
- Rails 4.1.0
- sitemap_generator 5.0.2
Gemfileにsitemap_generatorを 追加してbundle installします。rake sitemap:installを実行します。config/sitemap.rbというファイルが作成されます。- このファイルに記述したサイトマップ生成スクリプトは rake sitemap:refresh によって更新されます。
config/sitemap.rbが作成される他は特になにも起こりません。sitemap_generatorのtasks.rbを覗いてみるとよくわかります。
sitemap.rbを編集します。- デフォルトでは ルート(“/”)へのサイトマップが3つ作成されます。 それら3つは
changefreqが異なりますが、いらないので削除します。 コード内にSitemapGenerator::Sitemap.include_root = falseを記述します。 SitemapGenerator::Sitemap.create_index = trueを記述して、サイトマップのリストを作成します。- サイトマップの作成を
pingで通知します。 Google と Bing に届くように設定します。 Yahoo! は Google と検索エンジンが同じであるため Yahoo! の設定は必要ありません。123SitemapGenerator::Sitemap.ping_search_engines(:google => 'http://www.google.com/webmasters/tools/ping?sitemap=%s',:bing => 'http://www.bing.com/webmaster/ping.aspx?sitemap=%s') lastmod,priority,changefreqなどを出力したくない場合には、それぞれの値にnilを設定します。rake sitemap:refreshが実効されるように、crontabに記述します。
- デフォルトでは ルート(“/”)へのサイトマップが3つ作成されます。 それら3つは

