“SEO de IA é como ensinar um mapa a conversar: o mapa é o
@graph, a bússola é o/.well-known/, e o mar é o seu conteúdo visível.”
Este guia reúne tudo que alinhamos, com foco em implementação usando Ocean Drop como exemplo.
- Entidades > Palavras-chave. Google/LLMs ranqueiam entidades (Produto, Marca, Autor), não apenas termos.
- Grafo por página. Cada página canônica precisa declarar seu próprio
@graph(JSON‑LD). - Poucos endpoints globais.
/.well-known/expõe “fontes oficiais” estáveis (marca/site/índices). JSONs por página são opcionais e preferivelmente adjacentes à URL, não dentro de/.well-known/.
Metáfora: páginas = peixes; @graph = escamas de identidade; /.well-known/ = farol do porto. Sem farol, os peixes existem; com farol, navios (LLMs) confiam mais em chegar até você.
Organization,WebSite@idestáveis,sameAs,logo,SearchAction,contactPoint- Referências a
/.well-known/organization.jsone/.well-known/website.jsonviaisPartOf
Product,Offer,AggregateRating,BreadcrumbList@idcanônico para o produto (ex.:/creatina/p#product)isPartOf:/.well-known/product-index.json+ (opcional) JSON adjacente/creatina/product.json
CollectionPageouWebPage+ItemListItemList.itemListElementcomListItem.positione cadaitemcomo@iddo Product da PDP- (Opcional) JSON adjacente
/suplementos/creatina/category.json
Article/BlogPosting+BreadcrumbList+Person/Organization- Datas reais (
datePublished/dateModified),author,publisher
graph TD
A[Organization: Ocean Drop] --> B[WebSite]
B --> C[PDP: Creatina #product]
C --> D[Offer]
C --> E[AggregateRating]
B --> F[Categoria: Suplementos/Creatina #page]
F --> G[ItemList -> #product]
B --> H[Article: Melhor Creatina #article]
Boas práticas
- Um único
<script type="application/ld+json">por página, com@graph. @idcom fragmento estável (ex.:#product,#offer,#breadcrumbs).- Conecte os nós (
itemReviewed,publisher,isPartOf).
Use para: identidade de marca e índices públicos.
Ocean Drop (recomendado):
/.well-known/organization.json
/.well-known/website.json
/.well-known/product-index.json
/.well-known/content-index.json
Sempre:
- referenciar no
<head>com<link rel="alternate" type="application/json" ...> - listar no
sitemap.xml
Não crie um /.well-known/{slug}.json por página. Se quiser JSON por página, adjacente à URL (ver §5).
- PDP:
/creatina/product.json
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://www.oceandrop.com.br/creatina/p#product",
"name": "Creatina Monohidratada",
"url": "https://www.oceandrop.com.br/creatina/p",
"brand": { "@type": "Brand", "name": "Ocean Drop" },
"updatedAt": "2025-11-02T10:00:00-03:00"
}- Categoria:
/suplementos/creatina/category.json(espelhaItemList)
No HTML, declare:
<link rel="alternate" type="application/ld+json" href="/creatina/product.json">Quando usar: integrações externas, apps, agentes/LLMs corporativos, cache/CDN.
Quando evitar: se não há consumo claro → mantenha só o @graph.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://www.oceandrop.com.br/#organization",
"name": "Ocean Drop",
"url": "https://www.oceandrop.com.br/",
"logo": "https://www.oceandrop.com.br/media/logo/default/logo.png",
"sameAs": [
"https://www.instagram.com/oceandrop/",
"https://www.youtube.com/channel/UCIc7xzKea9394vWmVht1amA",
"https://www.facebook.com/myoceandrop/"
],
"contactPoint": [{
"@type": "ContactPoint",
"contactType": "customer service",
"email": "[email protected]",
"telephone": "+55-4020-1656",
"availableLanguage": ["pt-BR"]
}],
"isPartOf": [
"https://www.oceandrop.com.br/.well-known/organization.json",
"https://www.oceandrop.com.br/.well-known/content-index.json"
]
},
{
"@type": "WebSite",
"@id": "https://www.oceandrop.com.br/#website",
"url": "https://www.oceandrop.com.br/",
"name": "Ocean Drop",
"publisher": { "@id": "https://www.oceandrop.com.br/#organization" },
"potentialAction": {
"@type": "SearchAction",
"target": "https://www.oceandrop.com.br/catalogsearch/result/?q={search_term_string}",
"query-input": "required name=search_term_string"
},
"inLanguage": "pt-BR",
"isPartOf": [
"https://www.oceandrop.com.br/.well-known/website.json",
"https://www.oceandrop.com.br/.well-known/content-index.json"
]
}
]
}
</script><link rel="alternate" type="application/ld+json" href="/creatina/product.json">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Product",
"@id": "https://www.oceandrop.com.br/creatina/p#product",
"name": "Creatina Monohidratada",
"url": "https://www.oceandrop.com.br/creatina/p",
"image": ["https://www.oceandrop.com.br/media/catalog/product/creatina-1.jpg"],
"brand": { "@type": "Brand", "name": "Ocean Drop" },
"sku": "OD-CREATINA-300G",
"gtin13": "7890000000000",
"description": "Creatina monohidratada de alta pureza para desempenho físico.",
"category": "Suplementos > Desempenho",
"isPartOf": [
"https://www.oceandrop.com.br/.well-known/product-index.json",
"https://www.oceandrop.com.br/creatina/product.json"
]
},
{
"@type": "Offer",
"@id": "https://www.oceandrop.com.br/creatina/p#offer",
"url": "https://www.oceandrop.com.br/creatina/p",
"priceCurrency": "BRL",
"price": "119.90",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"priceValidUntil": "2026-12-31",
"seller": { "@id": "https://www.oceandrop.com.br/#organization" }
},
{
"@type": "AggregateRating",
"@id": "https://www.oceandrop.com.br/creatina/p#rating",
"itemReviewed": { "@id": "https://www.oceandrop.com.br/creatina/p#product" },
"ratingValue": "4.8",
"reviewCount": "327",
"bestRating": "5",
"worstRating": "1"
},
{
"@type": "BreadcrumbList",
"@id": "https://www.oceandrop.com.br/creatina/p#breadcrumbs",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.oceandrop.com.br/" },
{ "@type": "ListItem", "position": 2, "name": "Suplementos", "item": "https://www.oceandrop.com.br/suplementos" },
{ "@type": "ListItem", "position": 3, "name": "Creatina Monohidratada", "item": "https://www.oceandrop.com.br/creatina/p" }
]
}
]
}
</script><link rel="alternate" type="application/ld+json" href="/suplementos/creatina/category.json">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": ["CollectionPage","WebPage"],
"@id": "https://www.oceandrop.com.br/suplementos/creatina#page",
"name": "Creatina — Suplementos",
"isPartOf": "https://www.oceandrop.com.br/.well-known/product-index.json"
},
{
"@type": "ItemList",
"@id": "https://www.oceandrop.com.br/suplementos/creatina#list",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "item": { "@id": "https://www.oceandrop.com.br/creatina/p#product" } }
]
}
]
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": ["Article","BlogPosting"],
"@id": "https://www.oceandrop.com.br/blog/qual-a-melhor-creatina#article",
"headline": "4 critérios para descobrir qual a melhor creatina",
"description": "Guia claro com critérios práticos para escolher creatina de qualidade.",
"image": ["https://www.oceandrop.com.br/media/blog/creatina-melhor.jpg"],
"mainEntityOfPage": { "@type": "WebPage", "@id": "https://www.oceandrop.com.br/blog/qual-a-melhor-creatina" },
"author": { "@type": "Person", "@id": "https://www.oceandrop.com.br/#author-cientifico", "name": "Dra. Camile Zanchett" },
"publisher": { "@id": "https://www.oceandrop.com.br/#organization" },
"about": ["creatina","desempenho","suplementos"],
"datePublished": "2025-03-14",
"dateModified": "2025-03-14",
"inLanguage": "pt-BR",
"isPartOf": "https://www.oceandrop.com.br/.well-known/content-index.json"
},
{
"@type": "BreadcrumbList",
"@id": "https://www.oceandrop.com.br/blog/qual-a-melhor-creatina#breadcrumbs",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.oceandrop.com.br/" },
{ "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://www.oceandrop.com.br/blog" },
{ "@type": "ListItem", "position": 3, "name": "4 critérios para descobrir qual a melhor creatina", "item": "https://www.oceandrop.com.br/blog/qual-a-melhor-creatina" }
]
}
]
}
</script>- Cada PDP com
@graph(Product/Offer/Rating/Breadcrumb) e@idestáveis. - Cada Categoria com
CollectionPage+ItemList→ itens apontam para#productnas PDPs. - Home com
Organization+WebSiteeSearchActionfuncional. - Poucos
/.well-known/(organization, website, product-index, content-index) referenciados no<head>e nositemap.xml. - (Opcional) JSON adjacentes por PDP/Categoria +
<link rel="alternate">. -
Content-Type: application/json, HTTPS eupdatedAtcoerente. - Texto visível coerente com o schema (evite divergências).
- Validado no Rich Results Test e monitorado no Search Console.
Antipadrões a evitar
/.well-known/slug.jsonpara todas as páginas (manutenção inviável).@graphdesconectado (semitemReviewed,publisher,isPartOf).- Campos fake (preço/estoque/nota não batem com a página).
aria-label ajuda SEO de IA?
Não diretamente. Ajuda acessibilidade (UX). LLMs priorizam JSON‑LD, texto e relações.
Posso usar outras formas sem schema.org?
Sim (Open Graph, Microdata, RDFa, microformats, Wikidata/GS1). Mas JSON‑LD/schema.org continua prioridade 1.
Preciso versionar /.well-known/?
Mantenha paths estáveis e atualize updatedAt. Liste no sitemap.xml.
O grafo é a partitura; o conteúdo é a música; o
/.well-known/é a assinatura no rodapé da partitura.
Sem partitura, a orquestra (IA) toca no improviso. Com partitura, ela toca a sua música — afinada e reconhecível.