< BACK Códigos de status 410 vs 404 para SEO: quando cada um diz algo diferente ao Googlebot -- ilustração em arte de linha

Códigos de status 410 vs 404 para SEO: quando cada um diz algo diferente ao Googlebot

Google trata 404 e 410 de forma diferente, e a diferença importa quando você está descontinuando URLs em massa. A versão curta: 404 diz "ausente, tente novamente mais tarde"; 410 diz "desaparecido, nunca mais volta". Googlebot revisita 404s por semanas antes de removê-las do índice. Ele remove 410s em dias. Se você está no meio de uma migração e olhando para milhares de URLs que devem desaparecer para sempre, escolher o código certo economiza semanas na limpeza.

Ponto-chave: Google mantém URLs com 404 no índice por meses, mas remove 410s em dias; use 410 para páginas removidas permanentemente e 301 quando existe uma substituição.Google keeps 404 URLs in the index for months but drops 410s in days; use 410 for pages removed for good and a 301 when a replacement exists.

O que cada código realmente significa

404 Not Found é a resposta padrão quando um recurso não existe na URL solicitada. O servidor está dizendo "esta URL não tem recurso agora". A implicação é permissiva: talvez a URL tenha um recurso mais tarde, talvez seja um erro de digitação, talvez o recurso tenha se movido e alguém esqueceu de enviar um redirecionamento. O 404 é uma rede ampla.

410 Gone é o código de aposentadoria explícita. O servidor está dizendo "esta URL tinha um recurso, ele foi permanentemente removido, não pergunte novamente". É o sinal da porta se fechando. Google documenta isso explicitamente: 410 é interpretado como um sinal mais forte para remover a URL do índice do que 404.

Como Googlebot trata cada um

Comportamento de 404. Googlebot encontra um 404, marca a URL como ausente, mas a mantém na fila de rastreamento. O bot revisita a URL em um cronograma cada vez mais lento (24h, depois 7d, depois 30d, depois 90d). Se a URL eventualmente retornar um 200 novamente, ela é reintegrada. O ciclo continua por meses. A URL permanece no relatório de Cobertura do Search Console sob "Não encontrado (404)" durante esse período.

Comportamento 410. Quando o Googlebot encontra um 410, marca a URL como permanentemente aposentada, remove-a do índice em dias. A URL aparece brevemente no Search Console sob "Página removida por reclamação legal" ou "Soft 404" dependendo da interpretação do Google, depois desaparece. A fila de rastreamento para de revisitá-la.

A diferença funcional é dias versus meses de poluição do índice.

Quando escolher 410 em vez de 404

  • Limpeza de migração: URLs que não existem mais no novo site e não têm equivalente semântico. Use 410. Elas se foram.
  • Posts de blog deletados: conteúdo antigo que você intencionalmente aposentou. 410 se você tem certeza; 404 se houver qualquer chance de o post voltar com o mesmo slug.
  • Páginas de produtos desativadas: SKUs que você não vende mais. 410 se o produto foi permanentemente aposentado; 404 se pode voltar.
  • Aposentadoria de padrão de URL: por exemplo, aposentar /forum/* porque o fórum foi desativado. 410 para todo o caminho.
  • URLs inúteis de hacks anteriores ou erros de CMS que de alguma forma acabaram no índice. 410.

Quando 404 é a chamada correta

  • Erros de digitação e URLs que nunca existiram: 404 é a resposta convencional. 410 seria errado porque a URL nunca teve conteúdo para começar.
  • Conteúdo em revisão para republicação: se a URL pode voltar, 404 mantém a porta aberta para o Google encontrá-la novamente.
  • Páginas temporariamente indisponíveis: 404 é errado aqui também, use 503 com um header Retry-After. Mas na ausência disso, 404 é o padrão mais seguro para casos ambíguos.

Como configurar 410 em plataformas comuns

Vercel (vercel.json)

Adicione uma rewrite ou uma regra de status code. O padrão mais limpo é colocar um endpoint /410 e reescrever URLs aposentadas para ele com statusCode 410. Note que vercel.json nativamente suporta redirects, não rewrites de status-code para URLs arbitrárias; o padrão é usar um middleware Next.js que retorna new Response(null, { status: 410 }) para qualquer URL na sua lista de aposentadoria.Next.js middleware that returns new Response(null, { status: 410 }) for any URL in your retirement list.

Netlify (netlify.toml ou _redirects)

Use a sintaxe _redirects: /retired-url 410! o ponto de exclamação à direita é a flag force-status. Ou em netlify.toml, use um bloco [[redirects]] com status = 410.

Apache (.htaccess)

Redirect gone /retired-url, ou use RewriteRule com a flag [G]: RewriteRule ^retired-url$ - [G,L].

Nginx

return 410; dentro de um bloco location que corresponda ao padrão de URL. Para padrões em massa: location ~ ^/old-pattern/ { return 410; }.

Por que isso importa em escala

Um site com 10.000 URLs aposentadas divididas 50/50 entre 404 e 410 verá a metade com 410 desaparecer do relatório de Cobertura dentro de duas semanas, e a metade com 404 ficar à deriva no relatório de Cobertura por três a seis meses. O conjunto 404 ocupa orçamento de rastreamento do Googlebot que deveria ir para as URLs que você quer indexadas. Em sites maiores o impacto no orçamento é mensurável: menos orçamento para aposentadoria significa mais para conteúdo novo.

O padrão de migração

Três passos para qualquer limpeza de migração. Um: puxe cada URL do Search Console, Ahrefs e do sitemap antigo. Dois: categorize cada URL em um de quatro grupos: (a) mapeia para uma nova URL → redirecionamento 301, (b) renomeada para novo slug → 301, (c) permanentemente aposentada → 410, (d) status ambíguo → 404. Três: implante as regras de redirecionamento/410/404 em vercel.json ou .htaccess no mesmo deploy do novo conteúdo, mais um linter de SEO em tempo de build que falha a construção se qualquer URL pré-migração estiver faltando no conjunto de regras.

Vale saber: o código 451

451 Unavailable For Legal Reasons existe para conteúdo que você foi legalmente obrigado a remover. É raro e específico, takedowns DMCA, direito ao esquecimento GDPR quando a URL é aposentada inteiramente, ordens judiciais. Google interpreta similarmente a 410 (remove do índice), mas o sinal legal é o que importa. Use-o apenas quando o contexto legal se aplica.

O resumo

Use 410 para aposentadoria permanente. Use 404 para conteúdo genuinamente faltante ou ambíguo. A diferença de limpeza de índice entre duas semanas e seis meses aparece em toda migração acima de alguns milhares de URLs. A solução é uma regra em vercel.json, netlify.toml ou .htaccess. Acerte no momento da mudança e você economiza a limpeza pós-lançamento que ninguém orça.

Leitura adjacente: 301 vs 302 vs 307 vs 308 é a decisão relacionada para URLs que não são aposentadas mas movidas. A mesma limpeza de migração que precisa de 410 também precisa da decisão de código de redirecionamento; veja o post de estratégia de redirecionamento para esse enquadramento.

Perguntas frequentes

Qual é a diferença entre um código de status 404 e 410?

404 significa não encontrado: a página está faltando, mas o servidor não está dizendo se ela voltará. 410 significa removida: a página foi intencionalmente e permanentemente removida. 410 é um sinal mais forte para mecanismos de busca removerem a URL do índice mais rapidamente.

Devo usar 404 ou 410 para páginas deletadas?

Use 410 quando você tiver removido uma página deliberadamente e não houver substituição. Use 404 quando uma página está faltando mas o status é incerto ou temporário. Para uma página renomeada ou movida, use nenhum dos dois: um redirecionamento 301 para a nova URL é o correto.

410 remove uma página do Google mais rápido que 404?

Levemente. Google trata 410 como um sinal mais claro de remoção permanente e tende a remover aquelas URLs um pouco mais rápido, mas ambas eventualmente são desindexadas. A diferença prática é pequena; o que importa mais é usar um redirecionamento quando existe uma substituição em vez de qualquer um dos códigos de erro.

Erros 404 prejudicam SEO?

Alguns 404s em páginas genuinamente removidas são normais e inofensivos. Prejudicam apenas quando páginas importantes retornam 404 por acidente, ou quando links internos e sitemaps apontam para elas e desperdiçam orçamento de rastreamento. Corrija 404s em páginas que deveriam existir; deixe o resto como está.

< BACK