Docs

Práticas de SSR, SEO e GEO

Aplicado a apps/website. Helpers em @vectorgen/seo-geo.

Objetivos

  1. SSR — HTML completo para buscadores e LLMs.
  2. SEO — robots, sitemap XML, generateMetadata, Open Graph, locales.
  3. GEO — llms.txt, AI sitemap, vectors; crawlers de IA permitidos.

Pacote @vectorgen/seo-geo

ExportUso
buildAiAwareRobotsRules({ allowAiCrawlers })robots.ts (GPTBot, ClaudeBot, PerplexityBot, …)
generateDeterministicEmbeddingvetores placeholder até existir job real
buildLlmsTxtdocumento llms.txt
GEO_FEED_HEADERS / LLMS_TXT_HEADERSCache-Control

Não inventar aggregateRating falso — só reviews reais.

Endpoints

PathPropósito
/robots.txtAllow + crawlers de IA + sitemaps
/sitemap.xmlURLs (com locale)
/ai-sitemap.jsonSnippets Schema.org + embedding metadata
/vectors.jsonDescoberta estilo RAG
/llms.txtMapa do produto
/.well-known/ai-sitemap301 → /ai-sitemap.json
/.well-known/llms.txt301 → /llms.txt

Cache: public, s-maxage=3600, stale-while-revalidate=86400.

Schema.org

@id estáveis: {site}#organization, #website, #softwareapplication, {pageUrl}#webpage / #article. Tipos: Organization, WebSite, SoftwareApplication, FAQPage, Article, BreadcrumbList.

Checklist Next.js

  • output: 'standalone'
  • metadata + generateMetadata por rota
  • revalidate em páginas de marketing
  • Headers de segurança + cache em next.config.js
  • Server components para copy indexável
  • Purge via /api/revalidate quando necessário

Verificação

pnpm --filter @vectorgen/website build
curl -sI http://localhost:3000/llms.txt
curl -s http://localhost:3000/ai-sitemap.json | head