Módulo 1 · 1.2
Rastreio: como um motor de pesquisa encontra o seu site
Módulo 1: Como funcionam os motores de pesquisa · Tempo de leitura: 11 minutos
Objetivo de aprendizagem: No final desta lição, conseguirá descrever como um crawler descobre novas páginas, que códigos de estado encontra e o que significam, e o que impede um crawler de avançar.
Conceitos chave: crawler (Googlebot, Bingbot), seguir ligações, sitemap, código de estado HTTP (200, 301, 302, 404, 410, 429, 5xx), redirecionamento, orçamento de rastreio, JavaScript e renderização, página órfã, robots.txt
O que é um crawler
Um crawler (também chamado spider ou bot) é um programa que obtém páginas web, tal como o seu navegador, mas de forma automática e em enorme escala. O Google tem o Googlebot, o Bing tem o Bingbot. Pedem um endereço, recebem o HTML, leem as ligações que este contém e colocam esses novos endereços na sua lista para os obter mais tarde.
O Google afirma que, em média, o Googlebot não visita um site mais do que uma vez a cada poucos segundos, e que a maioria dos pedidos vem da versão para smartphone do Googlebot. Ou seja, o Google vê o seu site sobretudo como um telemóvel o vê. A lição 4.2 volta a este tema.
Um crawler também se pode fazer passar pelo Googlebot: o nome (o user-agent) é fácil de imitar. O Google recomenda verificar uma visita suspeita com uma pesquisa de DNS inversa do endereço IP. Isto é útil se vir no registo do servidor um "Googlebot" com um comportamento estranho.
Como um crawler encontra novas páginas
O Google indica três formas:
- Voltar a visitar páginas que já conhece. Aí deteta alterações e novas ligações.
- Seguir ligações. Uma ligação a partir de uma página que o Google já conhece para uma página nova é a forma mais importante de ser encontrado. Isto aplica-se às ligações dentro do seu próprio site (o menu, uma ligação num texto) e às ligações a partir de outros sites.
- Uma lista fornecida por si: o sitemap. Um sitemap é um ficheiro com os endereços das suas páginas. Pode enviá-lo na Search Console ou indicá-lo no robots.txt (lição 3.4). Segundo o Google, um sitemap não é obrigatório, mas é útil, sobretudo para sites novos com ainda poucas ligações, sites grandes e páginas que estão muito fundo na estrutura do site.
As ligações têm de ser ligações verdadeiras
O Google só consegue seguir uma ligação se for um elemento <a> normal com um href:
<a href="/ramos-de-noiva">Ramos de noiva</a> <!-- correto -->
<span onclick="ga('/ramos-de-noiva')">Ramos de noiva</span> <!-- não é uma ligação para o Google -->Um botão que só salta para outra página através de JavaScript não é uma ligação para um crawler. Uma página para a qual nenhuma outra aponta chama-se página órfã (orphan page). Um crawler só a encontra através do sitemap, e os visitantes também dificilmente a encontram. Por isso, uma página nova deve ter sempre uma ligação a partir do menu ou de um texto.
JavaScript: primeiro obter, depois executar
Muitos sites modernos constroem a página com JavaScript no navegador. O Google consegue lidar com isso: executa o JavaScript com uma versão recente do Chromium, a base do navegador Chrome. A isto chama-se renderização. O Google descreve três fases para estas páginas: rastreio, renderização e indexação. As páginas com estado 200 entram numa fila de espera para serem renderizadas.
Duas consequências:
- O que só aparece na página depois do JavaScript é visto pelo Google mais tarde do que o que está diretamente no HTML.
- Nem todos os crawlers executam JavaScript. O próprio Google o afirma. Texto, títulos e ligações que estão diretamente no HTML são, por isso, a opção mais segura para todos os motores de pesquisa. O Google considera o HTML gerado no servidor "ainda uma boa ideia".
As verificações automáticas deste curso leem o HTML tal como o servidor o envia, sem JavaScript. O que vê no seu navegador pode ser diferente.
Códigos de estado: o que o servidor responde
Com cada página, o servidor envia um código de estado. Não o vê no ecrã, mas um crawler lê-o em primeiro lugar:
| Código | Significado | O que o Google faz |
|---|---|---|
| 200 | OK, aqui está a página | O conteúdo segue para a indexação (a inclusão não está garantida) |
| 301 / 308 | Mudou permanentemente para outro endereço | Sinal forte de que o novo endereço é o correto |
| 302 / 307 | Temporariamente noutro sítio | Sinal fraco; o endereço antigo continua muitas vezes a ser o endereço principal |
| 404 / 410 | Não existe (ou deixou de existir) | Um endereço já incluído sai do índice; o Google passa a visitá-lo cada vez menos |
| 429 | Demasiados pedidos | O Google rastreia temporariamente mais devagar |
| 5xx | Erro no servidor | O Google rastreia temporariamente mais devagar; se um endereço continuar a dar erro de servidor, acaba por sair do índice |
Atenção ao soft 404: uma página que mostra "não encontrado" mas devolve o estado 200. Para o crawler parece uma página verdadeira, para o visitante não. A Search Console assinala estas páginas à parte. Uma página eliminada deve, portanto, devolver um verdadeiro 404 ou 410, ou redirecionar com um 301 para uma página de substituição.
O Google segue uma cadeia de redirecionamentos (de http para https, para www, para a nova página) até cerca de dez passos, mas cada passo custa tempo. A lição 4.1 mostra como fazer isso num só passo.
O que impede um crawler de avançar
O Google indica como causas para uma página não ser rastreada: problemas no servidor, problemas de rede e regras no robots.txt que proíbem o acesso ao Googlebot. Na prática, encontra também:
- um site que ainda está em "modo de manutenção" ou protegido por palavra-passe;
- no WordPress, a opção "Desencorajar os motores de pesquisa de indexar este site", que define um noindex (isso é o passo 2, mas o efeito é o mesmo: o site não é encontrado);
- uma proteção ou firewall que recusa bots desconhecidos com 403 ou 429;
- um site em que só se consegue navegar através de botões em JavaScript.
O robots.txt tem uma lição própria (3.3). Por agora basta saber: é um ficheiro de texto em https://www.example.com/robots.txt que indica que partes do seu site um crawler não pode obter.
Orçamento de rastreio: para a maioria dos sites, não é motivo de preocupação
Lê-se muito online sobre o orçamento de rastreio (crawl budget): quantas páginas do seu site o Google quer e consegue obter. O Google diz que o guia sobre o tema se destina a sites grandes, com uma estimativa aproximada de mais de um milhão de páginas, ou mais de dez mil páginas que mudam diariamente. Se as suas novas páginas já são obtidas no dia da publicação, não precisa de se preocupar com isso. Para um site como o do Atelier Floral Beatriz, com trinta páginas, não é um tema. Um sitemap atualizado e uma consulta ocasional ao relatório de indexação são suficientes.
Na prática: o registo do seu servidor
No DirectAdmin e em painéis semelhantes, pode consultar o registo de acessos do seu site. Pesquise por "Googlebot" ou "bingbot" e verá que páginas pediram e que código de estado receberam. Se vir muitos 404 ou erros 5xx, sabe por onde começar. Noutros fornecedores, os registos encontram-se normalmente com um nome semelhante no painel de cliente.
Resumo
- Um crawler obtém páginas e encontra novos endereços através de ligações e do seu sitemap.
- Só são seguidas ligações
<a href>verdadeiras; uma página sem ligações a apontar para ela é uma página órfã. - O Google executa JavaScript, mas mais tarde; outros crawlers muitas vezes não. O conteúdo importante deve estar no HTML.
- O código de estado determina o que um crawler faz: 200 processar, 301 mudar de endereço, 404/410 remover, 5xx e 429 rastrear mais devagar.
- O orçamento de rastreio só é relevante em sites muito grandes ou que mudam muito depressa.
Questionário
Exercício
Exercício A1.2: O que vê um crawler na sua página inicial? Introduza o endereço do seu site (ou www.wikipedia.org se não tiver um site próprio). Indique depois o que espera: o código de estado da página final, o endereço onde chega após os redirecionamentos e se tem um noindex. O programa obtém a página inicial como um crawler, sem JavaScript, e mostra a cadeia de redirecionamentos, o código de estado, o número de ligações verdadeiras para o seu próprio site no HTML e se o texto da página é legível sem JavaScript.
Para saber mais
Os passos destes artigos aplicam-se aos painéis da WebOké; noutros fornecedores, o funcionamento é semelhante.
- Manual DirectAdmin 4.7: Config. redirecionamentos do site: redirecionar um domínio ou uma página
- Manual DirectAdmin 17.2: Estatísticas e logs dos domínios: o log de erros e o log de acesso
- Redirecionar obrigatoriamente os visitantes para https
- Google, Como os códigos de estado HTTP e os erros de rede afetam a Pesquisa Google: https://developers.google.com/search/docs/crawling-indexing/http-network-errors
- Google, Noções básicas de SEO com JavaScript: https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
- Google, Orçamento de rastreio para sites grandes: https://developers.google.com/crawling/docs/crawl-budget
- Curso gratuito de WordPress 3.2: www, redirecionamento e conteúdo misto
