TL;DR O Google lê PDFs, mas trata-os como ficheiro "fechado": sem dados estruturados nem rich results de preço. Preços e catálogos devem viver em páginas HTML/WordPress com JSON-LD (Product + Offer + PriceSpecification). O PDF fica como complemento (ficha técnica, manual, documento regulatório), sempre com versão HTML equivalente. A IA cita sobretudo HTML e texto extraível, por isso o formato escolhido decide se a marca é recomendada. A Semly mede se a IA cita a marca e ajuda a corrigir o que falta.
Como publicar preços e catálogos no WordPress (e porque o PDF não chega)
Se tem uma loja online, provavelmente já passou por isto: tem um catálogo bonito em PDF, com todos os preços, e pergunta-se se vale a pena transformá-lo em páginas do site. A resposta curta é sim, vale. E há uma razão simples para isso.
O Google consegue ler PDFs. A documentação oficial do Google Search Central classifica o PDF como um formato "encoded", ou seja, um ficheiro que precisa de um parser dedicado para extrair o texto legível. O HTML, por outro lado, é um formato "flat": texto simples com marcação, que o motor lê de forma nativa. Na prática, isto significa que um PDF é indexado, mas não recebe dados estruturados, não gera rich results de preço e dá muito menos informação ao Google sobre o que está a vender.
E o que a IA "vê"? Os motores generativos como ChatGPT, Gemini e Perplexity citam sobretudo HTML e texto facilmente extraível. Um estudo da Universidade de Cambridge (Data & Policy, 2026) mostrou que o Gemini não cita qualquer fonte em 92% das respostas e que as queries comerciais têm um "gap" de atribuição 76% maior do que outras categorias. Traduzindo: quando alguém pergunta a uma IA por um produto, é muito provável que a sua loja não seja mencionada, mesmo que venda exatamente o que a pessoa procura.
Por isso, a regra prática é esta: preços e catálogos em HTML, com dados estruturados. PDF apenas como apoio.
Mini-tabela: PDF vs. WordPress
| Critério | WordPress/HTML | |
|---|---|---|
| Indexação Google | Sim (encoded, parser dedicado) | Sim (flat, nativo) |
| Dados estruturados | Não suportado | JSON-LD, Microdata, RDFa |
| Rich results de preço | Não | Sim (Product/Offer) |
| Atualização de preço | Manual, versionamento frágil | Dinâmica, por URL |
| Citação por IA | Rara, extração frágil | Frequente, texto extraível |
| Multi-moeda/variantes | Impraticável | URL por moeda e por variante |
Quando o PDF ainda faz sentido
Não precisa de apagar os seus PDFs. Há documentos em que o formato continua a ser a melhor escolha: fichas técnicas, manuais de utilização, certificados, documentos regulatórios e catálogos muito grandes e estáticos, usados mais como arquivo.
A regra de ouro é simples: sempre que tiver um PDF com informação que também interessa ao cliente, crie uma versão HTML equivalente e aponte o rel=canonical do PDF para essa página. Assim, o Google sabe qual é a versão principal.
E no feed do Google? O PDF entra como [document_link], ou seja, como anexo do produto. Nunca como fonte de preço. Essa distinção é importante e vale a pena guardar.
Passo 1 — Preparar o que precisa antes de começar
Antes de mexer no site, junte tudo o que vai precisar. Vai poupar tempo e evitar erros.
Acessos e contas:
- Acesso de administrador ao WordPress e ao WooCommerce.
- Acesso ao Google Search Console.
- Conta no Google Merchant Center (opcional, mas recomendada).
Dados por produto (checklist):
- Nome do produto.
- Preço e moeda no formato ISO 4217 (por exemplo, EUR ou BRL).
- Disponibilidade (em stock, esgotado, pré-encomenda).
- Imagem com pelo menos 500×500 px. O Google vai exigir este mínimo para todas as imagens de produto, com aplicação a partir de 31 de janeiro de 2027.
- GTIN, marca e SKU, quando existirem.
Atenção: o preço, a disponibilidade e a moeda têm de ser iguais no site, no feed e no checkout. Esta é a causa mais comum de falha em rich results e de informação errada dada pela IA.
Passo 2 — Criar a página de produto em HTML no WordPress
Aqui é onde o preço passa a ser visível para máquinas.
- No painel do WordPress, vá a Produtos e clique em Adicionar novo.
- Preencha o nome, a descrição e o preço. O preço tem de estar em texto, não dentro de uma imagem.
- Escolha a moeda e a disponibilidade corretas.
- Publique e verifique se o URL está limpo e único.
Algumas decisões que fazem diferença:
- Uma página por variante. Se vende o mesmo produto em três tamanhos, cada um deve ter o seu URL.
- Uma página por moeda. Se vende em euros e em reais, o Google recomenda um URL distinto por moeda.
- Nada de preço só em JavaScript. Se o preço só aparece depois de um script correr, o Google pode não o ver.
Passo 3 — Adicionar dados estruturados JSON-LD (Product + Offer)
Os dados estruturados são a forma de dizer ao Google, de maneira explícita, o que é o produto e quanto custa. O Google recomenda JSON-LD, e é também a escolha que a Semly defende para estratégias de GEO.
Campos mínimos: name, image e offers com price e priceCurrency. Recomendados: availability, itemCondition, priceValidUntil, gtin, brand e sku.
Um exemplo curto:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Ténis de corrida modelo X",
"image": "https://exemplo.pt/img/tenis-x.jpg",
"brand": { "@type": "Brand", "name": "Marca Y" },
"offers": {
"@type": "Offer",
"price": "89.90",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
}
}
Onde colocar o código? Em muitos temas de WordPress e no WooCommerce, isto já é gerado automaticamente. Se não for, pode usar um plugin de dados estruturados ou pedir a quem gere o site para adicionar o bloco no HTML inicial da página. Não precisa de ser programador para isto.
Para promoções, marque o preço original com priceType: StrikethroughPrice e o preço ativo em price. Para preços de membro, use validForMemberTier. Para preço unitário, obrigatório em contexto europeu em produtos vendidos a peso ou volume, use UnitPriceSpecification com referenceQuantity.
Uma nota importante: páginas de categoria ou de listagem não são elegíveis para rich results de produto. O Google só suporta páginas focadas num único produto, ou em variantes do mesmo produto.
Passo 4 — Ligar o catálogo ao feed do Google
Ter dados estruturados na página é ótimo. Ter também um feed no Merchant Center é melhor ainda. O Google combina as duas fontes quando ambas existem, e o feed é descrito como uma base fundamental para os formatos de pesquisa com IA.
Atributos obrigatórios do feed: id, title, description, link, image_link, availability, price, brand e gtin quando disponível.
Duas coisas a não esquecer:
- Consistência. O que está no feed tem de coincidir com o que está no site.
- Sitemap. Submeta o sitemap no Search Console para ajudar o Google a encontrar as páginas.
Passo 5 — Verificar se o Google e a IA estão a ver o conteúdo
Publicar não chega. É preciso confirmar que funcionou.
- Inspecione o URL no Search Console e veja se a página foi indexada.
- Teste os dados estruturados com a ferramenta de teste de resultados enriquecidos.
- Pesquise pelo produto no Google e veja se o preço aparece.
- Pergunte diretamente a uma IA pelo produto e verifique se a sua marca é mencionada.
Sintomas e o que fazer:
- O preço não aparece nos resultados. Verifique se o markup está no HTML inicial e se o preço no site coincide com o do feed.
- Dados estruturados inválidos. Confirme os campos obrigatórios e o formato da moeda.
- A IA não menciona a marca. Normalmente falta conteúdo em HTML, dados estruturados ou menções externas. É aqui que a Semly ajuda: mostra quais fontes a IA cita e onde a sua marca está ausente.
Erros mais comuns e como corrigir
- Preço só em PDF. Causa: o catálogo nunca foi convertido. Correção: criar páginas de produto em HTML.
- Preço dentro de uma imagem. Causa: design feito em ferramenta gráfica. Correção: colocar o preço em texto.
- Markup gerado por JavaScript. Causa: tema ou plugin mal configurado. Correção: garantir o JSON-LD no HTML inicial.
- Preço desatualizado. Causa: atualização manual esquecida. Correção: manter site e feed sincronizados.
- Moeda ou disponibilidade inconsistentes. Causa: dados diferentes em cada canal. Correção: uniformizar tudo.
- PDF sem versão HTML. Causa: falta de página equivalente. Correção: criar a versão HTML e apontar o canonical.
- Sitemap esquecido. Causa: nunca foi submetido. Correção: submeter no Search Console.
O que fazer a seguir
Depois de publicar, o trabalho passa a ser de manutenção. Mantenha os preços atualizados, porque dados desatualizados podem levar a IA a ignorar os seus produtos. Vá medindo as citações da IA ao longo do tempo, para perceber se a marca está a ganhar terreno.
Se quiser simplificar, a Semly foi feita exatamente para isto. A plataforma monitoriza prompts, analisa as fontes citadas pelos modelos de IA e integra-se com WooCommerce e WordPress através de uma chave de API, sem precisar de código. O Leon AI Agent verifica ainda se o schema.org, o llms.txt e o robots.txt estão corretos, e deteta conteúdo invisível para os bots de IA. Tudo isto com relatórios de visibilidade e comparação com concorrentes, para saber onde está e o que falta corrigir.
E se vender noutros canais, como marketplaces ou redes sociais, o princípio mantém-se: o preço tem de estar em formato legível por máquinas, em cada canal onde aparece.
Mini-dicionário
- JSON-LD: formato de dados estruturados que descreve o conteúdo da página para os motores de busca.
- Dados estruturados: informação organizada num formato que as máquinas entendem.
- Rich results: resultados enriquecidos no Google, com preço, imagem ou disponibilidade.
- Feed: ficheiro com a lista de produtos enviado ao Google Merchant Center.
- GEO: otimização para motores generativos, ou seja, para que a IA recomende a sua marca.
Checklist final antes de publicar
- Cada produto tem uma página HTML própria.
- O preço está em texto, não em imagem.
- O JSON-LD inclui
name,image,offers,priceepriceCurrency. - A moeda está no formato ISO 4217.
- A disponibilidade está definida.
- A imagem tem pelo menos 500×500 px.
- O preço é igual no site, no feed e no checkout.
- O sitemap foi submetido.
- O URL foi inspecionado no Search Console.
- Perguntou a uma IA pelo produto e verificou se a marca aparece.
FAQ
O Google lê PDFs? Sim, lê. Mas trata-os como ficheiros "encoded", sem dados estruturados nem rich results de preço. Por isso, para preços e catálogos, o HTML é sempre a melhor escolha.
Posso manter os meus PDFs? Pode, e deve, para fichas técnicas, manuais e documentos regulatórios. Só precisa de garantir que existe uma versão HTML equivalente, com o canonical do PDF a apontar para ela.
Preciso de saber programar para adicionar JSON-LD? Não necessariamente. Muitos temas e o WooCommerce já geram os dados estruturados. Se não for o caso, um plugin ou a ajuda de quem gere o site resolve.
Porque é que a IA não fala da minha loja? Normalmente porque falta conteúdo em HTML, dados estruturados ou presença em fontes que a IA cita. A Semly ajuda a identificar exatamente essas lacunas e a corrigi-las.