Tópico

Force uma Atualização do Cache do Open Graph do Facebook

Você pode forçar uma atualização do cache do Open Graph do Facebook, porque o Facebook — sozinho entre as principais plataformas — expõe uma forma programática de solicitar. Use o botão Scrape Again do Sharing Debugger para um único link, ou chame o endpoint de scrape da Graph API com um token de acesso do aplicativo. Não há como forçar o WhatsApp, LinkedIn ou X: eles não publicam essa API para ninguém.

O que pega todo mundo

O Meta armazena em cache uma prévia do link com base na URL da página e guarda uma cópia própria da imagem. Ele não relê sua página para perceber que og:image agora aponta para outro lugar.

Então, esse fluxo falha, e é o que a maioria das pessoas tenta:

Alterar a capa → a URL de og:image é nova → assumir que o Facebook vai captar → não capta.

Uma nova URL de imagem quebra o cache da CDN de imagens. Ela não faz nada com o cache do Meta baseado na página. Para mover o Facebook, você precisa dizer ao Meta que a página mudou.

Cache Baseado em Limpo por
Cache da sua página / CDN a URL da página purgando-o
Cache de prévia de link do Meta a URL da página o endpoint de raspagem ou o Sharing Debugger
Cópia da imagem do Meta a URL da imagem uma nova URL de imagem
Sua CDN de imagens a URL da imagem uma nova URL de imagem

Opção 1 — o Sharing Debugger (uma página, manual)

Abra developers.facebook.com/tools/debug, cole a URL da página e pressione Scrape Again. O Meta busca a página novamente e reconstrói a pré-visualização em cache.

Também é o melhor validador gratuito que você tem, porque ele informa o que o Meta realmente encontrou, em vez do que você esperava que estivesse lá: tags og:image ausentes ou duplicadas, imagens inacessíveis, formatos não suportados. Duas coisas que ele não faz: não consegue acessar o WhatsApp (cache separado, no aplicativo do destinatário) e não é uma ferramenta de catálogo — é uma URL por vez, com limite de requisições, e exige uma pessoa na frente dele.

Opção 2 — a Graph API (é isso que um plugin chama)

O equivalente programático usado pela FastOG é um POST para a Graph API com scrape=true:

bash
curl -X POST \
  "https://graph.facebook.com/v21.0/?id=$(python3 -c 'import urllib.parse,sys;print(urllib.parse.quote(sys.argv[1],safe=""))' 'https://your-store.com/product/example')&scrape=true&access_token=${APP_ID}|${APP_SECRET}"

Quatro detalhes que importam:

  • id é a URL da página, não a URL da imagem. A Meta armazena o cache com base na página, então pingar o endereço da imagem não atualiza nada.
  • Um token é obrigatório — a Meta exige um token nesse endpoint desde outubro de 2017. Um token de acesso de aplicativo no formato {app_id}|{app_secret} é suficiente, e ele não exige login de usuário, o que é exatamente o que torna a chamada possível a partir de um job em segundo plano.
  • As versões da Graph API mudam. A FastOG fixa uma versão testada da Graph API; consulte a documentação atual e o changelog da Meta antes de fixar uma versão no seu próprio código.
  • Trate como melhor esforço. A Meta limita a taxa de chamadas de scrape, e uma recusa significa apenas que o Facebook atualiza no próprio cronograma em vez de imediatamente — as tags na sua página já estão corretas.

Como há limite de taxa, não dispare isso inline a cada salvamento de um catálogo grande. Coloque em fila e deduplique por URL, para que salvamentos repetidos do mesmo produto inalterado não gastem o limite de taxa.

Opção 3 — um plugin que faz isso por você

Plugins comercializados como "atualização de cache do Open Graph" se dividem em dois grupos, e apenas um deles consegue corrigir o Facebook:

Mecanismo O que ele limpa Corrige uma prévia do Facebook desatualizada?
Acrescenta uma query string variável à URL da imagem (?v=timestamp) o seu CDN de imagens Não — o cache da Meta é indexado pela página
Chama o endpoint de scrape para a URL da página o cache de prévia da Meta Sim

Antes de instalar um, descubra qual dos dois é. Um parâmetro de timestamp é uma correção real para uma imagem desatualizada e uma não correção para um card do Facebook desatualizado.

O FastOG para WooCommerce faz o segundo, e você não configura nada. O plugin registra os webhooks nativos de produto do WooCommerce, então salvar um produto dispara um re-scrape da Meta para o permalink daquele produto — enfileirado, com deduplicação em uma janela curta e best-effort por design, para que uma recusa nunca falhe o salvamento. Ele se aplica a páginas de produto (product.created / product.updated); edições de categorias e blogs não são cobertas.

O lado da imagem é tratado separadamente, e de forma diferente de todos os concorrentes: como uma URL de capa do FastOG contém os valores que a geraram, editar o preço ou a foto gera uma nova URL de capa. A Meta não consegue re-servir uma imagem cujo endereço não existe mais.

Onde o Facebook não é suficiente

Plataforma Você consegue forçar uma atualização? O que realmente acontece
Facebook Sim — depurador ou scrape=true Solicita um novo rastreamento; o tempo de propagação varia
WhatsApp Não A pré-visualização fica em cache no aplicativo do destinatário; não existe API
LinkedIn Sem API programática documentada Relê em seu próprio cronograma; nenhuma garantia pública de tempo é feita aqui
X / Twitter Sem API programática documentada Relê em seu próprio cronograma; nenhuma garantia pública de tempo é feita aqui
Slack, Discord Não Caches de curta duração que se limpam sozinhos em minutos ou horas

Se uma pré-visualização estiver desatualizada no WhatsApp, a resposta não é uma ferramenta do Facebook — é acertar o lado da loja para que a próxima leitura esteja correta.

Quando ainda mostra a imagem antiga após um scrape bem-sucedido

Percorra esta lista, em ordem:

  1. A página ainda está servindo a tag antiga? curl -s https://your-store.com/product/example | grep -i 'og:image' — uma página HTML em cache com uma og:image desatualizada invalida o scrape por completo. Limpe o cache da página.
  2. A página imprime mais de uma og:image? Se dois plugins emitem uma cada, o crawler pega a primeira que lê. Conte quantas existem.
  3. A imagem está acessível e não está bloqueada? curl -I <image-url> deve retornar 200 com uma Content-Type de imagem. Os crawlers de redes sociais respeitam robots.txt, então uma imagem em um caminho Disallow: falha de um jeito que parece arquivo corrompido — e curl nunca vai reproduzir isso, porque curl ignora robots.txt.
  4. A URL da imagem realmente mudou? Se não mudou, o conteúdo também não mudou — verifique se a edição de preço/foto chegou à fonte da qual o card é gerado.
  5. Verifique o debugger novamente. Se agora ele reporta a nova imagem e o Facebook ainda mostra o card antigo, você está vendo a propagação do próprio Facebook, não as suas tags.

FAQ

Existe uma API oficial para limpar o cache do Open Graph do Facebook?

O FastOG usa o endpoint de scrape (POST https://graph.facebook.com/{version}/?id={page-url}&scrape=true&access_token={token}). A Meta documenta o Sharing Debugger e o fluxo de crawl programático; o formato exato do endpoint e a versão da Graph API podem mudar, então verifique-os na documentação atual da Meta antes de implementar por conta própria.

O Sharing Debugger precisa de um app ou de um token?

Não. É uma ferramenta pública e funciona para qualquer URL pública. O que ela não consegue fazer é rodar em um agendamento ou cobrir um catálogo.

Re-fazer o scrape vai me custar um render do FastOG?

Geralmente não. Uma URL de capa é derivada do conteúdo, então se o conteúdo não mudou, a URL também não mudou, e a busca é um cache hit que não custa nenhum render. Se o preço mudou, a URL mudou — isso é um render novo, e é o render que você queria.

Re-fazer o scrape no Facebook corrige minha prévia do WhatsApp?

Não. São caches separados. O debugger do Facebook ainda vale a pena como validador — ele busca a página da mesma forma que o WhatsApp fará e reporta o que encontrou — mas ele não consegue atualizar o WhatsApp.

Por quanto tempo o Facebook mantém uma prévia se eu nunca fizer o ping?

A Meta documenta um período padrão de re-scrape de cerca de 24 horas, mas o tempo exato de propagação pode variar. É por isso que o debugger e o caminho de crawl programático existem.

Preciso fazer o ping de cada produto após uma importação de catálogo?

É para isso que serve a fila. Enviar uma requisição por produto inline vai estourar o limite de taxa da Meta e deixar a requisição do lojista mais lenta; em fila e com de-duplicação, uma varredura de catálogo é drenada sem causar problemas.

E se a Meta recusar a requisição?

Nada quebra. Um ping recusado ou limitado por taxa significa que o Facebook atualiza no próprio cronograma em vez de imediatamente — as tags na página já estão corretas, e é por isso que a chamada é best-effort em vez de uma dependência rígida.

Experimente grátis — sem necessidade de cadastro

Visualize e teste imagens OG dinâmicas em segundos.

Abrir o Testador de Imagens OG Grátis

A BeCaSimulations site