500 Erro interno do servidor

O que é um erro 500 Internal Server Error, como o Googlebot trata erros de servidor durante o rastreamento, por que 500s persistentes causam desindexação e como diagnosticá-los e corrigi-los.

Publicado pela primeira vez: 28 de jun. de 2026 · Última atualização: 22 de ago. de 2026 · Avançado
Idiomas

Um 500 Internal Server Error é um código genérico de falha no lado do servidor — a RFC 9110 o define como uma condição inesperada que impediu o servidor de atender à solicitação, e nada além disso; não diz o que falhou, por quanto tempo ou se uma nova tentativa funcionará. Um 500 isolado normalmente é tentado novamente pelo Google, mas 500s persistentes em todo o site provocam a reação documentada: rastreamento mais lento e remoção posterior do índice se os erros não desaparecerem. John Mueller ofereceu uma regra pessoal aproximada — uma taxa de erros acima de cerca de 1% provavelmente é um problema real — mas o Google não publica um limiar rígido. Diagnostique primeiro pelos logs do servidor e depois confira o relatório Server error (5xx) do GSC; conflitos de plugin e exaustão de recursos são comuns em stacks específicas (especialmente WordPress), não uma lista universal.

TL;DR — A RFC 9110 define 500 como uma condição inesperada que impediu o servidor de atender à solicitação — esse é todo o limite do código; causa, duração e possibilidade de nova tentativa são diagnóstico, não semântica. A reação documentada do Google é gradual: 500s isolados normalmente são tentados novamente; 500s persistentes em todo o site reduzem o rastreamento e, se não forem resolvidos, acabam removendo URLs do índice. Mueller ofereceu uma regra pessoal aproximada — taxas de erro acima de cerca de 1% provavelmente indicam que algo está quebrado — mas isso não é um limiar documentado do Google, e a sequência tentar novamente → rastrear mais devagar → remover descreve comportamentos documentados, não um cronômetro fixo. Diagnostique primeiro pelos logs, depois pelo relatório Server error (5xx) do GSC e pelo Crawl Stats “by response”. A diferença 500/503 importa: 503 é o código sancionado de “volte depois”, com uma janela de tolerância de cerca de 2 dias; um 500 descontrolado não recebe essa tolerância. Evidence for this claim RFC 9110 defines 500 as an unexpected condition encountered by the server that prevented it from fulfilling the request. Scope: web requests Confidence: high · Verified: RFC 9110: HTTP Semantics

O que um 500 realmente é

Comece pela especificação, não pelo resumo de praticante. A RFC 9110 — o padrão de semântica HTTP — define 500 Internal Server Error como uma condição inesperada que impediu o servidor de atender à solicitação. Esse é o limite inteiro do que o código de status informa. Ele não identifica a causa-raiz, o componente que falhou, por quanto tempo o problema durará, se a mesma solicitação funcionaria em uma nova tentativa ou se a recuperação é provável. Tudo depois de “o servidor encontrou algo que não conseguiu tratar” é diagnóstico — e o diagnóstico vive nos seus logs de erro do servidor, não na especificação nem no navegador. Evidence for this claim A 500 response means the server encountered an unexpected condition that prevented it from fulfilling the request. Scope: RFC 9110 defines the generic response semantics; it does not diagnose the underlying server fault. Confidence: high · Verified: IETF: RFC 9110 §15.6.1 — 500 Internal Server Error

No guia de códigos de status HTTP da Ahrefs, mantenho a definição voltada para praticantes deliberadamente direta: o servidor “encounters some kind of issue and doesn’t have a better or more specific error code.” (tradução) «encontra algum tipo de problema e não tem um código de erro melhor ou mais específico». É uma explicação em linguagem simples do mesmo limite da RFC — ainda genérica, ainda um sintoma, não um diagnóstico.

Ele fica na família 5xx ao lado de 502 (bad gateway), 503 (service unavailable) e 504 (gateway timeout) — todos do lado do servidor, mas 500 é o que significa “nenhum código melhor se aplica”. Como o próprio status não traz detalhes de diagnóstico, recarregar o navegador não diz por que aconteceu; seus logs de erro do servidor são a fonte de verdade.

Como o Googlebot trata um 500

O rastreador do Google é educado por projeto — ajusta o ritmo à saúde do seu servidor, e respostas 5xx são um dos sinais que ele lê como “diminua o ritmo”. A documentação atual do Google confirma o formato dessa reação: respostas 5xx e 429 provocam uma redução temporária da taxa de rastreamento (proporcional a quantas URLs são afetadas), e URLs que continuam falhando podem acabar removidas do índice, enquanto conteúdo já indexado é preservado nesse intervalo até uma atualização bem-sucedida. Evidence for this claim Google reduces crawling in response to 5xx errors and eventually removes persistently failing URLs from its index. Scope: Google documents the general 5xx progression; it does not provide a guaranteed retry or recovery timeline for an individual URL. Confidence: high · Verified: Google: How HTTP status codes affect Google's crawlers John Mueller descreveu essa mesma progressão com suas próprias palavras, em uma sessão do Google SEO Office Hours reproduzida pelo Search Engine Journal:

“We don’t have any strong thresholds on that. But essentially what happens with 500 errors is we’ll try to retry them. And if we continue to see …the 500 errors then we will …slow down crawling. And if we continue to see that there are 500 errors then we will drop those URLs from the index.” (tradução) «A declaração de Mueller descreve tentar novamente os erros 500, reduzir o rastreamento se eles persistirem e remover as URLs do índice se a persistência continuar. Isso é uma descrição de comportamentos documentados, não um cronômetro fixo com transições ou prazos garantidos.»

Leia isso como uma descrição de comportamentos documentados — tentar novamente, rastrear mais devagar, possível remoção — e não como um cronômetro fixo de três etapas com transições ou prazos garantidos; o Google não publica limiares exatos para quando uma etapa vira a seguinte. Um 500 isolado em uma URL normalmente é tentado novamente, e a próxima busca bem-sucedida costuma encerrar o problema — mas isso descreve o caso comum, não garante que uma falha pontual tenha custo zero. O risco real e documentado está nos erros que não desaparecem.

Por que 500s em todo o site são piores que os isolados

Há uma dinâmica pior quando uma grande parte do site retorna 500 ao mesmo tempo. A documentação atual do Google confirma que a redução da taxa de rastreamento cresce conforme o número de URLs afetadas — quanto maior a parte do site que falha, mais o rastreamento diminui. Mueller explicou o raciocínio em termos mais específicos, sugerindo que o Google pode suspeitar que o próprio rastreamento faça parte da sobrecarga:

“But if a large part of a site consistently has 500 errors and we might assume that maybe we’re causing the problem and we’ll slow down crawling of the whole site and at some point we’ll say well, it looks like these pages are really gone, we’re going to drop them.” (tradução) «Mueller descreve a hipótese de que, quando uma grande parte do site apresenta 500s de forma consistente, o rastreamento pode estar contribuindo para o problema; nesse cenário o Google reduz o rastreamento do site inteiro e, se as páginas parecem realmente desaparecidas, pode removê-las do índice.»

Trate essa formulação causal específica como caracterização do próprio Mueller, e não como texto retirado literalmente da documentação oficial atual do Google — o mecanismo subjacente é documentado (mais URLs falhando, maior redução da taxa), embora o raciocínio causal exato seja mais fácil de verificar na declaração dele. Vale internalizar o ciclo prático: rastreamento agressivo sob exaustão de recursos pode provocar mais 500s → o Google recua do rastreamento do site inteiro → e, se os erros persistirem, as páginas são removidas. Um problema 500 nem sempre é bug de código — às vezes o servidor cede sob carga concorrente que só aparece com picos de rastreamento ou tráfego.

Quanto é “demais”?

Não existe uma linha rígida — a documentação de solução de problemas do Google não publica um limiar de taxa de erros. Mueller ofereceu uma regra pessoal aproximada no SEO Office Hours (novamente reproduzida pelo Search Engine Journal, não uma publicação oficial do Google):

“My feeling is if you’re seeing something more than one percent then that sounds like something is kind of broken.” (tradução) «Mueller apresenta mais de um por cento como um possível sinal de que algo está quebrado, uma regra prática pessoal e não um limite oficial.»

Trate ~1% como um teste informal de cheiro atribuído a Mueller, não como limite documentado ou aplicado pelo Google. Abaixo disso, provavelmente está tudo bem; acima, vale investigar — mas não trate a passagem de 1% como gatilho automático nem ficar abaixo dela como garantia. O único número que o Google assume publicamente é a ausência de um: “we don’t have any strong thresholds”. (tradução) «não temos limiares rígidos».

500 vs. 503: a diferença que importa

É aqui que muita gente erra. Um 503 Service Unavailable é a forma sancionada de dizer a um rastreador “estou temporariamente fora do ar, volte mais tarde”. O Google o trata como intencional e concede uma janela de tolerância. A documentação de rastreamento do próprio Google é explícita:

“Return 503 or 429 HTTP response status codes temporarily for Googlebot requests when your server is overloaded. Googlebot will retry these URLs for about 2 days. Note that returning ‘no availability’ codes for more than a few days will cause Google to permanently slow or stop crawling URLs on your site.” (tradução) «A orientação do Google é retornar 503 ou 429 temporariamente quando o servidor estiver sobrecarregado; o Googlebot tentará novamente essas URLs por cerca de 2 dias. Códigos de indisponibilidade mantidos por mais de alguns dias podem fazer o Google reduzir permanentemente ou parar o rastreamento das URLs.»

O contraste: 503 é intencional e recebe uma tolerância de novas tentativas de cerca de 2 dias; um 500 descontrolado é não intencional e não recebe essa tolerância — ele simplesmente é tentado novamente até o Google desistir. Na prática, para manutenção planejada ou defesa deliberada contra sobrecarga, retorne 503 (idealmente com um cabeçalho Retry-After), não 500 e não uma página de erro com 200. Nunca vista uma interrupção real como 200.

Como diagnosticar um 500

Trabalhe em camadas — aplicação/código, plataforma/CMS, infraestrutura e recursos, depois configuração — começando pelo que é mais barato e provavelmente útil. Os passos marcados como (específico de WordPress) são práticas comuns do WordPress, não correções universais; adapte-os à sua stack real.

  1. Logs de erro do servidor. error.log / access.log (ou o visualizador de logs da plataforma). Relacione horários às solicitações que falharam. É aqui que aparecem o stack trace, o erro fatal do PHP ou a falha de conexão com o banco. Tudo depois disso é palpite até você ler esses logs.
  2. GSC — relatório Server error (5xx). O relatório Page Indexing do Google Search Console sinaliza as URLs nas quais o próprio Google está vendo 500s. Depois abra Crawl Stats e leia a divisão “by response” ao longo do tempo — assim você diferencia uma falha transitória de um problema real e persistente de disponibilidade.
  3. Bing Webmaster Tools. Os alertas de erro de rastreamento agrupam Server Errors (5xx) e apontam URLs específicas e a ferramenta Crawl Information.
  4. Reproduza como bot, não apenas no navegador. Uma página pode retornar 500 para o Googlebot e carregar normalmente para você — sob carga disparada por rastreamento, configuração incorreta de detecção de bots/firewall ou limites de capacidade que só aparecem com tráfego de bots concorrente. Use URL Inspection (GSC), Fetch as Bingbot ou curl com user-agent de bot para encontrar falhas exclusivas de bot. “Funciona no meu navegador” não é liberação.
  5. Conflitos de plugin/tema/módulo (padrão específico do WordPress; adapte em outros lugares). Faça um backup primeiro — sempre tenha um caminho de volta antes de desativar coisas. Depois desative extensões e reative uma por vez para isolar a causadora, verificando permissões/propriedade de arquivos que você tocar. Guias próprios de hospedagem para WordPress relatam esse padrão com frequência, mas isso é uma observação específica de stack, não evidência de que seja a principal causa em todo lugar — em outro CMS ou aplicação personalizada, o equivalente é conflito de módulo, pacote ou middleware de terceiros.
  6. Exaustão de recursos. Limites de memória do PHP, conexões de banco, capacidade de hospedagem, picos de tráfego ou rastreamento. Seu host geralmente consegue confirmar isso do lado dele.
  7. Configuração e mudanças recentes. Um .htaccess quebrado, edição incorreta de configuração do servidor, deploy recente ou credenciais erradas do banco. Mudanças recentes são o lugar de maior retorno para começar.

Como corrigir (combine a correção com a causa)

Combine a correção com a camada indicada pelo diagnóstico. Estes são padrões comuns relatados em textos de praticantes, não uma lista universal ou ranqueada do que é mais provável na sua stack específica:

  • Configuração/deploy causou o erro → reverta a mudança; corrija o .htaccess, a configuração ou as credenciais.
  • Exaustão de recursos → aumente limites (memória do PHP, conexões do banco) ou suba o nível de hospedagem; se o rastreamento estiver disparando a sobrecarga, isso também é uma conversa sobre taxa de rastreamento.
  • Conflito de plugin/módulo → remova ou substitua a extensão causadora.
  • Bug de código → corrija o código e adicione o tratamento de erro ausente.
  • Você não consegue descobrir → escale para o host com os horários exatos e as linhas dos logs. Não adivinhe em produção.

Evitando recorrência

Monitore e alerte sobre taxas de 5xx, faça staging das mudanças antes de chegarem à produção, teste carga antes de picos conhecidos de tráfego e — se o próprio rastreamento do Googlebot for o gatilho — gerencie a carga de rastreamento (e retorne 503/429 deliberadamente durante uma sobrecarga real, em vez de deixar o servidor emitir 500s descontrolados).

FAQ

Um erro 500 prejudica o SEO? O risco documentado diz respeito principalmente à persistência em escala. 500s isolados normalmente são tentados novamente, sem penalidade documentada por uma falha pontual; 500s persistentes em todo o site reduzem o rastreamento e podem levar à desindexação.

Quanto tempo leva para o Google desindexar uma página com 500? Não existe prazo fixo. O Google tenta novamente primeiro e reduz o rastreamento; a remoção do índice só ocorre se os erros continuarem. Corrija o problema e as páginas geralmente voltam quando os rastreamentos são bem-sucedidos.

Por que meu site retorna 500 para o Googlebot, mas carrega bem no meu navegador? 500s exclusivos de bot geralmente significam problemas de capacidade ou tratamento de bots — carga disparada pelo rastreamento, regras de firewall/bots ou limites que só aparecem com tráfego concorrente de bots. Confie nos logs, não em uma verificação manual no navegador.

500s podem desacelerar o rastreamento do site inteiro, não apenas das páginas afetadas? Sim — a documentação do Google confirma que a redução da taxa cresce conforme o número de URLs que falham, então uma grande parte do site retornando 500 reduz o rastreamento em todo o site. Mueller também descreveu a possibilidade de o Google suspeitar que o próprio rastreamento esteja contribuindo para a sobrecarga — caracterização dele, não formulação retirada literalmente da documentação oficial atual.

O que causa um 500 no WordPress? No WordPress especificamente, provedores de hospedagem e a comunidade costumam relatar conflitos de plugin/tema, .htaccess corrompido ou limite de memória do PHP — isso é o que se relata para essa plataforma, não uma afirmação de que sejam as principais causas universais de todo 500. A ordem de diagnóstico acima (logs primeiro, depois o que mudou) é a mesma em qualquer CMS.

É seguro tentar automaticamente uma solicitação novamente depois de um 500? Somente depois de verificar primeiro o método e a idempotência da solicitação — o status 500, por si só, não autoriza uma política de retry. GET, HEAD, PUT e DELETE geralmente podem ser repetidos com segurança por serem idempotentes; um POST simples geralmente não é, a menos que sua API garanta idempotência explicitamente (por exemplo, com uma chave de idempotência) — repeti-lo cegamente pode duplicar um pedido, um e-mail ou uma cobrança. Ao tentar novamente, use backoff exponencial com jitter, limite o número de tentativas e defina um orçamento de retry para que um servidor em dificuldade não sofra uma tempestade de novas tentativas além do que já está falhando.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.