SEO para desenvolvedores: servir HTML legível para rastreadores, retornar os códigos HTTP certos, incluir as tags essenciais, passar nas Core Web Vitals e continuar visível para as IAs.

Em resumo
para um desenvolvedor, SEO significa deixar cada página importante acessível, renderizável e sem ambiguidade para os rastreadores. Sirva o conteúdo principal no HTML inicial (renderização no servidor ou geração estática), retorne códigos HTTP honestos, coloque title, meta description, canonical e diretivas robots na resposta do servidor, faça links com elementos <a href> reais, cumpra os limites das Core Web Vitals e adicione dados estruturados em JSON-LD. A maioria dos rastreadores de IA não executa JavaScript: conteúdo que só existe depois da hidratação é invisível para ChatGPT, Claude e Perplexity.
Quer ir mais longe? Pergunte ao
Quiz rápido
O SEO é para você, e como começar?
4 perguntas rápidas para ver se o Google pode trazer clientes para você.
Nossa recomendação para você
O Sorank é a solução certa para você
As pessoas buscam o que você vende e você pode esperar alguns meses: o Sorank encontra as buscas certas, escreve e publica os artigos e consegue links para você.
O Sorank combina com suas respostas
Teste por 3 dias no seu próprio site ou comece com uma auditoria gratuita para saber onde você está.
3 dias grátis, depois você para quando quiser. Garantia de reembolso de 90 dias.
SEO para desenvolvedores é a parte da otimização que vive no código: templates, roteamento, renderização, cabeçalhos e desempenho. O marketing escolhe palavras-chave e escreve, mas um código de status errado, uma rota só no cliente ou um noindex esquecido podem apagar esse trabalho em um deploy. O guia de noções básicas de SEO para JavaScript do Google descreve três fases (rastreamento, renderização, indexação), e cada uma tem falhas que só desenvolvedores conseguem corrigir. Este guia trata delas na ordem em que quebram.
| Área | Responsabilidade do desenvolvedor | Sintoma típico quando falha |
|---|---|---|
| Renderização | Conteúdo principal e links presentes no HTML do servidor | Páginas indexadas vazias ou incompletas |
| Códigos HTTP | 200, 301, 404, 410, 5xx retornados com fidelidade | Soft 404, páginas de erro indexadas, páginas excluídas ainda ranqueando |
| Tags do head | Title, description, canonical, robots e hreflang únicos | Duplicatas, URL errada ranqueando, páginas fora do índice |
| Controle de rastreamento | robots.txt, sitemap XML, links internos, parâmetros | Páginas importantes não descobertas, rastreamento desperdiçado em filtros |
| Desempenho | Core Web Vitals em usuários reais no celular | Experiência de página ruim, menos conversões |
| Dados estruturados | JSON-LD válido e fiel ao conteúdo visível | Sem resultados aprimorados, confusão de entidade |
| Acesso das IAs | Rastreadores de IA liberados, conteúdo legível sem JavaScript | Marca ausente das respostas do ChatGPT e do Perplexity |
O Googlebot executa JavaScript, mas em uma segunda etapa que pode atrasar, e o próprio Google escreve que a renderização no servidor ou a pré-renderização continua sendo uma ótima ideia, porque é mais rápida para usuários e rastreadores e porque nem todos os bots executam JavaScript. Esse último ponto pesa mais do que nunca: na análise de dezembro de 2024 The rise of the AI crawler, a Vercel constatou que nenhum dos grandes rastreadores de IA renderiza JavaScript atualmente, citando entre outros GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot e PerplexityBot. O Gemini, que usa a infraestrutura do Google, é a exceção.
| Modo de renderização | O que os rastreadores recebem | Adequação para SEO |
|---|---|---|
| Renderização no cliente (CSR) | Um HTML quase vazio, conteúdo depois que o JavaScript roda | Fraca: atrasada para o Google, invisível para a maioria dos rastreadores de IA |
| Renderização no servidor (SSR) | HTML completo a cada requisição | Forte para páginas dinâmicas |
| Geração estática (SSG) | HTML completo gerado no deploy | A mais forte para conteúdo que muda pouco |
| Regeneração incremental (ISR) | HTML estático renovado por agendamento ou sob demanda | Forte para grandes catálogos e blogs |
Duas regras valem para qualquer framework. Os links precisam ser elementos <a> com atributo href: o Google afirma que só descobre links nesse formato, então botões com manipuladores de clique e rotas com fragmentos são becos sem saída. E cada rota precisa da própria URL, sem #, que retorne seu conteúdo diretamente. Nossos guias de SEO para JavaScript, SEO para aplicações de página única e SEO para Next.js detalham cada framework.
Códigos de status são instruções para os rastreadores. A documentação do Google sobre códigos de status HTTP e erros de rede descreve como cada família é tratada:
Confira o que seu servidor realmente envia com um verificador de cabeçalhos HTTP e mantenha as cadeias de redirecionamento em um único salto: nosso artigo sobre redirecionamentos para SEO cobre os casos de migração.
Toda página indexável precisa de title e description únicos, de uma canonical apontando para ela mesma e, em sites multilíngues, de anotações hreflang. Mantenha tudo na resposta do servidor:
<title>Running shoes for flat feet | Example</title>
<meta name="description" content="Tested picks, sizes and prices.">
<link rel="canonical" href="https://example.com/running-shoes-flat-feet">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/chaussures-pieds-plats">
<meta name="robots" content="index, follow">A tag canonical deve apontar para a URL que você quer ranquear, com exatamente o protocolo, o host e a convenção de barra final do seu site.
Atenção
Nunca dependa do JavaScript para remover um noindex. O Google afirma que, ao encontrar uma tag noindex, pode pular a renderização: uma página entregue com noindex no HTML que o remove no cliente pode continuar fora do índice.
Buscadores indexam URLs, então o esquema de URLs é uma decisão de SEO. Use caminhos legíveis, em minúsculas e separados por hífens; escolha uma convenção de barra final e redirecione a outra; mantenha uma URL por conteúdo. Filtros, ordenações e parâmetros de rastreamento multiplicam URLs sem adicionar conteúdo: aponte a canonical deles para a versão limpa e não crie links para combinações de parâmetros que você não quer rastreadas.
Links internos servem para descoberta e para hierarquia. Renderize no servidor a navegação, as breadcrumbs e os blocos de conteúdo relacionado, dê às listas paginadas links simples para cada página e evite rolagem infinita sem URLs paginadas por trás. Um produto ou artigo acessível só pela busca interna ou por um filtro em JavaScript é, para um rastreador, uma página órfã.
O robots.txt controla o rastreamento, não a indexação: uma URL bloqueada ainda pode aparecer nos resultados se outras páginas apontarem para ela. Para tirar uma página do índice, deixe que seja rastreada e retorne noindex. Gere o sitemap XML a partir das rotas ou do banco de dados, liste só URLs canônicas com status 200 e atualize o lastmod apenas quando o conteúdo mudar de fato. Teste suas regras com um verificador de robots.txt antes de cada release e nunca suba para produção um robots.txt de homologação com "Disallow: /".
O Google usa as Core Web Vitals como parte dos sinais de experiência na página. Segundo o web.dev, uma página é boa quando atinge estes limites no percentil 75 dos carregamentos reais, no celular e no desktop:
| Métrica | O que mede | Limite bom | Correções comuns no desenvolvimento |
|---|---|---|---|
| LCP (Largest Contentful Paint) | Carregamento | 2,5 s ou menos | Pré-carregar a imagem principal, renderizar no servidor a parte visível, usar CDN |
| INP (Interaction to Next Paint) | Responsividade | 200 ms ou menos | Dividir tarefas longas, adiar scripts de terceiros, reduzir o custo da hidratação |
| CLS (Cumulative Layout Shift) | Estabilidade visual | 0,1 ou menos | Definir largura e altura das mídias, reservar espaço para anúncios e embeds |
O INP substituiu o First Input Delay como Core Web Vital estável em 2024. Avalie com dados de campo (Search Console, Chrome UX Report) e depure com ferramentas de laboratório. Nosso verbete de glossário sobre Core Web Vitals lista as ferramentas.
Use JSON-LD em uma tag script, renderizado no servidor, descrevendo o que está visível na página:
<script type="application/ld+json">
{"@context": "https://schema.org", "@type": "Article",
"headline": "Running shoes for flat feet",
"datePublished": "2026-10-01",
"author": {"@type": "Person", "name": "Jane Doe"}}
</script>Gere-o a partir dos mesmos dados da página para que os dois nunca divirjam, valide na integração contínua e evite injetá-lo por um gerenciador de tags. Um gerador de schema oferece um modelo inicial para os tipos mais comuns.
Dica
Coloque verificações de SEO no seu pipeline: faça o build falhar se um template indexável não tiver title ou canonical, se uma rota retornar 200 para um slug desconhecido ou se o robots.txt de produção contiver "Disallow: /". Essas regressões custam pouco para pegar antes do deploy e caro depois.
A visibilidade nas IAs começa pelo acesso. Decida quais rastreadores de IA você libera (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot e outros) e escreva regras explícitas no robots.txt; nosso guia de robots.txt para rastreadores de IA explica a diferença entre bots de treinamento e de busca. Depois garanta que textos, preços, especificações e perguntas frequentes estejam no HTML inicial, use títulos semânticos e tabelas em vez de imagens com texto e mantenha as páginas leves para serem baixadas rápido. Um arquivo llms.txt pode resumir suas páginas principais para ferramentas de IA, mas nenhum grande assistente confirmou usá-lo: trate como opcional.
A Sorank é o nosso produto: um software de SEO e GEO no autopilot. Os desenvolvedores costumam encontrá-lo pelas integrações: ele publica artigos no WordPress, Shopify, Webflow ou Wix, ou em qualquer stack própria via webhook, como descrito na página de instalação. O chat de SEO responde em conversa a perguntas sobre o seu site, e o monitoramento de menções em IA verifica toda semana se ChatGPT, Claude e Gemini citam sua marca.

Resumindo: entregue pelo servidor HTML completo, códigos de status honestos e tags corretas, e depois meça o desempenho com usuários reais. Isso atende o Googlebot e os rastreadores de IA que não executam JavaScript. Para encher um site bem construído com conteúdo que ranqueia, conheça os planos da Sorank, a partir de 49 € por mês com 3 dias grátis para testar.
Nem sempre para o Google, que executa JavaScript, mas ela acrescenta atraso e risco, e a maioria dos rastreadores de IA não executa JavaScript. Para páginas que precisam ranquear ou ser citadas, sirva o conteúdo principal e os links no HTML inicial com renderização no servidor, geração estática ou pré-renderização, e deixe a renderização no cliente para as partes interativas.
Os dois dizem ao Google que a página não existe mais, e em ambos os casos o Google deixa de usar a URL com o tempo. O 410 indica uma remoção intencional e definitiva, o que algumas equipes preferem para conteúdos excluídos de propósito. O mais importante é não retornar 200 com mensagem de erro, o que gera soft 404.
Elas fazem parte dos sinais de experiência na página, que o Google descreve como um fator entre muitos, com relevância e qualidade do conteúdo pesando mais. Funcionam sobretudo como desempate entre páginas parecidas e têm forte efeito nas conversões, então vale a pena atingir os limites.
ELES EXPERIMENTARAM O SORANK ANTES DE VOCÊ
