SitemapBuilder
==============
SitemapBuilder is a rail plugin for sitemap generation. It is heavily based on Adam Salter's Sitemap Generator plugin (git://github.com/adamsalter/sitemap_generator.git).
This plugin is not a fork of Adam's plugin but a complete rewriting since the goal and the way to build sitemap is different.
Indeed, I wanted a way to build seveal sitemap for the same website depending on some paramters such as the site language (see file sitemap_example.rb).
Installation
============
no gem for now.
script/plugin install git://github.com/franck/sitemap_builder.git
Usage
=======
Create a sitemap.rb file in config/
Create a sitemap instance:
sitemap = SitemapBuilder::Sitemap.new(
:debug => true,
:host => "http://localhost:3000",
:filename => "sitemap.yml",
:ping_search_engines => true
)
sitemap.add root_path
sitemap.add pages_path
Page.all.each do |page|
sitemap.add page_path(page)
end
sitemap.add url_for(:controller => "articles", :action => "index", :only_path => true)
Then add the following lines for the sitemap generation and ping search engines (if set to true):
sitemap.generate
sitemap.ping_search_engines
Then, fire the rake task :
rake sitemapbuilder:create
I use whenever gem (git://github.com/javan/whenever.git) to schedule a new sitemap creation :
every 1.week do
rake "sitemapbuilder:create"
end
A complete example file is available inside the plugin root directory : sitemap_example.rb
Sitemap index
=============
A sitemap index builder is also provided. Example of config/sitemap.rb:
sitemap_index = SitemapBuilder::SitemapIndex.new()
sitemap = SitemapBuilder::Sitemap.new()
sitemap.add root_path
sitemap_index.sitemaps << sitemap
sitemap_index.generate
These lines create a sitemap.xml file and a sitemap_index.xml file in the public directory.
Options
=======
SitemapBuilder::Sitemap accepts several options :
* debug: generate sitemap files, verbose, does not ping search engines even if set to true (default: false)
* host: base url of your website. don't forget the http:// (default: "http://localhost:3000")
* filename: sitemap name (default: "sitemap.xml")
* sitemap_folder: indicate a folder where the sitemap is located (default: "", example: "sitemaps")
* ping_search_engines: ping google, yahoo, bing and ask.com (default: false)
TODO
====
* test coverage
* handling lot of links and sitemap indexes
Copyright (c) 2009 Franck D'agostini, released under the MIT license
Project
sitemap_builder
Rails plugins to build sitemap.xml
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Development
Dependencies
Project Readme