sitemap_generator
sitemap_generatorとは、XML形式のサイトマップを手軽に作成するためのGemです。
サイトマップとは
サイトマップとはWebサイトのページをまとめたもので、Googleに自身のサイトの構造を伝えることができます。Googlebotなどの検索エンジンのクローラはこのサイトマップを読み込む事でサイト内をより効率的に巡回することができるようになります。
ちなみに、サイトマップには以下のような形式があります。
- XML
- RSS, mRSS, Atom 1.0
- テキスト
- Google サイト
どの形式でも、1つのサイトマップにはサイズが50MB(圧縮しない状態で)以下、URLが 50,000件以下 という制限があります。そのため、サイズが大きい場合や、URLが多い場合は、複数のサイトマップを作成する必要があります。
導入手順
以下のgemを追加します。
gem 'sitemap_generator'
設定ファイルを作成するため、以下のコマンドを実行します。そうするとconfig/sitemap.rb
が作成されます。
rake sitemap:install
sitemap.rb
の中に以下のコードを記述します。
# サイトマップ作成対象のサイト(sitemap_generatorは複数のhostにも対応可能)
SitemapGenerator::Sitemap.default_host = "https://hogehoge"
# サイトマップの出力先を指定
SitemapGenerator::Sitemap.sitemaps_path = 'sitemaps/'
# メインの処理をここに書く
SitemapGenerator::Sitemap.create do
sitemap_list.each do |hash|
add root_path, :changefreq => 'daily'
end
end
実際にサイトマップを作成する際は、用途に合わせて以下のいずれかのコマンドを実行してください。
- sitemapの作成を行いたい時
rake sitemap:create
- sitemapを更新してサーチエンジンに通知したい時
rake sitemap:refresh
- sitemapを更新してサーチエンジンに通知したくない時
rake sitemap:refresh:no_ping
- sitemapを削除したい時
rake sitemap:clean
create
やrefresh
のコマンドを実行するとpublic
にサイトマップが出力されます。デフォルトだとpublic
直下に作成され、ディレクトリを指定した場合はそのディレクトリ内に作成されます。今回の例の場合、作成されるディレクトリはpublic/sitemaps
です。また、サイトマップの拡張子は.xml.gz
となります。