Solidus Dynamic Sitemaps is a sitemap generator based on the sitemap_generator gem. It adheres to the Sitemap 0.9 protocol specification. This is a continuation of the original Spree version, updated to work with the Solidus eCommerce platform.
Features
- 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 Solidus site (products, taxons, login page, signup page)
- Easily add additional sitemaps for pages you add to your solidus site
- Supports Amazon S3 and other hosting services
- Thin wrapper over battle tested sitemap generator
- Add
/sitemap
route to display the sitemap
Configuration Options
Check out the README for the sitemap_generator.
Installation
-
Add the gem to your Solidus store's
Gemfile
:gem 'solidus_dynamic_sitemaps', github: 'jtapia/solidus_dynamic_sitemaps'
-
Update your bundle:
$ bundle install
-
Run the installer, it will create a
config/sitemap.rb
file with some sane defaults$ rails g solidus_dynamic_sitemaps:install
-
Add the sitemap to your
.gitignore
, since it will be regenerated server-side.$ echo "public/sitemap*" >> .gitignore
-
Set up a cron job to regenrate your sitemap via the
rake sitemap:refresh
task. If you use the Whenever gem, add this to yourconfig/schedule.rb
:every 1.day, at: '5:00 am' do rake '-s sitemap:refresh' end
-
Ensure crawlers can find the sitemap, by adding the following line to your
public/robots.txt
with your correct domain name$ echo "Sitemap: http://www.example.com/sitemap.xml.gz" >> public/robots.txt
-
Add link to sitemap to a view[Optional]
<%= link_to 'Sitemap', '/sitemap' %>
Acknowledgements
- The original Spree version of this gem
- The creators & contributors of sitemap_generator
- Joshua Nussbaum's original implementation of spree-sitemap-generator
Upgrading
If you upgrade from early versions of solidus_dynamic_sitemaps
you need to change your sitemaps from:
SitemapGenerator::Sitemap.add_links do
# ...
end
to this:
SitemapGenerator::Sitemap.create do
# ...
end
Contributing
See corresponding guidelines
Copyright (c) 2017 Magmalabs
Copyright (c) 2011-2015 Jeff Dutil and other contributors, released under the New BSD License.