Soft 404 é o nome que o Google dá a uma página que diz "não encontrado" (ou chega vazia) enquanto o servidor responde 200, o código de "deu tudo certo". O texto avisa uma coisa e o código diz outra. O Google acredita no conteúdo, deixa a página fora da busca e registra o caso como "Erro soft 404" no Search Console. A correção é fazer o servidor responder 404 (ou 410) para o que não existe e, junto com esse código, mostrar uma página que ajude a pessoa a achar o que veio buscar.
Este guia trata da resposta do servidor e da página de erro. Os outros motivos que deixam uma página fora do índice estão no guia dos status de indexação do Search Console.
Qual a diferença entre 404 e soft 404?
A diferença está no código que vai junto com a página. Num 404 de verdade, o servidor avisa ao navegador e ao robô, antes de qualquer texto, que nada existe naquele endereço. No soft 404, ele entrega uma página com código 200, e quem lê o conteúdo é que descobre o erro.
| O que o servidor responde | O que a pessoa vê | O que o Google faz |
|---|---|---|
| 200 com o conteúdo da página | A página | Pode indexar, sem garantia |
| 404 com uma página de erro | A página de erro | Não indexa; se o endereço estava no índice, tira |
| 410 com uma página de erro | A página de erro | O mesmo que no 404 |
| 200 com "página não encontrada" | A página de erro | Lê o conteúdo, conclui que é erro e marca como soft 404 |
| 301 ou 302 para a página inicial | A página inicial | Pode tratar como soft 404 |
| 503 | Aviso de indisponibilidade | Entende que o servidor está com problema e reduz o rastreamento |
A documentação do Google sobre códigos de status é direta no caso do 404: endereço que responde 4xx não entra no índice, o que já estava indexado sai, e o robô passa a visitá-lo cada vez menos. O 404 não é castigo. É a resposta certa para o que não existe.
Por que responder 200 para uma página que não existe atrapalha?
Porque o servidor passa a criar páginas que ninguém escreveu. Se qualquer endereço responde 200, cada erro de digitação num link, cada produto apagado e cada endereço antigo vira uma "página" para o robô. Os prejuízos aparecem em quatro lugares:
- Rastreamento. O Google põe as páginas de soft 404 na lista do que gasta recurso do servidor à toa e diz que esse desperdício pode reduzir o rastreamento das páginas que importam. Num site grande, isso atrasa a descoberta do conteúdo novo.
- Índice. Sobre as páginas 404 personalizadas, o Google escreve que elas não servem para nada do ponto de vista de um buscador e pede que o servidor responda 404 justamente para evitar que sejam indexadas. Com 200, você conta com o Google adivinhar pelo texto.
- Relatório. O motivo "Erro soft 404" mistura endereços que de fato não existem com páginas reais que o Google achou vazias. Como o servidor responde 200 para tudo, o log de acesso não separa um caso do outro, e a investigação fica mais lenta.
- Visitante. A própria documentação lembra que a pessoa pode achar que a página está no ar e só depois perceber o erro.
O que causa soft 404 com mais frequência?
Quase sempre, um atalho de configuração. Estas são as causas que mais aparecem:
- Site em JavaScript que responde 200 para qualquer endereço. Em sites de página única (React, Vue e similares, inclusive os montados por ferramentas de IA), o servidor costuma devolver o mesmo arquivo para todo endereço, e é o JavaScript que decide depois se mostra conteúdo ou erro. O código já saiu como 200. É o mesmo mecanismo que faz um site feito com IA chegar vazio ao robô.
- Loja que mostra "produto não encontrado" com 200. A plataforma monta a página do produto a partir do banco de dados. Quando o produto some, o modelo da página continua lá, só que sem nada dentro.
- Todo endereço desconhecido mandado para a página inicial. Há plugins e regras de servidor que fazem isso de propósito, "para não perder a visita". O Google cita esse caso como exemplo de soft 404. Na documentação sobre mudança de site, ele avisa que despejar um monte de endereços antigos numa página sem relação com eles, como a home, pode ser tratado do mesmo jeito.
- Busca interna sem resultado e categoria vazia. A página de resultados vazia aparece na lista de causas da documentação do Google. Categoria sem produto nenhum é uma página praticamente vazia e corre o mesmo risco.
- Configuração do servidor que troca o código. No Apache, um
ErrorDocumentcom endereço completo (https://...) faz o servidor redirecionar, e o navegador nunca recebe o 404. No nginx,error_page 404 =200troca o 404 por 200 de forma explícita. - Página real que não carregou para o Googlebot. Script bloqueado no robots.txt, banco de dados fora do ar ou arquivo pesado demais fazem uma página existente chegar em branco. Aqui o servidor está certo e a página é que precisa carregar. A Inspeção de URL, com a captura de tela da página testada, mostra o que o robô recebeu.
Como o validador testa e como você faz o mesmo teste?
O validador inventa um endereço que com certeza não existe e vê o que o servidor responde. Ele pede https://seusite.com.br/nota-do-site-pagina-inexistente- seguido de dez letras e números sorteados, segue os redirecionamentos até o fim e confere o último código. 404 ou 410 passa. Qualquer código 2xx é falha, porque é soft 404. Outro código, como 403 ou 503, gera alerta.
O Google descreve algo parecido. Num texto da Central da Pesquisa sobre erros 404, ele explica que alguns endereços estranhos do relatório podem vir de uma verificação rápida de como o servidor lida com endereços desconhecidos.
Na terceira semana de outubro de 2026, a gente mandou esse pedido a 53 sites brasileiros com domínio .br. Resultado: 15 responderam 200 (28% do total) para um endereço que não existe, e 1 respondeu 503. Nesses 15, qualquer link digitado errado leva a uma página que o servidor jura existir. O caso do 503 é diferente, e talvez pior. Pela RFC 9110, 503 quer dizer que o servidor está temporariamente sem condições de atender, por sobrecarga ou manutenção. E a documentação do Google diz que, diante de erros de servidor, ele diminui o ritmo de rastreamento do site, na proporção do número de endereços com erro. Em outra página, o Google avisa que responder 503 por mais de 2 dias leva os endereços a sair do índice: o código foi feito para paradas curtas, não para dizer que algo não existe.
Para testar o seu site pelo terminal, use o curl com um endereço inventado:
curl -s -o /dev/null -L -w "%{http_code} %{url_effective}\n" https://www.seusite.com.br/teste-404-x7k2
O comando mostra o código final e o endereço onde a resposta parou. No nosso site, a resposta é esta:
404 https://www.notadosite.com.br/teste-404-x7k2
Como ler o resultado:
404ou410com o mesmo endereço: certo.200com o mesmo endereço: soft 404 clássico.200com o endereço da página inicial: o servidor está redirecionando tudo para a home.503,403ou500: o servidor está dizendo outra coisa que não "não existe"; descubra de onde vem esse código.
Sem terminal, use o navegador. Abra as ferramentas do desenvolvedor (Ctrl+Shift+I no Windows, Cmd+Option+I no Mac), vá ao painel Network (Rede), digite o endereço inventado e clique na primeira linha da lista, a do documento. Em Headers (Cabeçalhos), o campo Status Code mostra o código. A frase "página não encontrada" na tela não prova nada; o que vale é esse número.
Teste mais de um endereço. O validador pede um endereço na raiz do site, e rotas de seções diferentes costumam ser tratadas por partes diferentes do sistema. Invente um dentro do blog, um dentro da loja (/produto/teste-x7k2) e um terminado em .html. Um site pode acertar na raiz e errar dentro da loja.
Como configurar o 404 no WordPress, no Apache, no nginx e nas plataformas?
Na maioria dos casos, o servidor já responde 404 sozinho, e o trabalho é não estragar isso e deixar a página de erro bonita e útil.
WordPress. O WordPress responde 404 para endereço que não existe sem configuração nenhuma. A aparência da página vem do tema: o arquivo 404.php nos temas clássicos e o modelo 404 (templates/404.html) nos temas de blocos, editável pelo Editor do site. Se o seu teste com curl mostrou 200 com a página inicial, procure um plugin que redireciona os erros 404 para a home e desligue essa opção.
Apache. No .htaccess, aponte o ErrorDocument para um caminho do próprio site, começando por barra:
ErrorDocument 404 /erro-404.html
RewriteEngine On
RewriteRule "^black-friday-2025$" "-" [G]
A segunda e a terceira linhas mostram como responder 410 para uma página que você tirou do ar de propósito: a flag [G] do mod_rewrite devolve 410. A documentação do Apache avisa que, com endereço completo no ErrorDocument, o cliente recebe um código de redirecionamento no lugar do erro original, o que confunde os robôs.
nginx. A combinação abaixo serve a página de erro com o código 404 e impede que alguém abra /404.html diretamente com 200:
error_page 404 /404.html;
location = /404.html {
internal;
}
Evite as duas variações que mudam o código: error_page 404 =200 /404.html, que responde 200, e error_page 404 https://..., que vira um redirecionamento 302.
Shopify e Wix. Na Shopify, a página de erro é o modelo 404 do tema (templates/404.json), mostrado quando o cliente digita um endereço inválido da loja. No Wix Studio, a página 404 personalizada só fica disponível depois do upgrade do site para um plano pago. Nas duas, o código de status fica por conta da plataforma; mesmo assim, rode o teste do curl, principalmente em endereços de produto.
Site em JavaScript. Quando o servidor não consegue dar o código certo, o Google sugere duas saídas: redirecionar por JavaScript para um endereço que o servidor responde com 404 (como /nao-encontrado) ou acrescentar por JavaScript a meta tag <meta name="robots" content="noindex"> na tela de erro. A solução mais limpa, quando o framework permite, é gerar a página no servidor e responder 404 ali mesmo.
O que colocar numa página 404 útil?
O que tira a pessoa do beco sem saída. A lista do Google para uma página 404 personalizada cabe em quatro itens: dizer com clareza que a página não foi encontrada, em linguagem simpática; manter a aparência e o menu do resto do site; trazer links para o conteúdo mais procurado e para a página inicial; e oferecer um jeito de avisar sobre o link quebrado. O exemplo da documentação do WordPress acrescenta um campo de busca.
A página de erro do Nota do Site responde 404 e leva também uma meta tag noindex, por garantia. Ela mostra o endereço que a pessoa tentou abrir, para ela notar o erro de digitação. Quando o endereço parece com o de uma página que existe, aparece um bloco "Talvez você procure" com o link certo: quem digita /blog/robos-de-ia-no-robotstxt recebe o link para o post completo sobre robôs de IA. Embaixo vêm quatro caminhos (validar um site, ferramentas grátis, blog e glossário) e um link para avisar a gente se o erro veio de um link do próprio site.
Um detalhe de bastidor: a lista de páginas usada nas sugestões sai do sitemap e fica guardada em cache. Robôs testam endereços inventados o tempo todo, e cada erro não pode custar uma consulta ao banco de dados. Se a sua página 404 é pesada, cada visita de robô a um endereço inexistente pesa no servidor do mesmo jeito.
Dois cuidados completam a página:
- Não bloqueie as páginas de erro no robots.txt. O Google lembra que, para ver o código de um endereço, o robô precisa conseguir buscá-lo. Bloqueado, o 404 nunca é lido.
- Corrija a origem quando o 404 vem de dentro. Link do próprio site levando a erro é problema seu, não do visitante; veja como encontrar e consertar link quebrado entre as suas páginas.
Quando usar 410 em vez de 404?
Use 410 quando você tirou a página do ar de propósito e ela não vai voltar. A RFC 9110, que define o HTTP, descreve o 410 como o aviso de que o recurso deixou de existir de forma provavelmente permanente e que o dono do site gostaria que os links para ele fossem removidos. Ela cita como caso típico as promoções por tempo limitado. Se o servidor não sabe se a ausência é definitiva, a especificação manda usar 404.
Na prática:
| Situação | Código |
|---|---|
| Endereço que nunca existiu (erro de digitação, link errado) | 404 |
| Página de campanha encerrada, sem substituta | 410 |
| Página removida sem certeza de que não volta | 404 |
| Página que mudou de endereço | 301 para o endereço novo |
Para o Google, a escolha pesa pouco. A documentação de códigos de status diz que todos os 4xx, com exceção do 429, são tratados do mesmo jeito: o conteúdo é considerado inexistente e o endereço sai do índice. O validador aceita os dois. O 410 vale pela clareza, para outros robôs e para quem mantém o site daqui a dois anos.
Seu site passa no teste do endereço inventado?
Descubra em dois minutos. Rode o curl com três endereços inventados: um na raiz, um dentro do blog ou das notícias e um na área de produtos. Se algum responder 200, ache a causa na lista acima, corrija e repita o teste. Depois, abra o motivo "Erro soft 404" em Indexação > Páginas no Search Console, confira se os exemplos listados são endereços inexistentes ou páginas reais que chegaram vazias e peça a validação da correção.
Para ver o resultado do teste junto com o resto do site, rode a análise grátis do domínio: a regra "Página inexistente responde 404" mostra o endereço testado e o código que voltou.