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.

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

Esta solução não estava no artigo original, mas é uma das causas mais frequentes 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

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. Recomendamos copiar e colar a mensgem de erro no Google, e assim encontrar a solução definitiva.

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

Copie a mensagem de erro encontrada no log e pesquise no Google entre aspas. Na maioria das vezes você encontrará a solução exata em fóruns como Stack Overflow ou na documentação oficial.

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!