Help us understand the problem. What is going on with this article?

Railsでサイトマップを作成する方法

More than 1 year has passed since last update.

sitemap_generator

sitemap_generatorとは、XML形式のサイトマップを手軽に作成するためのGemです。

サイトマップとは

サイトマップとはWebサイトのページをまとめたもので、Googleに自身のサイトの構造を伝えることができます。Googlebotなどの検索エンジンのクローラはこのサイトマップを読み込む事でサイト内をより効率的に巡回することができるようになります。

ちなみに、サイトマップには以下のような形式があります。

  1. XML
  2. RSS, mRSS, Atom 1.0
  3. テキスト
  4. 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

createrefreshのコマンドを実行するとpublicにサイトマップが出力されます。デフォルトだとpublic直下に作成され、ディレクトリを指定した場合はそのディレクトリ内に作成されます。今回の例の場合、作成されるディレクトリはpublic/sitemapsです。また、サイトマップの拡張子は.xml.gzとなります。

yoshito410kam
沖縄でのんびり暮らしている暇人です
http://utina.yoshitokamizato.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした