SEO

Como Indexar Sites em AJAX

Por Frank Marcel

Sites em AJAX sempre foram um impasse para SEO, especialmente porque Search Engines tem problemas para fazer o parsing dessas páginas e rankear os conteúdos dinâmicos. O Google sai na frente mais uma vez para trazer mais um avanço para SERPs - Indexação de conteúdo em sites AJAX.

Frank Marcel

ajax crawlable

Um dos maiores atrativos de sites que utilizam AJAX para seu conteúdo e navegação é também um dos maiores problemas para Search Engines: O fato de que em cliques de navegação somente um trecho da página é atualizado e mais, sem que a página seja completamente recarregada.

As Search Engines não “enxergam” essa atualização pontual. E ainda, o fato de que, até pouco tempo, URLs com # não eram tratadas de maneira de diferente, ou seja:

  • meusite.com/home e
  • meusite.com/home#news3

eram ambas consideradas a URL meusite.com/home, pois os robôs de busca desconsideravam a parte do símbolo # em diante, o que impedia que as Search Engines encontrassem e classificassem o conteúdo de sites em AJAX mais propriamente. Agora isso está para mudar.

Proposta para Tornar AJAX Rastreável

O Google mais uma vez dá o passo antes de seus concorrentes e lança a proposta de como tornar possível que webcrawlers encontrem conteúdos por trás de URLs que dependem do AJAX para ter seu conteúdo exibido – um grande passo que pode ser dado a favor do AJAX.

A proposta do Google procura abrangir os seguintes pontos:

  • Necessidade de mudanças mínimas no website enquanto ele evolui
  • Apresentação de mesmo conteúdo para Search Engines e usuários (sem cloaking)
  • Que os links em resultados de busca levem usuários para a página completa em AJAX, e não somente o pedaço de conteúdo que estava inserido em uma página AJAX
  • Que os webmasters possam verificar que seus sites são renderizados corretamente e que Search Engines consigam acesso a todo o conteúdo

A mudança proposta conta com a adição de uma exclamação (!) em URLs dinâmicas do AJAX, para que os webcrawlers possam acessar o conteúdo por meio de uma URL alternativa, mas que seja transparente para o usuário. De acordo com o Google, funcionará da seguinte maneira:

  1. As URLs atuais são da forma http://example.com/dictionary.html#AJAX , e devem ser disponibilizadas para usuários e webcrawlers de uma nova forma:
  2. http://example.com/dictionary.html#!AJAX, com a exclamação, mas que webcrawlers usariam uma URL diferente para acessar o conteúdo:
  3. http://example.com/dictionary.html?_escaped_fragment_=AJAX e aí sim, Search Engines teriam o acesso completo do conteúdo da URL em AJAX, porém uma versão HTML. Mas nas SERPs, a URL para usuários continuaria sendo:
  4. http://example.com/dictionary.html#!AJAX, com a exclamação.

Essas informações foram divulgadas no último dia do SMX East 2009 e também estão disponíveis no Webmaster Central, blog oficial  do Google, no artigo Proposal for Making AJAX Crawlable, onde está disponível a apresentação abaixo com mais detalhes sobre a proposta:

A motivação para a proposta está logo no começo da apresentação: com a web 2.0, 69% do conteúdo da web é produzido dinamicamente e, ao longo do tempo, não resolver corretamente a apresentação de sites AJAX compromete a gama de resultados possíveis de se apresentar nas SERPs e atrasa a evolução da Web.

Por enquanto, isto é uma proposta e o Google deixou o convite aberto para outras Search Engines abraçarem a solução. Ao longo do tempo, mais novidades vão surgir e nós vamos acompanhando o que mudar. Até a próxima!

LEIA MAIS

Como Fazer o Google Encontrar o Seu Site?

Como Fazer o Google Encontrar o Seu Site?

Você sabia que existem diferentes formas de ajudar o Google a encontrar o seu site? Coloque nossas dicas em prática e faça seu site aparecer no buscador!

Páginas 404 Não Devem Retornar o Código 200 de Status

Páginas 404 Não Devem Retornar o Código 200 de Status

Hoje em dia é muito comum que página de erro 404 sejam customizadas, mas o trabalho de qualquer profissional de SEO é que estas páginas façam realmente o seu papel. Veja como prevenir que suas páginas de erro 404 causem problemas com os seus rankings.

O que é SEO? Confira O Guia do Search Engine Optimization

O que é SEO? Confira O Guia do Search Engine Optimization

Confira, no artigo, o que é SEO, quais são suas características e técnicas, e descubra por que ele é tão vantajoso para empresas que querem ter destaque online.

Comentários
  1. Avatar

    Bem legal… espero que nao demore p/ sair do papel

    Tiago Lucena

  2. Avatar

    Oi !

    Gostaria de saber por exemplo, em uma URL para chamar uma pagina AJAX, eu utilizo:
    http://www.meusite.com/?redirect=frameAJAXContatos
    Isso para indicar para alguém.
    No caso no site é via javascript.

    Como que ficaria para colocar no sitemap do Google, a partir dessa nova idéia a URL em questão?
    http://www.meusite.com/?redirect=frameAJAXContatos

    Ivan

    • Avatar

      Olá Ivan, ao que tudo indica, a URL a ser utilizada em sitemaps provavelmente será com o sinal exclamação. Mas se de fato isso se oficializar, as ferramentas de busca se pronunciariam sobre isso.

      Abraços!

  3. Avatar

    Meu caro Frank,

    Estou procurando sobre isso pois venho obtendo problemas com ajax.
    Teria maiores informações?
    Abraços

    • Avatar

      Olá André, é preciso procurar no blog para webmasters oficial do Google (http://googlewebmastercentral.blogspot.com/). Me lembro de ter lido em algum lugar que esta proposta estaria funcional, mas não tenho certeza.

  4. Avatar

    Olá, execelente artigo.
    Implementei isso no meu site. Há como saber se o google está “vendo” isso?

    Só para confirmar:
    A url: http://falci.me/#!contato
    também pode ser acessada por: http://falci.me/?_escaped_fragment_=contato

    • Avatar

      Acredito que pelo comando site: ou cache: você consiga identificar se o Google está acessando as páginas corretamente.

  5. Avatar

    Estive olhando, o facebook é assim, com #! nas URLs.
    substituir #! por ?_escaped_fragment_= também funciona.

  6. Avatar

    Bem, fiz o teste.
    Implementei essa modificações e fiquei aguardando.
    Antes o Google só indexava o conteúdo da index, agora as demais páginas do meu site (ajax) também estão nos snippet de resultados.

  7. Avatar

    Se eu trabalho com url amigável ficaria conforme o exemplo abaixo?
    http://www.meusite.com/noticias#!AJAX

    • Avatar

      Você deve fazer como o nosso amigo Falci ou como o Facebook faz.

  8. Avatar

    Muito bom, estava precisando dessas dicas, valeu e parabéns!

  9. Avatar

    Olá Frank,
    Já li alguns artigos sobre o tema, mas ainda não achei um comentário de alguém que utilizou essa técnica e não teve problemas quanto a indexação.
    Gostaria de saber qual é o índice de confiabilidade de que o Google vai indexar a página?

    • Avatar

      Thiago, estou as escuras também. Não conheço site que tenha aplicado a técnica.

    • Avatar

      Bem, usei isso em meu portifólio. O indice de acesso não é grande coisa. Mas me parece bem confiável.

      As visitas são as mesmas de quando eu monitorava apenas a index.
      Mas agora tenho as páginas exibidas, e as páginas de saída, entre outras coisas…

      Enfim, não sei se minha experiencia é relevante, mas, para mim os resultados foram muito positivos!

      • Avatar

        Ok, amigo!
        Obrigado pelo comentário.

  10. Avatar

    Ola o meu site ele tem o index com uma div que renderiza conteudos que vem do banco de dados (um campo que tem codigos html e javascript) eu uso java(jsp) com DWR, ao efetuar uma requisição ajax pelo DWR nada é alterado na url. como posso tratar para que o goole reconheça as minhas ID’s de noticias?

    Obs : criei um parametro que chama action exemplo: http://www.meusite.com.br?action=46 desta forma ele vai buscar no banco a informação 46 e renderizar na div principal. o que posso fazer?

    • Avatar

      Me parece que o seu caso não se enquadra no uso do #! e _escaped_fragment, pois você tem uma URL nova a cada requisição.

      O seu problema pode ser que o Googlebot não executa todo tipo de javascript, e aí ele não vai carregar o conteúdo.

  11. Avatar

    Fala Frank, muito bom o artigo.

    Estou aqui pensando, será que não tem como por .htaccess ou até mesmo alguma “gambiarra” no php para mostrar pros bots do Google que http://www.site.com.br/url-amigavel-para-produtos deve levar ao http://www.site.com.br/#!produtos?

    Mas se isso funcionar, será que perderíamos “força” por ter esse redirecionamento?

    Pelo que pude perceber, muitos reclamam que quando usando AJAX temos que fazer dois sites, um pro usuário e outro pro Google, mas com essa alternativa, um código poderia apenas gerar a url amigável sem esforço nenhum.

    O que você acha disso? Será que pode funcionar?

    • Avatar

      Não entendi o que você quer fazer ou por que.
      Se o seu site usa AJAX, a maneira correta de utilizá-lo é conforme está descrito no artigo. Assim o Google não se confunde, acessa o conteúdo.

      Você não vai efetivamente fazer dois sites. Vai apenas carregar os conteúdos de uma maneira diferenciada sem o risco de ser penalizado.

  12. Avatar

    Legal ver que o twitter utilizar #! mas a maioria dos usuários nem sonham em saber o que significa.

    • Avatar

      Sim, para o usuário leigo, dificilmente importa a tecnologia utilizada no site, para o Google é que pode fazer bastante diferença.

  13. Avatar

    Cara.. eu li e reli a documentação lá.. procurei no google.. mas não consegui fazer a HTML snapshot.. vc tem algum exemplo pra eu ver o source? eu preciso muito aprender isso.. se vc puder me ajudar eu agradeço muito..

    • Avatar

      Ofelquis, qual parte do processo foi impeditivo para você?
      Um exemplo de site que tem esse processo funcionando é o Twitter.com.

      • Avatar

        Eu não entendo como faço pra criar a HTML snapshot da pagina.. o exemplo que é deixado no próprio google http://code.google.com/intl/pt-BR/web/ajaxcrawling/docs/html-snapshot.html

        eu não consigo entender.
        O exemplo que eu disse, seria uma pequena demonstração para download, pra saciar as dúvidas vendo o exemplo.
        se vc ter pode disponibilizar?

        • Avatar

          Eu não tenho um exemplo para te passar. Mas tão logo eu providencie algo, eu aviso.

  14. Avatar

    Bacana o post, bem instrutivo!

    Pena que ta meio “velho”, e concerteza o google ja deve ter algumas formas alternativas de indexação de paginas com ajax.
    O pessoal da mestre podia colocar mais conteudo de SEO referente a ajax, ainda mais com o html5 ai aumentando 287237426% o leque de possibilidades com Ajax.

    Obrigado! =D

    • Avatar

      Gabriel, em termos de anúncios oficiais do Google sobre AJAX, esse é o único que me lembro de ter visto. Também, não me recordo de nenhuma assunto extra oficial sobre formas diferentes de fazer o Google indexar AJAX, além das conhecidas até o momento deste post.

      Se você achou algo por aí, manda pra gente! =)

Os comentários estão fechados.

Já pensou em fazer parte do nosso time de mestres?