O mercado de pesquisa em Portugal e na CPLP está em transformação. Os utilizadores mantêm confiança no Google, mas em 2026 consomem informação cada vez mais através de superfícies generativas: Google AI Overviews, Perplexity, ChatGPT com pesquisa e assistentes internos de conhecimento.
Para um site, isto significa que o ranking na primeira página já não garante tráfego orgânico. Se um modelo de linguagem não conseguir decompor o seu conteúdo em factos verificáveis, a empresa fica invisível na resposta que o utilizador realmente lê. Schema.org em JSON-LD é o código de máquina que traduz texto português não estruturado em factos explícitos para inteligência artificial.
Este guia oferece um percurso prático, orientado a developers, para desenhar um grafo de dados coerente no WordPress que assegure autoridade e citações em motores generativos.
AEO procura ser selecionado como resposta. GEO procura ser citado como fonte em respostas geradas. Ambos partilham a mesma base: entidades legíveis por máquinas, blocos de resposta claros e páginas rastreáveis. Schema.org não é decoração opcional para rich results - é a linguagem comum destes sistemas, descrita na especificação Schema.org e nos guias de dados estruturados da Google.
1. Porque é que os dados estruturados importam em português?
O português europeu é um espaço linguístico menor no treino global do que o inglês. Mesmo com boa compreensão do idioma, o fundo de treino para domínios .pt e conteúdo técnico local é mais fino. Isso aumenta o risco de alucinações ao resumir empresas portuguesas, IVA ou catálogos de produto.
A mesma filosofia de interoperabilidade semântica usada em dados públicos aplica-se agora a sites comerciais:
- De palavras-chave a entidades: Os modelos pouco se importam com a repetição de um termo num H2. Procuram nós num Knowledge Graph. Uma empresa não é uma string, é uma
Organizationcom identificador, localização, responsáveis e certificações. - Densidade factual e segurança de citação: Quando o Perplexity gera uma resposta sobre WooCommerce ou conformidade RGPD/CNPD, escolhe fontes com afirmações estruturadas e inequívocas. Schema.org reduz o custo de parsing.
- Acessibilidade e legibilidade por máquinas: HTML semântico claro mais JSON-LD preciso apoia requisitos de acessibilidade e ferramentas de extração usadas por crawlers LLM.
2. Como criar um JSON-LD @graph no WordPress
Erro frequente: atribuição fragmentada de schema. Muitos plugins geram três blocos <script type="application/ld+json"> separados para site, autor e artigo. Cada bloco parece uma ilha; o motor tem de adivinhar se o autor do bloco A pertence à organização do bloco B.
A abordagem profissional é um grafo único com @graph. Cada entidade recebe um @id estável e as relações passam por esses IDs.
Exemplo de @graph com Organization, Person e TechArticle
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://wppoland.com/#organization",
"name": "WPPoland",
"url": "https://wppoland.com",
"logo": {
"@type": "ImageObject",
"@id": "https://wppoland.com/#logo",
"url": "https://wppoland.com/images/logo.png",
"caption": "WPPoland Logo"
},
"sameAs": [
"https://www.wikidata.org/wiki/Q13166",
"https://github.com/wppoland"
]
},
{
"@type": "Person",
"@id": "https://wppoland.com/#author-mariusz",
"name": "Mariusz Szatkowski",
"jobTitle": "Lead WordPress Architect",
"worksFor": {
"@id": "https://wppoland.com/#organization"
}
},
{
"@type": "TechArticle",
"@id": "https://wppoland.com/pt-pt/schema-org-pesquisa-ai-aeo-geo-guia-2026/#article",
"isPartOf": {
"@type": "WebSite",
"@id": "https://wppoland.com/#website",
"name": "WPPoland",
"url": "https://wppoland.com"
},
"headline": "Schema.org para pesquisa IA: ChatGPT, Perplexity e Google AI Mode",
"inLanguage": "pt-PT",
"datePublished": "2026-03-21T18:00:00+00:00",
"dateModified": "2026-09-20T18:00:00+00:00",
"author": {
"@id": "https://wppoland.com/#author-mariusz"
},
"publisher": {
"@id": "https://wppoland.com/#organization"
},
"mainEntityOfPage": "https://wppoland.com/pt-pt/schema-org-pesquisa-ai-aeo-geo-guia-2026/"
}
]
}Quando um motor AI faz crawl, percebe de imediato que o artigo tem autor verificado ligado a uma organização estabelecida. Isso reforça sinais E-E-A-T.
3. Como ligar entidades à Wikidata com sameAs
As propriedades about, mentions e sameAs eliminam incerteza. Chama-se Entity Disambiguation.
Se um artigo fala de “hosting na cloud” ou “acessibilidade digital”, os termos mudam com o contexto. Ligá-los a URIs permanentes em registos autoritativos diz ao modelo exatamente o que o conteúdo referencia:
- Wikidata: padrão global de IDs de entidade usado em conjuntos de treino de modelos grandes.
- Registos oficiais da organização: NIF/identificador estável quando fizer sentido no campo
identifierou viasameAs. - Fontes técnicas de referência: documentação Schema.org e guias Google de dados estruturados, não estatísticas inventadas.
"about": [
{
"@type": "Thing",
"name": "Schema.org",
"sameAs": "https://www.wikidata.org/wiki/Q3475322"
},
{
"@type": "Thing",
"name": "Inteligência artificial",
"sameAs": "https://www.wikidata.org/wiki/Q11660"
}
],
"mentions": [
{
"@type": "SoftwareApplication",
"name": "WordPress",
"sameAs": "https://www.wikidata.org/wiki/Q13166"
}
]Referências oficiais: documentação Schema.org e dados estruturados Google.
4. Que tipos de schema ajudam a ser citado pela IA
AEO entrega blocos de resposta prontos. Três tipos destacam-se em sites técnicos em português:
Como escrever FAQPage para a IA citar as respostas
Motores generativos procuram padrões pergunta-resposta, por exemplo sobre upgrades WordPress ou falhas de checkout WooCommerce.
Regras para FAQ eficaz em AEO:
- A pergunta em
namedeve espelhar a forma como os utilizadores pesquisam. - A resposta em
acceptedAnswer.textcomeça com a conclusão na primeira frase (Answer-First). - Evite jargão de marketing; inclua metodologia, prazos ou critérios mensuráveis.
Como marcar parágrafos para voz com SpeakableSpecification
A propriedade speakable marca parágrafos adequados a leitura oral por assistentes multimodais.
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [
"#introduction",
".executive-summary"
]
}Como marcar guias passo a passo com HowTo
Guias técnicos com HowTo permitem apresentar a sequência numerada no chat, com ferramentas e duração. Em temas WordPress, modele migrações, warming de cache, auditorias de segurança ou pipelines de deploy como passos reais - não como parágrafos de marketing. Cada passo precisa de um name claro e um text executável sem contexto prévio. Se mencionar ferramentas (WP-CLI, Composer, Redis), mantenha os nomes estáveis para que entity linking e Speakable usem o mesmo léxico.
5. Schema Offer no WooCommerce com EUR e IVA
Para lojas WooCommerce no mercado português, dados de produto precisos são essenciais para assistentes de compra. Expectativas de pagamento, portes e IVA devem aparecer no objeto Offer - sem inventar preços de catálogo no texto editorial.
{
"@type": "Product",
"name": "Auditoria de segurança WordPress empresarial",
"image": "https://wppoland.com/images/sikkerhetsrevisjon.avif",
"description": "Auditoria técnica de segurança e desempenho para instalações WooCommerce e WordPress complexas.",
"sku": "SEC-AUDIT-2026",
"offers": {
"@type": "Offer",
"url": "https://wppoland.com/pt-pt/contacto/",
"priceCurrency": "EUR",
"priceSpecification": {
"@type": "PriceSpecification",
"valueAddedTaxIncluded": true,
"priceCurrency": "EUR"
},
"availability": "https://schema.org/InStock",
"acceptedPaymentMethod": [
"https://schema.org/CreditCard"
]
}
}Use sempre o código ISO (EUR), declare IVA de forma explícita e documente política de devolução (hasMerchantReturnPolicy) quando aplicável. Valores concretos ficam na proposta comercial, não como estatística inventada no artigo.
6. Como adicionar JSON-LD no WordPress sem plugin
Muitas extensões SEO limitam relações @graph personalizadas e ligações Wikidata. Uma solução leve é uma função auxiliar em wp_head ou geração no build de frontends estáticos.
Como inserir JSON-LD com PHP no wp_head
/**
* Injeta um grafo JSON-LD limpo no header do site.
*/
function wppoland_render_semantic_jsonld(): void {
if ( is_admin() ) {
return;
}
$graph = array(
'@context' => 'https://schema.org',
'@graph' => array(),
);
$org_node = array(
'@type' => 'Organization',
'@id' => home_url( '/#organization' ),
'name' => get_bloginfo( 'name' ),
'url' => home_url( '/' ),
);
$graph['@graph'][] = $org_node;
if ( is_singular( 'post' ) ) {
global $post;
$article_node = array(
'@type' => 'TechArticle',
'@id' => get_permalink( $post->ID ) . '#article',
'headline' => get_the_title( $post->ID ),
'datePublished' => get_post_time( 'c', true, $post->ID ),
'dateModified' => get_post_modified_time( 'c', true, $post->ID ),
'inLanguage' => 'pt-PT',
'publisher' => array( '@id' => home_url( '/#organization' ) ),
'mainEntityOfPage' => get_permalink( $post->ID ),
);
$graph['@graph'][] = $article_node;
}
echo "\n" . '<script type="application/ld+json">' . "\n";
echo wp_json_encode( $graph, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT );
echo "\n" . '</script>' . "\n";
}
add_action( 'wp_head', 'wppoland_render_semantic_jsonld', 2 );Sem dependências externas, carga mínima e controlo total da estrutura do grafo.
7. Como permitir GPTBot e PerplexityBot no robots.txt
Schema.org tem pouco valor se bloquear agentes de indexação AI em robots.txt. Muitos sites, por medo de scraping, bloquearam todos os bots e desapareceram das citações em Perplexity e ChatGPT Search.
Uma configuração equilibrada distingue agentes de pesquisa comerciais de scrapers de treino puros:
User-agent: *
Allow: /
User-agent: GPTBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
Disallow: /wp-admin/
Disallow: /search/Valide o acesso nos logs do servidor e mantenha tempos de resposta estáveis para estes user-agents.
8. Como validar dados estruturados e erros comuns
Os dados estruturados só servem para AEO quando descrevem o mesmo conteúdo que um humano vê no browser. O fluxo de trabalho deve ser curto e repetível:
- Abrir a página em pré-visualização e confirmar que FAQ, autor e dados da organização estão visíveis - não apenas no markup.
- Testar o URL no Google Rich Results Test; corrigir campos obrigatórios em falta e conflitos de tipo de imediato.
- Confrontar o JSON-LD com o Schema Markup Validator, especialmente nas relações
@graph. - Revalidar após atualizações de plugins: Rank Math, Yoast e extensões de checkout escrevem frequentemente segundos nós
OfferouOrganization.
Falhas frequentes em projetos .pt: respostas FAQ só no schema; Person sem worksFor; priceCurrency inconsistente; seletores Speakable sem IDs CSS correspondentes; dados de faturação ou NIF que não batem com o nó Organization. Cada caso reduz a confiança de citação porque o modelo recebe sinais contraditórios.
Em sites de agência ou WooCommerce com Multibanco/MB Way, inventarie uma vez quais templates emitem JSON-LD, quem controla o namespace de @id (/#organization, /#website, #article) e onde staging e produção divergem. Sem essa disciplina, o próximo tema volta a gerar três ilhas.
9. Como medir a visibilidade na pesquisa com IA
Não existe uma “taxa de citação” pública e universal para Schema.org. O que pode medir: amostragens manuais no ChatGPT Search, Perplexity e Google AI Overviews sobre as suas perguntas-chave; tráfego de referral dessas superfícies; impressões na Search Console em queries próximas de FAQ; diferenças no relatório de rich results após alterações de markup. Registe data, query e citação observada - isso vale mais do que percentagens inventadas.
Checklist de Schema.org para WordPress antes de publicar
Antes de publicar JSON-LD: valide no Rich Results Test, confirme @id absolutos estáveis e evite nós Offer duplicados por plugins de pagamento. Um grafo limpo supera três plugins com ilhas separadas.
- Passar a um
@graphcoerente: ligar organização, pessoa e artigo por IDs fixos. - Ligar conteúdo a entidades externas:
sameAseaboutcontra Wikidata. - Estruturar blocos de resposta com FAQPage: pergunta precisa, conclusão na primeira frase.
- Validar contra os padrões: Google Rich Results Test e Schema Markup Validator.
- Abrir aos crawlers certos: robots.txt a permitir agentes AI orientados a pesquisa.
Quer uma avaliação técnica da visibilidade da sua empresa nas novas superfícies de pesquisa? Veja otimização GEO e LLMO ou contacte-nos para uma revisão técnica sem compromisso.







