rails で sitemap を作成する gem


Rubyサイトマップ を作成する gem を紹介します。

sitemap_generator

sitemap_generator を使うと、サイトマップが簡単に作成できます。 Ruby だけでも使えます……が、ここでは Rails の上で私が使用した方法を紹介します。

使用方法

環境は次の通りです。

  • Ruby 2.0.0p451
  • Rails 4.1.0
  • sitemap_generator 5.0.2
  1. Gemfilesitemap_generator を 追加して bundle install します。
  2. rake sitemap:install を実行します。 config/sitemap.rb というファイルが作成されます。
    • このファイルに記述したサイトマップ生成スクリプトは rake sitemap:refresh によって更新されます。
    • config/sitemap.rb が作成される他は特になにも起こりません。 sitemap_generatortasks.rb を覗いてみるとよくわかります。
  3. sitemap.rb を編集します。
    • デフォルトでは ルート(“/”)へのサイトマップが3つ作成されます。 それら3つは changefreq が異なりますが、いらないので削除します。 コード内に SitemapGenerator::Sitemap.include_root = false を記述します。
    • SitemapGenerator::Sitemap.create_index = true を記述して、サイトマップのリストを作成します。
    • サイトマップの作成をpingで通知します。 Google と Bing に届くように設定します。 Yahoo! は Google と検索エンジンが同じであるため Yahoo! の設定は必要ありません。
    • lastmod, priority, changefreq などを出力したくない場合には、それぞれの値に nil を設定します。
    • rake sitemap:refresh が実効されるように、 crontab に記述します。