DocsPacote
Práticas de SSR, SEO e GEO
Aplicado a apps/website. Helpers em @vectorgen/seo-geo.
Objetivos
- SSR — HTML completo para buscadores e LLMs.
- SEO — robots, sitemap XML,
generateMetadata, Open Graph, locales. - GEO —
llms.txt, AI sitemap, vectors; crawlers de IA permitidos.
Pacote @vectorgen/seo-geo
| Export | Uso |
|---|---|
buildAiAwareRobotsRules({ allowAiCrawlers }) | robots.ts (GPTBot, ClaudeBot, PerplexityBot, …) |
generateDeterministicEmbedding | vetores placeholder até existir job real |
buildLlmsTxt | documento llms.txt |
GEO_FEED_HEADERS / LLMS_TXT_HEADERS | Cache-Control |
Não inventar aggregateRating falso — só reviews reais.
Endpoints
| Path | Propósito |
|---|---|
/robots.txt | Allow + crawlers de IA + sitemaps |
/sitemap.xml | URLs (com locale) |
/ai-sitemap.json | Snippets Schema.org + embedding metadata |
/vectors.json | Descoberta estilo RAG |
/llms.txt | Mapa do produto |
/.well-known/ai-sitemap | 301 → /ai-sitemap.json |
/.well-known/llms.txt | 301 → /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+generateMetadatapor rotarevalidateem páginas de marketing- Headers de segurança + cache em
next.config.js - Server components para copy indexável
- Purge via
/api/revalidatequando 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