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つは