Quantcast
Channel: Lasse Bunk's weblog » Sitemaps
Viewing all articles
Browse latest Browse all 2

Dynamic Sitemaps: Ruby on Rails sitemap plugin

$
0
0

Dynamic Sitemaps enables you to easily create flexible, dynamic sitemaps in Ruby on Rails. It generates sitemaps in the sitemaps.org standard which is supported by several crawlers including Google, Bing, and Yahoo. If the sitemap has more than 50.000 urls – or whatever you set it to using per_page – the plugin will automatically split the sitemap into smaller chunks and generate a sitemap index as specified at sitemaps.org.

To install in Rails 3:

rails plugin install git://github.com/lassebunk/dynamic_sitemaps.git

Generate initializer and route:

$ rails generate dynamic_sitemaps sitemap.xml

In config/initializers/sitemap.rb:

Sitemap::Map.draw do

  # default page size is 50.000 which is the specified maximum at http://sitemaps.org.
  per_page 10

  url root_url, :last_mod => DateTime.now, :change_freq => 'daily', :priority => 1

  new_page!

  Product.all.each do |product|
    url product_url(product), :last_mod => product.updated_at, :change_freq => 'monthly', :priority => 0.8
  end

  new_page!

  autogenerate  :products, :categories,
                :last_mod => :updated_at,
                :change_freq => 'monthly',
                :priority => 0.8

  new_page!

  autogenerate  :users,
                :last_mod => :updated_at,
                :change_freq => lambda { |user| user.very_active? ? 'weekly' : 'monthly' },
                :priority => 0.5

end

You are now able to access your sitemap at http://yourdomain.com/sitemap.xml.

In public/robots.txt:

Sitemap: http://yourdomain.com/sitemap.xml

And at last submit it to Google, Bing, and Yahoo.

If you want to notify search engines with changes to your sitemap, see the Sitemap Notifier plugin.


Viewing all articles
Browse latest Browse all 2

Trending Articles