HTTP Erro 500: Como diagnosticar e resolver (guia completo)

O erro 500 de HTTP – mais conhecido como 500 Internal Server Error é um problema muito comum em servidores de hospedagem de sites. Este código de erro faz parte de uma série de códigos de status HTTP. Ele pode ser causado por diversas razões.

Neste artigo iremos explicar todas as causas e assim apresentar as alternativas para resolver este erro em seu site.

O que é o HTTP Erro 500 ?

O HTTP 500 Internal Server Error é um código de status HTTP da família 5xx, que abrange erros ocorridos no servidor — diferente dos erros 4xx, que indicam problema no lado do cliente (como uma URL inválida).

Quando o servidor encontra uma condição inesperada que o impede de completar a requisição, mas não sabe exatamente qual foi o problema, ele retorna o código 500. É essencialmente o equivalente a um “algo deu errado, mas não sei dizer o quê”.

Por ser um erro genérico, o 500 pode ter dezenas de causas diferentes. Isso torna o diagnóstico um pouco mais trabalhoso — mas as soluções abaixo cobrem as situações mais comuns.

2xx Sucesso
3xx Redirecionamento
4xx Erro do cliente
5xx Erro do servidor ← você está aqui

Principais causas

🔌
Plugin ou tema com erro

Especialmente no WordPress. Um plugin incompatível ou com bug é a causa número um do erro 500.

📄
Arquivo .htaccess corrompido

Uma linha mal-formada no .htaccess derruba o site inteiro. Acontece com frequência após atualizações.

🐘
Limite de memória PHP excedido

Scripts muito pesados ultrapassam o limite de RAM configurado e geram o erro 500 silenciosamente.

🔒
Permissões incorretas de arquivos

Arquivos com permissão 777 ou pastas com 666 podem ser bloqueadas pelo servidor como medida de segurança.

🐛
Erro de sintaxe em PHP

Um parêntese ou ponto-e-vírgula faltando em qualquer arquivo PHP pode derrubar o site.

🗄️
Timeout ou falha no banco de dados

Consultas lentas ou conexão instável com o banco de dados também podem disparar o erro 500.

Como corrigir o HTTP erro 500 em sites WordPress

Primeiramente, a maioria dos problemas que geram o erro HTTP 500 Internal Server Error no WordPress são causados por plugins com problemas. Uma causa comum também são problemas no servidor do arquivo .htaccess.

Dessa forma, para resolver este problema, iremos resetar nosso arquivo .htaccess. Em seguida, caso o problema persista, iremos apresentar outras soluções envolvendo plugins e temas. Ao fazer testes, recomendamos sempre limpar o cache de seu navegador.

Solução 1: Solucionando problemas com plugins

Para ajudar nossos clientes a resolver o problema HTTP 500 Internal Server Error, precisamos tentar encontrar sua causa. Sendo assim, é muito comum haver plugins com problemas gerando este erro. O banco de dados do WordPress algumas vezes pode se corromper devido a problemas com plugins.

Primeiramente, no WordPress vá até à opção Plugins. Ela fica dentro de Plugins Instalados.

Primeiramente, tente atualizar os plugins em seu WordPress.

Agora, você precisa atualizar todos os plugins aonde mostra a mensagem “Atualize agora”. A seguir. Dessa forma, para atualizar, basta clicar em Atualize agora.  Repita este processo para todos os plugins com o alerta.

atualizar plugins no wordpress

Por fim, faça um teste e verifique se o HTTP Erro 500 foi resolvido.

Se não funcionar, tente desabilitar plugins um a um até achar o defeito

Volte para a área Plugins instalados do WordPress. Agora, tente desativar todos os plugins, um a um. Em cada plugin, clique em Desativar, e depois tente acessar seu site.

Repita o processo até encontrar o plugin que estiver causando o erro.

Dica: há ainda outras formas de desabilitar plugins, tanto por FTP como pelo painel Softaculous. Recomendamos este artigo que explica em detalhes: Como desativar plugins do WordPress, com ou sem wp-admin

💡
Dica

Se o painel do WordPress estiver inacessível por causa do erro 500, você pode desativar plugins via FTP renomeando a pasta /wp-content/plugins/nome-do-plugin para algo como nome-do-plugin-DESATIVADO. O WordPress ignora pastas com nome diferente.

Usa Elementor? Nesse caso, vale inverter a ordem: o erro 500 no Elementor quase sempre é limite do PHP — principalmente o max_input_vars — e não conflito de plugin. Desativar plugins não resolve, porque o problema não é conflito. Veja erro 500 no Elementor para os limites específicos que ele exige.

Solução 2: Resetar o .htaccess pelo WordPress

Primeiramente,  acesse a opção Links permanentes que fica dentro de Configurações.

configurações do wordpress

Sempre que fizermos alterações aos Links permanentes, o WordPress irá resetar o arquivo .htaccess. Note que estas alterações podem afetar o SEO de seu site.

Agora, recomendamos alterar a opção ativa dentro dos Links permanentes. Em seguida, clique Salvar alterações. Dessa forma, o WordPress irá resetar o arquivo .htaccess , e por isso, há grandes chances  do Erro 500 ser solucionado.

permalinks do wordpress

Solução 3: Resetar manualmente o arquivo .htaccess

Caso você use WordPress e queira resetar o arquivo .htaccess manualmente, recomendamos criar uma cópia dele consigo.  Dessa forma, você poderá retornar o arquivo ao padrão anterior em caso de problemas.

💾
Sempre faça backup antes de editar

Renomeie o .htaccess original para .htaccess.bak antes de qualquer edição. Assim você pode restaurar se algo der errado.

Basicamente, o arquivo .htaccess é comum e define apontamentos e comportamentos do servidor web.

O cPanel tem um arquivo .htaccess padrão, que é colocado dentro da pasta public_html de seu site. Por exemplo, se nosso blog WordPress estiver na raiz do site, o arquivo .htaccess estará dentro da pasta public_html.

Acesse o gerenciador de arquivos do seu painel de controle, ou então, faça acesso por FTP.

Agora você já pode visualizar o arquivo .htaccess na listagem de arquivos:

gerenciador de arquivos

A seguir, o conteúdo padrão e original do arquivo .htaccess do WordPress. Simplesmente edite seu arquivo .htaccess, esvazie ele, e copie e cole este conteúdo:

# BEGIN WordPress
 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
 
# END WordPress

Solução 4: Trocar seu tema do WordPress

Algumas vezes alterações feitas a um tema do WordPress podem gerar o erro 500. Ou até mesmo alterações feitas em arquivos PHP dentro do WordPress.

Para corrigir o 500 Internal Server Error, há outra possibilidade: alterar o template do WordPress. Para isso, vá até a opção Temas. Ela fica dentro de Aparência.

menu wordpress

Em seguida, encontre um tema diferente. Neste novo tema escolhido, clique em Ativar.

tema do wordpress

Solução 5: Aumentar o limite de memória do PHP

Uma das causas mais frequentes e mais ignoradas. Quando o WordPress ou um plugin consome mais memória do que o permitido, o servidor retorna 500 sem mais detalhes.

Adicione as linhas abaixo ao seu arquivo wp-config.php, logo antes da linha /* That's all, stop editing! */:

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Alternativamente, adicione ao .htaccess:

php_value memory_limit 256M

Editar diretivas de PHP no .htaccess pode causar um erro 500 — é o que pode acontecer ao ajustar o upload_max_filesize num servidor CGI/FPM.

Como resolver o HTTP Erro 500 em sites que não sejam WordPress

Há muitas possíveis causas para o Erro 500 em sites que não usam WordPress. Dessa forma, iremos apresentar as causas mais comuns com as respectivas soluções. Na maioria das vezes, mesmo para quem não usa WordPress, a causa do 500 Internal Server Error está no arquivo .htaccess. Este arquivo fica normalmente localizado dentro da pasta public_html (raiz do site).

erro do servidor

Solução 6: Verificar a sintaxe do arquivo .htaccess

Primeiramente, vamos editar o arquivo .htaccess e procurar por erros dentro dele. Recomendamos usar este verificador de .htaccess .

Dessa forma, basta copiar e colar o conteúdo do seu .htaccess para este site. Em seguida, ele irá lhe mostrar em vermelho qual linha que possui erros, para que você possa corrigir.

💾
Sempre faça backup antes de editar

Copie o .htaccess para .htaccess.bak antes de qualquer alteração.

linha com o erro no servidor

Solução 7: renomear o arquivo .htaccess para desativá-lo

Você pode simplesmente renomear este arquivo. Isto irá desativá-lo no servidor. É uma forma bastante comum para resolver o erro.

Por exemplo, renomeie ele para .htaccess-antigo . Dessa forma, você pode observar o comportamento do seu site sem ele.

⚠️
Não deixe sem .htaccess em produção

Sem o arquivo, URLs amigáveis param de funcionar no WordPress e algumas regras de segurança ficam desativadas. Use isso só para diagnóstico.

Solução 8: Forçar o PHP a exibir erros detalhados

Por padrão, o PHP mostra os erros 500 desta forma a seguir. Sendo assim, há uma opção para que você possa forçar o PHP a mostrar as mensagens de erro na tela.

erro no servidor

Em seguida, para habilitar a exibição de erros no PHP, adicione estas linhas ao início do seu arquivo PHP. Faça isso dentro das tags <?php e ?>.

<?php

error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
// ... resto do seu código

?>

Agora, seu arquivo PHP irá exibir a mensagem de erro na tela. Dessa forma, você poderá encontrar a exata causa do Erro 500.

Para revelar a mensagem por trás do erro 500, ative a exibição de erros do PHP — o guia de como exibir os erros do PHP detalha os três caminhos e o cuidado de desligar depois.

erro no servidor
🚨
Remova após o diagnóstico

Exibir erros em produção expõe informações sensíveis do seu servidor (caminhos de arquivos, versões, estrutura do banco de dados). Remova essas linhas assim que identificar o problema.

Solução 9: Verificar permissões de arquivos e pastas

Esta causa é frequentemente ignorada. Servidores Apache e Nginx rejeitam arquivos com permissões excessivamente abertas como medida de segurança, gerando o erro 500.

As permissões recomendadas são:

  • Arquivos PHP e HTML: 644
  • Pastas/diretórios: 755
  • wp-config.php (se usar WordPress): 600 ou 640

Para corrigir via SSH ou terminal do cPanel:

# Corrige todos os arquivos dentro de public_html
find /public_html -type f -exec chmod 644 {} \;

# Corrige todas as pastas dentro de public_html
find /public_html -type d -exec chmod 755 {} \;

Solução 10: Verificar os logs de erro no servidor

Por fim, caso nenhuma das alternativas anteriores tenha surtido efeito, recomendamos olhar os logs de erro do servidor. Certamente eles irão exibir a causa exata do Erro 500 Internal Server Error. Dentro do painel de controle cPanel, acesse a opção Erros que fica dentro de Métricas.

painel de controle

Dessa forma, todas as mensagens de Erro 500 serão exibidas na tela

erros do servidor
🔍
Como usar as mensagens de erro

A linha registrada no momento da falha normalmente nomeia o arquivo e a linha que causaram o erro — é ali que está a resposta. Se a mensagem não for clara, envie-a ao suporte da sua hospedagem junto com o horário exato da falha.

Veja também

O erro 500 abre a classe 5XX dos códigos de status HTTP (erros do servidor). Veja também os primos da mesma família: 502 Bad Gateway, 504 Gateway Timeout e 503 Serviço Indisponível.

Se o seu site usa Cloudflare, o erro pode vir da origem ou da própria CDN — veja erro 500 no Cloudflare para descobrir qual dos dois. Se você usa o Elementor, recomendamos este artigo sobre o erro 500 no Elementor.

Perguntas frequentes

O que significa o erro 500 Internal Server Error?
Significa que o servidor encontrou uma condição inesperada que o impediu de completar a requisição. Diferente de um erro 404 ou 403, o código 500 não identifica a causa — ele apenas informa que existe uma. Por isso o diagnóstico é feito por eliminação.

O erro 500 é culpa minha ou do servidor de hospedagem?
Pode ser dos dois. Se o erro apareceu logo depois de você alterar um arquivo, instalar um plugin ou mexer numa configuração, a causa está do seu lado. Se nada mudou e outros sites do mesmo servidor também estão fora, é do lado do servidor. Os logs de erro distinguem os dois casos.

Como descobrir a causa exata do erro 500?
Pelos logs de erro do servidor. No cPanel eles ficam em Métricas → Erros; num VPS, geralmente em /var/log/apache2/error.log ou /var/log/nginx/error.log. A linha registrada no momento da falha normalmente nomeia o arquivo e a linha responsáveis.

Por que o arquivo .htaccess causa erro 500?
Porque uma única diretiva inválida é suficiente. O .htaccess é lido a cada requisição, e o Apache retorna 500 em vez de ignorar a linha que não consegue interpretar. Renomear o arquivo para .htaccess-antigo e recarregar o site mostra na hora se a causa é essa.

Meu site WordPress deu erro 500 depois de instalar um plugin. O que faço?
Desative o plugin. Se o painel estiver inacessível, renomeie a pasta dele em /wp-content/plugins/ via FTP ou gerenciador de arquivos — o WordPress ignora pastas com nome diferente e desativa o plugin automaticamente.

O erro 500 apaga os arquivos ou o conteúdo do meu site?
Não. O erro 500 indica uma falha ao processar a requisição, não perda de dados. Seus arquivos, banco de dados e conteúdo continuam intactos, e o site volta ao normal assim que a causa é corrigida.

O erro 500 prejudica o SEO do meu site?
Um erro pontual, não. Mas um erro 500 persistente impede que os buscadores acessem suas páginas, e mecanismos de busca reduzem a frequência de rastreamento de sites que retornam erros de servidor com frequência. Resolvido rapidamente, o impacto é insignificante.

O que fazer se nenhuma das soluções funcionar?
Entre em contato com o suporte da sua hospedagem com três informações: a mensagem exata registrada no log, o horário em que o erro começou, e se ele é constante ou intermitente. Com esses dados, o suporte consegue verificar limites de recurso e configurações de servidor que você não tem como inspecionar.

Suporte que lê o log com você

Diagnosticar um erro 500 exige acesso aos logs, ao .htaccess e às configurações de PHP. Na Homehost você tem tudo isso no painel, com servidor no Brasil, CloudLinux isolando cada conta, backup automático e suporte técnico em português que verifica o servidor por você. A partir de R$ 7,90/mês.

Ver planos de hospedagem

Conclusão

O erro HTTP 500 é amplo por design — ele existe justamente para cobrir qualquer falha interna que o servidor não saiba categorizar de outra forma. Isso o torna desafiador, mas não impossível de resolver.

O fluxo recomendado para diagnóstico é:

  1. Sites WordPress: comece pelos plugins, depois .htaccess, depois tema, depois memória PHP.
  2. Qualquer site: valide o .htaccess, verifique permissões de arquivos e ative a exibição de erros PHP.
  3. Último recurso: consulte os logs de erro do servidor — eles raramente mentem.

Após resolver, lembre-se de desativar a exibição de erros PHP e manter todos os plugins e temas atualizados para prevenir recorrências.

Este artigo foi útil?

Obrigado pela resposta!
Picture of Gustavo Gallas

Gustavo Gallas

Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do Bóris, seu pet de estimação. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos técnicos.

Contato: gustavo.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!