RubyOnRails - генерация sitemap


Этот день должен был наступить, и он наступил - мне окончательно надоело обновлять sitemap ручками! И, поборов природную лень, я таки реализовал для своего сайта автоматическую генерацию sitemap.xml. Делается все просто. Создаем контроллер SitemapController:
def index
  @urls = ['http://ptica-govorun.ru/', 'http://ptica-govorun.ru/authors']
  @quotes = Quote.all
  @quotes.each do |q|
    @urls.push( url_for :controller => 'quotes', :action => 'show',  :id => q.id)
  end
  headers['Content-Type'] = 'application/xml'
  render :layout => false
end
Создаем index.rxml в директории views/sitemap/

xml.instruct! :xml, :version => '1.0'
xml.tag! 'urlset', 'xmlns' => "http://www.sitemaps.org/schemas/sitemap/0.9" do
  @urls.each do |url|
    xml.tag! 'url' do
      xml.tag! 'loc', url
    end
  end
end
И редактируем routes.rb:
match "/sitemap.xml", :to => "sitemap#index"
Посмотреть результат можно тут.

Комментарии

Популярные сообщения из этого блога

Конвертируем Ruby-приложение в exe

JQuery и Rails - делаем кнопку "like it" со счетчиком

Резервное копирование базы данных по расписанию