Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Spree Sitemap

Build Status Code Climate

Spree Sitemap is a sitemap generator based on the sitemap_generator gem. It adheres to the Sitemap 0.9 protocol specification.


  • Notifies search engine of new sitemaps (Google, Yahoo, Ask, Bing)
  • Supports large huge product catalogs
  • Adheres to 0.9 Sitemap protocol specification
  • Compresses sitemaps with gzip
  • Provides basic sitemap of a Spree site (products, taxons, login page, signup page)
  • Easily add additional sitemaps for pages you add to your spree site
  • Supports Amazon S3 and other hosting services
  • Thin wrapper over battle tested sitemap generator

Configuration Options

Check out the README for the sitemap_generator.


  1. Add this extension to your Gemfile with this line:

Spree >= 3.1

gem 'spree_sitemap', github: 'spree-contrib/spree_sitemap'

Spree 3.0 and Spree 2.x

gem 'spree_sitemap', github: 'spree-contrib/spree_sitemap', branch: 'X-X-stable'

The branch option is important: it must match the version of Spree you're using. For example, use 3-0-stable if you're using Spree 3-0-stable or any 3.0.x version.

  1. Install the gem using Bundler:
bundle install
  1. Copy & run migrations
bundle exec rails g spree_sitemap:install
  1. Restart your server

If your server was running, restart it so that it can find the assets properly.

  1. Add sitemap to your .gitignore

echo "public/sitemap*" >> .gitignore

  1. Setup a daily cron job to regenrate your sitemap via the rake sitemap:refresh task. If you use the Whenever gem, add this to your config/schedule.rb
every, at: '5:00 am' do
  rake '-s sitemap:refresh'
  1. make sure crawlers can find the sitemap, by adding the following line to your public/robots.txt with your correct domain name

echo "Sitemap:" >> public/robots.txt



Bitcoin donations may be sent to: 18HEAFjeDaa15AihyGvKvR19XEkm5aCJk5


If you upgrade from early versions of spree_sitemap you need to change your sitemaps from:

SitemapGenerator::Sitemap.add_links do
  # ...

to this:

SitemapGenerator::Sitemap.create do
  # ...


See corresponding guidelines

Copyright (c) 2011-2015 Jeff Dutil and other contributors, released under the New BSD License.