O rastreador do Facebook

Na maioria das vezes, os conteúdos são compartilhados no Facebook na forma de uma página da Web. Da primeira vez que uma pessoa compartilha um link, o Rastreador do Facebook extrai o HTML no URL para coletar, armazenar em cache e exibir informações sobre o conteúdo no Facebook, como um título, descrição e imagem em miniatura.

Acesso do rastreador

O rastreador do Facebook precisa ser capaz de acessar seu conteúdo para extraí-lo e compartilhá-lo corretamente. Suas páginas devem estar visíveis ao rastreador. Caso você exija o login ou outro tipo de acesso restrito ao seu conteúdo, será preciso incluir nosso rastreador na lista de liberação. Você também deve isentá-lo de mecanismos de proteção DDoS.

Se o conteúdo não estiver disponível no momento da extração, você pode forçar uma nova extração quando ele estiver disponível, passando o URL pelo Depurador de compartilhamento.

Identificar o rastreador

O rastreador do Facebook pode ser identificado por qualquer uma dessas cadeias de caracteres do agente do usuário:

facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

ou

facebookexternalhit/1.1

Você pode direcionar um desses agentes do usuário para fornecer ao rastreador uma versão não pública da sua página que só tenha metadados e nenhum conteúdo real. Isso ajuda a otimizar o desempenho e é útil para manter em segurança conteúdos em paywall.

Desde 28 de maio de 2014 você também pode ver um rastreador com a seguinte cadeia de caracteres do agente do usuário:

Facebot

Facebot é o robô de rastreamento da Web do Facebook que ajuda a melhorar o desempenho dos anúncios. O Facebot foi projetado para ser educado. Ele tenta acessar cada servidor da Web apenas uma vez após alguns segundos, alinhado aos padrões da indústria, o Facebook respeita as suas configurações de robots.txt.

Lembre-se de que o Facebot verifica as alterações no arquivo de robots.txt do seu servidor apenas algumas vezes por dia, portanto, as atualizações serão observados no próximo rastreamento e não imediatamente.

Limite de taxa do rastreador

Você pode rotular suas páginas e objetos para alterar o tempo que o rastreador do Facebook irá aguardar para verificá-los em busca de novos conteúdos. Use a propriedade de objeto og:ttl para limitar o acesso do rastreador se nosso rastreador estiver sendo muito agressivo.

Dar acesso ao rastreador

Há duas formas de dar acesso ao rastreador:

  1. Incluir as cadeias de caracteres do agente do usuário listadas acima em uma lista de liberação, o que não requer manutenção
  2. Incluir os endereços IP usados pelo rastreador em uma lista de liberação, o que é mais seguro:

Execute esse comando para obter uma lista atual de endereços IP que o rastreador usa.

whois -h whois.radb.net -- '-i origin AS32934' | grep ^route  

Isso retornará uma lista de endereços IP que mudam com frequência:

# For example only - over 100 in total
31.13.24.0/21 
66.220.144.0/20    
2401:db00::/32  
2620:0:1c00::/40  
2a03:2880::/32 

Garantir uma latência razoável

Você precisa garantir que os recursos referenciados nas URLs para serem rastreados possam ser recuperados pelo rastreador de modo relativamente rápido, em questão de apenas alguns segundos. Se o rastreador não puder fazer isso, o Facebook não poderá exibir o recurso.

URLs canônicas

Nosso rastreador localiza conteúdos para compartilhar, determinando um URL que você designou como o URL canônico.

Como melhor prática, você deve rotular todas as variações de uma página com o URL canônico usando uma marcação og:url (preferencial) ou link rel="canonical". O HTML para o URL canônico em si também deve conter uma marcação og:url para designar a si mesma como o recurso canônico.

<meta property="og:url" content="https://example.com/path" />

Isso garante que todas as ações, como curtidas e compartilhamentos, fiquem reunidas no mesmo URL, em vez de espalhadas em diversas versões de uma página.

Isso também significa que diferentes versões do mesmo conteúdo serão tratadas da mesma forma, ainda que elas estejam hospedadas em subdomínios distintos ou possam ser acessadas tanto por http:// quanto por https://.

Se necessário, nosso rastreador seguirá uma cadeia de redirecionamentos para determinar o URL canônico.

Migrar conteúdos/Atualizar URLs

Se você migrar seu conteúdo de um URL para outro, as curtidas e compartilhamentos não migrarão automaticamente. Você pode manter as contagens de curtidas e compartilhamentos com estas duas etapas:

1. Isente o rastreador do Facebook do seu redirecionamento de HTTP

Use um redirecionamento de HTTP 301 ou 302 para enviar as pessoas para o novo URL quando elas visitarem o antigo URL.

O rastreador precisa ser capaz de acessar a antiga página, portanto isente o agente do usuário do rastreador do redirecionamento e só envie um redirecionamento de HTTP para clientes do rastreador que não sejam do Facebook.

O HTML do antigo URL ainda deve conter marcações do Open Graph (incluindo uma marcação og:url apontando para si mesma) e retornar uma resposta de HTTP 200 quando o rastreador carregá-lo.

Também garanta que os registros AAAA sejam atualizados corretamente ao alterar o URL, já que o rastreador procurará por um e responderá o código zero se nenhum for encontrado.

2. Use a antiga página como o URL canônico para a nova página

Adicione essa marcação ao HTML do novo URL:

<meta property="og:url" content="https://example.com/old-url" />

Embora a marcação og:url seja preferível, esse método também funcionará com rel=canonical.

Isso indica ao nosso rastreador que o URL canônico está no antigo local e o rastreador a usará para gerar o número de Curtidas de uma página. Novas curtidas em qualquer um dos locais serão incluídas em ambos os locais.

O URL antigo precisa ainda processar um documento com tags do Open Graph e retornar uma resposta HTTP 200, pelo menos quando carregado pelo rastreador do Facebook. O URL antigo deve conter sua própria tag og:url que aponta para si mesmo. Se você quiser que outros clientes sejam redirecionados ao visitar o URL, envie sua resposta 301 HTTP a todos os clientes do rastreador que não forem do Facebook.

Você pode aprender a reconhecer o rastreador do Facebook em nosso Guia de melhores práticas de compartilhamento.