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
/sitemaproute 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.rbfile 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:refreshtask. 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.txtwith 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
# ...
endto this:
SitemapGenerator::Sitemap.create do
# ...
endContributing
See corresponding guidelines
Copyright (c) 2017 Magmalabs
Copyright (c) 2011-2015 Jeff Dutil and other contributors, released under the New BSD License.