Seguindo a linha de artigos com dicas para o Sinatra, desta vez vamos aprender como criar um XML de Sitemap, aquele arquivo que descreve as URLs do seu site com o objetivo de facilitar a indexação dos mecanismos de busca. Assim com o Rails, o Sinatra também conta com um grande número de desenvolvedores que produzem gems para facilitar a nossa vida, e nesse caso, vamos usar a gem xml-sitemap.
gem install xml-sitemap |
Após instalar a gem, precisamos declarar no Sinatra uma rota que será responsável por responder as requisições do arquivo de Sitemap.
get '/sitemap.xml' do require 'xml-sitemap' end |
Chegou a hora de descrever as URLs de seu website. Vou colar aqui agora uma cópia do que fiz no site da Top Lab, para efeito de exemplo:
get '/sitemap.xml' do require 'xml-sitemap' map = XmlSitemap::Map.new('toplab.me') do |m| m.add '/sobre' m.add '/servicos' m.add '/projetos' , :priority => 0.2 m.add '/blog' , :priority => 0.2 m.add '/contato' end map.render end |
Logo após instanciar o objeto XMLSitemap::Map com a url que desejamos, adicionamos as nossas URLs. Podemos alterar a prioriddade das URLs com o atributo :priority. Após declarar todas as URLs e fechar o bloco de declaração, basta chamar o método render do objeto que foi instanciado.
Para saber tudo dessa gem, vá ao Github e veja todos os detalhes de configuração dela: https://github.com/sosedoff/xml-sitemap
Boa dica, eu não conhecia essa gem. Já usou o sitemap-generator (https://github.com/kjvarga/sitemap_generator)?
Fala Garnier,
eu tb nao conhecia essa nao. Em Rails eu fazia na mão mesmo, usando um builder XML. Vai facilitar a vida.
Abs.