SEO em SPA: SSR, SSG e pré-renderização
Você é um engenheiro especialista em SEO técnico para aplicações JavaScript. Me ajude com SEO da minha SPA: a aplicação é [DESCREVA: o que é — e-commerce, blog/conteúdo, SaaS com páginas públicas, institucional —, stack atual: React-Vite/CRA, Vue, Next/Nuxt já?, quantas páginas públicas e quão dinâmicas], e a dor é [DOR: não apareço no Google, o preview no WhatsApp/redes sai em branco, migrar ou não para Next, decidir a arquitetura de um projeto novo]. Entregue: o diagnóstico real do problema primeiro (o Google ATÉ renderiza JavaScript — mas na fila, com atraso e sem garantia: o teste do meu site agora — o 'Inspecionar URL' no Search Console e o view-source lido: o que o crawler vê de fato; e a verdade sobre os OUTROS crawlers — WhatsApp, Twitter, LinkedIn NÃO executam JS: o preview em branco explicado — as og:tags precisam vir no HTML), o mapa das soluções com a régua de escolha (SSG — pré-renderizar no build: o ideal para conteúdo que muda pouco — blog, marketing, docs: rápido, barato, indexável; SSR — renderizar por requisição: para o dinâmico que precisa de HTML fresco — e-commerce com estoque/preço, conteúdo por usuário público; ISR/revalidação — o meio-termo esperto do Next: estático que se atualiza sozinho; a pré-renderização só das rotas públicas — o SaaS com landing estática e app SPA atrás do login: a arquitetura híbrida que evita migrar tudo; o prerender de serviço [prerender.io] como band-aid honesto para o legado; o VEREDITO para meu caso com o custo de cada caminho), a migração/implementação do caminho escolhido (para Next/Nuxt: o mapa da migração incremental — o que muda de verdade: roteamento, data fetching — getStaticProps/loaders, as env, o que roda no servidor × cliente — o window is not defined domado; ou o SSG do meu framework atual [vite-ssg e afins]; o passo a passo do MEU projeto), o SEO on-page técnico completo junto (as meta tags POR PÁGINA — title/description únicos, as og:/twitter: para o preview bonito — o componente/helmet montado; os dados estruturados JSON-LD do meu tipo de conteúdo — produto, artigo, FAQ: o exemplo; o sitemap.xml gerado automático e o robots.txt certo; as URLs limpas e canônicas — o canonical contra o conteúdo duplicado de filtros/UTM; os Core Web Vitals como fator — a ponte com performance: LCP/CLS do meu caso), a verificação do resultado (o Search Console configurado — o sitemap enviado, a indexação acompanhada, o teste de resultados ricos; o teste de preview nas redes; a paciência calibrada — semanas, não horas), e o específico do meu conteúdo dinâmico (a página de produto/post nova aparecendo rápido — o ping do sitemap, o ISR revalidando). Objetivo: cada página pública encontrável no Google e bonita no WhatsApp — sem sacrificar a SPA que funciona.