Criando um sitemap.xml em Rails

Posted May 3rd, 2010 in Desenvolvimento by felipepavao

Dica rápida para quem está precisando criar um arquivo sitemap.xml, aquele mesmo que auxilia os navegadores a indexar melhor as páginas de um site.

Levando em consideração, neste exemplo, que temos um root_controller.rb, criaremos um método sitemap nele.

def sitemap
    @urls = [
              ["1.0", "http://www.domain.com/", "daily"],
              ["0.5", "http://www.domain.com/about", "monthly"],
              ["0.5", "http://www.domain.com/contact", "monthly"],
            ]
    @objects = Object.find(
           :all, 
           :order => "updated_at DESC", 
           :limit => 50000)
 
    response.headers['Content-Type'] = 'application/xml'
    render :action => 'sitemap', :layout => false
end

Como podemos observar, foi criado um hash com as URLs que são estáticas (podem até ter conteúdo dinâmico, mas são URLs que nunca mudarão). Definimos no hash alguns parâmetros como a importância e a frequência que as páginas são atualizadas. Em seguida, recebemos de uma consulta ao banco, objetos que formarão as URLs dinâmicas do site. Definimos também que a resposta da requisição está no formato XML e que aquele determinado método não é renderizado pelo template padrão.

No arquivo de rotas (routes.rb), criaremos uma rota para o método sitemap. Veja abaixo:

map.sitemap "/sitemap.xml", :controller => "root", :action => "sitemap"

Agora precisamos criar o template do XML que vai renderizar os parâmetros do método:

xml.instruct! :xml
xml.urlset "xmlns" => "http://www.sitemaps.org/schemas/sitemap/0.9" do
  @urls.each do |url|
    xml.tag! 'url' do
      xml.tag! 'loc', url[1]
      xml.tag! 'changefreq', url[2] 
      xml.tag! 'priority', url[0] 
    end
  end
  @objects.each do |o|
    xml.tag! 'url' do
      xml.tag! 'loc', object_url(o)
      xml.tag! 'changefreq', 'monthly'
      xml.tag! 'priority', '0.2'
    end
  end
end

Este arquivo, sendo salvo como sitemap.rxml, será responsável por formatar o documento XML. Podemos observar que o primeiro bloco de código é responsável pelas urls estáticas, e a segunda parte faz um loop do objeto que recuperamos do banco de dados.

Agora você já tem um um sitemap.xml para utilizar nas ferramentas de webmasters dos mecanismos de busca.

Futebol e os novos tempos

Posted May 3rd, 2010 in Marketing by felipepavao

Lendo a última entrevista do Eurico Miranda, ex-presidente-achando-que-era-dono do meu clube de coração Vasco da Gama, tive a inspiração para divagar um pouco sobre os negócios que o futebol pode gerar. E o ponto central de onde tirei esses minutos de inspiração foi quando ele mencionou que uma gestão amadora no futebol ainda é mais “produtiva” que a gestão profissional. Segundo ele, a gestão amadora garante a um clube de futebol a manutenção da sua tradição (ignorando os atores principais por manter a tradição de um clube: os torcedores). Ele afirma que só um presidente amador saberia tomar decisões sábias para o futuro do clube.

Para começar, essas afirmações são totalmente furadas: futebol virou negócio, e quem não pensar assim ficará para trás. Um dos exemplos nacionais mais dramáticos é o time do Santa Cruz, com milhares de torcedores no Nordeste, e mesmo assim foi parar na quarta divisão do futebol nacional. Em 2008 foi a vez do meu time, o Vasco da Gama descer a segunda divisão e disputar a competição no ano seguinte. E tantos outros exemplos, como o Corinthians, Fluminense, Bahia, Atlético Mineiro, Botafogo, Palmeiras, entre outros. Os inúmeros exemplos, não só nacionais quanto internacionais, só comprovam a tese que se clubes de futebol tiverem administrações ruins, mesmo sendo de grande porte (com grandes torcidas), não suportarão a forte competição dos concorrentes e não obterão sucesso.

Seguindo esse argumento, chegou a hora de pensar nos negócios que o futebol pode gerar. Até porque, também temos no mundo inúmeros clubes e times-empresa que conseguem gerar ‘N’ formas de receita. Renda dos jogos, produtos, TV e patrocínios não são as únicas fontes. Na verdade, todo trabalho de marketing é baseado no fortalecimento da marca e a aproximação dos torcedores. E os serviços básicos para aproximar seus torcedores são oferecidos e cumpridos a rigor. Um torcedor, que se associa a um clube, consegue comprar ingressos de forma antecipada para todas as partidas de seu clube. E pela internet, sem enfrentar filas!! Além disso, ele tem descontos nos produtos licenciados do clube e pode participar ativamente e consumir as instalações do clube. Não preciso nem comentar sobre as instalações dos clubes europeus, que botam no chão qualquer clube do Brasil.

Então como podemos mudar esse cenário ?  No Brasil nós ainda precisamos do básico. Vender ingressos pela internet e garantir um lugar confortável ao torcedor que é associado é o começo. Precisamos melhorar nossos estádios e instalações também. Alguns clubes nacionais já criaram o seu “dia do torcedor”, onde ele paga um valor determinado  e faz um passeio pelas instalações do clube, estreitando assim o relacionamento. Além de promoções pela internet (que geram incentivos), montar equipes fortes e promover uma administração transparente também são fatores importantes. E a lista não para por aqui. Poderia passar o dia inumerando ações no futebol, mas esse ainda não é o meu trabalho. Quem sabe, um dia.