Sincronização de preços do WooCommerce na pré-visualização do WhatsApp
Uma sincronização de preços do WooCommerce na pré-visualização do WhatsApp significa que o número no cartão é retirado do seu catálogo no momento em que o cartão é gerado — não está incorporado numa imagem que alguém criou uma vez. Quando isso se verifica, a única questão que resta é quando o WhatsApp volta a ler a ligação, e essa é a única coisa que nenhuma loja consegue controlar.
A resposta curta
Um preço só pode aparecer numa pré-visualização se a imagem for construída a partir de dados de produto em tempo real. Uma imagem destacada estática nunca tem um preço para mostrar; um cartão desenhado uma vez tem o preço que tinha nesse dia. O WooCommerce não disponibiliza, por predefinição, nenhuma imagem com o preço associado, pelo que a queixa do "preço antigo na pré-visualização" são, na verdade, duas questões:
- O cartão sabe qual é o preço atual? — é uma decisão de design, e é a que você pode corrigir.
- A plataforma voltou a ler a página desde que o preço mudou? — é o relógio do WhatsApp, não o seu.
Porque é que o preço fica desatualizado
| Causa | O que você vê | Porque acontece |
|---|---|---|
| A tag aponta para a imagem em destaque | Nenhum preço | Uma fotografia de produto não tem preço |
| O cartão foi criado uma única vez | O preço do dia do design | Nada o regenera |
| Uma promoção terminou | Um risco para um desconto que já acabou | A imagem ainda tem o selo antigo |
| A cache da página está a servir HTML antigo | O cartão antigo, outra vez | O crawler nunca vê o novo URL og:image |
Apenas as três primeiras dizem respeito ao cartão. A quarta diz respeito à sua camada de caching, e parece idêntica vista de fora — é por isso que a ordem de verificação em Instant WhatsApp Image Update for WooCommerce é importante.
O que um cartão sincronizado lê realmente
O FastOG assina um URL de capa por pedido, e as props vêm do produto em tempo real:
| Elemento do cartão | Origem | Nota |
|---|---|---|
| Preço | get_price() |
Num produto com desconto, este é o preço de saldo |
| Preço de comparação ("era") | o preço normal | Enviado apenas quando o produto está realmente em saldo — um "era" igual ao preço atual é um risco que ninguém ganhou |
| Selo de saldo | o estado de saldo do produto | Aparece e desaparece com o saldo |
| Stock | estado do stock | Reflete o catálogo no momento da renderização |
| Fotografia | imagem em destaque primeiro, depois a galeria | Composta dentro do cartão, não cortada pela plataforma |
Essa é a diferença entre "dinâmico" e realmente dinâmico: os valores não são placeholders que um designer preencheu, são lidos da sua loja sempre que um cartão é construído.
Como funciona a "sincronização" nos dois sentidos
Catálogo → cartão. Todos os valores acima são lidos no momento da renderização. Altere um preço e a renderização seguinte mostra o novo valor; não há passo de exportação nem ficheiro para voltar a carregar.
Cartão → cache. Cada valor também viaja dentro do URL da capa assinado. Assim, uma edição de preço altera o URL — o que significa que a imagem antiga deixa de ser endereçável, o CDN não tem nada obsoleto para servir e não é necessário nenhum cache-busting. Nada mais nesta categoria funciona desta forma, porque um plugin auto-alojado baseia a sua imagem num nome de ficheiro que nunca muda.
Cartão → Facebook. Guardar um produto dispara o webhook nativo product.updated do WooCommerce, e o FastOG coloca em fila um novo scrape da Meta para o permalink desse produto, para que o Facebook substitua o cartão em cache em vez de esperar semanas. Consulte Force a Facebook Open Graph Cache Refresh.
Cartão → WhatsApp. Não é possível enviar nada. O cartão correto está à espera da próxima leitura.
O caso-limite da promoção agendada
Uma promoção que começa à meia-noite sem ninguém tocar no produto não dispara nenhum webhook — um detalhe que quebra todos os designs do tipo "atualizamos ao guardar", incluindo o nosso ping ao Facebook.
O que salva o cartão é o facto de não ser gerado antecipadamente: a capa é construída a pedido a partir dos dados atuais do catálogo, pelo que o primeiro pedido após a meia-noite já mostra o preço promocional e o selo. O número desatualizado só pode sobreviver na cache de pré-visualização de uma plataforma, onde será substituído segundo o calendário dessa mesma plataforma. Um cartão que é renderizado, em vez de exportado, é o único tipo que sobrevive a uma promoção que ninguém guardou.
Verifique se o número está sincronizado
O preço é visível no próprio URL da capa, o que torna esta verificação possível sem um depurador:
# What the page is serving right now
curl -s https://your-store.com/product/example | grep -o 'og:image[^>]*' | head -1
# Open that cover URL in a browser and compare the number against the product page.
Se os parâmetros do URL e o cartão renderizado apresentarem ambos o preço atual, e a página do produto mostrar o mesmo, o lado da loja está sincronizado e qualquer desatualização restante é cache da plataforma. Se o URL ainda tiver o preço antigo, a cache da página está a servir HTML anterior à edição — limpe-a.
Para ver isto de ponta a ponta, cole um URL de produto em See Your Links The Way Buyers Do: lê as tags em tempo real e renderiza uma capa a partir dos mesmos dados do produto, lado a lado com o que as plataformas mostrariam hoje.
FAQ
Como é que mostro um preço numa pré-visualização de link do WhatsApp?
Serve um og:image que contenha o preço — o que significa uma imagem gerada a partir do teu catálogo, não uma fotografia estática. O WhatsApp renderiza a imagem para a qual a tag aponta, a 1200×630; o preço só aparece se tiver sido desenhado nessa imagem.
Porque é que a pré-visualização continua a mostrar o preço antigo depois de eu ter terminado a promoção?
Duas causas prováveis: a imagem que a página serve não mudou (cache da página, ou uma imagem estática), ou o WhatsApp está a mostrar uma pré-visualização em cache de antes da alteração. Verifica primeiro o URL atual do og:image — se o preço também estiver desatualizado aí, o problema é da loja; se estiver atualizado, o problema é do WhatsApp.
O cartão mostra o preço promocional ou o preço normal?
O preço promocional — que é o que o WooCommerce reporta como preço atual — com o preço normal ao lado como compare-at, e apenas quando o produto está genuinamente em promoção.
Todos os planos desenham o preço e o selo de promoção?
Sim. Os campos do template não estão restritos a um nível no FastOG: o preço, o preço compare-at e os selos de stock estão disponíveis em todos os planos. Os planos diferem pelos tipos de página, pelo limite de itens e pela variedade de templates, não pelo que uma capa pode mostrar.
O preço é atualizado para links que já foram partilhados?
Para o Facebook, o FastOG pede um novo scrape após a atualização do produto. Para o WhatsApp, o LinkedIn e o X, a próxima leitura acontece segundo o calendário de cada plataforma; não é reclamada qualquer garantia pública de temporização nem API de atualização programática para essas plataformas.
E se eu alterar o preço mas não o template?
Esse é o caso normal e funciona: o template define o layout, o catálogo fornece os valores. Não é preciso redesenhar nada nem voltar a exportar nenhuma imagem.
Um link partilhado durante a promoção continua a mostrar o preço promocional depois de esta terminar?
Apenas enquanto sobreviver a pré-visualização em cache de uma plataforma. O URL da capa muda com o catálogo, por isso a primeira leitura fresca obtém o cartão pós-promoção.
Existe um plano gratuito?
Sim. O nível Community gratuito cobre até 100 itens em páginas de produto, categoria, loja e artigo de blogue, com cinco templates base mais os templates de produto Black Friday e Seasonal Offer. As suas capas são limpas — nenhum plano tem marca de água, incluindo o Community. O Community é renderizado no servidor Community partilhado e está limitado por limites de taxa por loja/IP em vez de por branding. Os planos pagos usam um servidor dedicado separado do Community, aumentam o limite de itens e desbloqueiam templates e capacidades adicionais (selos de avaliação a partir do Starter, mapeamento de metafields a partir do Pro, regras com âmbito e renderização prioritária a partir do Scale). Os planos pagos incluem um teste de 14 dias sem necessidade de cartão de crédito.
Relacionado
- Atualização instantânea de imagens do WhatsApp para WooCommerce
- Forçar a atualização da cache do Facebook Open Graph
- Imagens OG para páginas de produto
- A pré-visualização de links do WhatsApp não aparece? Corrija o og:image
- Como colocar as imagens OG em cache
- Integração com WooCommerce: FastOG para WooCommerce
Experimente gratuitamente — sem necessidade de registo
Pré-visualize e teste imagens OG dinâmicas em segundos.
Abrir o Testador Gratuito de Imagens OG