Internal server error é o código de status HTTP 500, retornado quando o servidor encontra uma condição inesperada que o impede de processar a requisição, sem identificar a causa específica. No WordPress, o erro 500 normalmente vem de quatro origens: arquivo .htaccess corrompido, limite de memória PHP esgotado, conflito de plugin ou arquivo do core danificado.
Se você gerencia um site WordPress que sustenta campanhas e geração de receita, sabe que ver um internal server error na tela é um dos piores cenários possíveis. A página fica em branco, o suporte da agência começa a ligar e ninguém sabe por onde começar. A boa notícia: o erro 500 segue padrões previsíveis. Neste guia, vamos mostrar como diagnosticar e resolver o problema de forma estruturada, na ordem de probabilidade real das causas.
O que é o internal server error?
O internal server error pertence à classe de status 5xx, que indica falhas do lado do servidor. Isso o diferencia da classe 4xx, que sinaliza erros do cliente (como o conhecido 404, página não encontrada). Em outras palavras: quando você vê um erro 500, o problema não está no navegador do visitante, está no ambiente que hospeda e executa o seu WordPress.
O motivo de o navegador não dar mais detalhes é simples. Segundo a documentação da Mozilla sobre o código de status HTTP 500, esse status é genérico por definição. O servidor sabe que algo deu errado, mas não consegue (ou não está configurado para) expor a causa raiz ao cliente. Por segurança, a mensagem detalhada fica registrada apenas nos logs internos.
É por isso que tratar o erro 500 como um único problema é o erro mais comum. Ele é, na verdade, o sintoma de causas distintas. Resolver depende de ler o log certo antes de mexer em qualquer arquivo.
Por que o erro 500 acontece em sites WordPress?
Na nossa experiência com manutenção de sites corporativos em WordPress, o internal server error concentra-se em cinco causas, ordenadas aqui pela incidência que observamos no dia a dia:
- Arquivo .htaccess corrompido: diretivas inválidas de reescrita de URL, geralmente após uma migração ou edição manual mal feita, fazem o Apache rejeitar todas as requisições.
- Limite de memória PHP esgotado: plugins pesados ou processos de importação consomem mais memória do que o configurado, derrubando a execução do script.
- Conflito de plugin ou tema: uma atualização de plugin que entra em conflito com o tema ou com outro plugin gera um erro fatal de PHP.
- Arquivos do core danificados: uploads incompletos, falhas de FTP ou problemas de disco corrompem arquivos dentro de
/wp-admin/ou/wp-includes/. - Versão de PHP incompatível: um tema ou plugin antigo usa funções removidas na versão de PHP do servidor, quebrando a execução.
Repare que nenhuma dessas causas é o “erro 500” em si. O HTTP 500 é o envelope. O conteúdo real está no log. Por isso, antes de sair desativando plugins às cegas, o primeiro movimento técnico é habilitar o diagnóstico.
Como diagnosticar a causa antes de tentar corrigir?

Diagnóstico cego custa receita por hora. Antes de qualquer correção, você precisa ler o que o servidor está dizendo. Há três fontes de informação que respondem quase sempre.
Habilite o WP_DEBUG no wp-config.php
O modo debug do WordPress registra os erros de PHP num arquivo de log dedicado. Abra o wp-config.php via SFTP e, acima da linha /* That's all, stop editing! */, adicione:
define( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );define( 'WP_DEBUG_DISPLAY', false );
Isso grava os erros em /wp-content/debug.log sem exibi-los ao visitante. A documentação oficial sobre como habilitar WP_DEBUG no WordPress detalha cada constante. Em produção, mantenha o WP_DEBUG_DISPLAY em false para não vazar informação sensível.
Localize o error_log do servidor
Nem todo erro 500 aparece no debug do WordPress. Falhas de Apache ou Nginx ficam no log do servidor web. Os caminhos típicos são /var/log/apache2/error.log ou /var/log/nginx/error.log, mas em ambientes compartilhados o arquivo costuma estar na raiz do site ou na pasta logs do cPanel. A referência da documentação dos logs do Apache HTTP Server explica onde cada distribuição grava esses registros.
Leia o stack trace
A última linha do log geralmente nomeia a causa. “Allowed memory size exhausted” aponta para memória PHP. “Fatal error” com um caminho dentro de /wp-content/plugins/ aponta para um plugin. “Invalid command” indica .htaccess corrompido. Cada palavra-chave no log direciona para uma das soluções abaixo.
Como corrigir o internal server error passo a passo?
Com o log em mãos, siga a solução correspondente à causa identificada. Saber internal server error como resolver de forma metódica evita que você quebre algo novo ao tentar consertar.
1. Arquivo .htaccess corrompido
Acesse o site via SFTP e localize o .htaccess na mesma pasta de wp-content, wp-admin e wp-includes. Renomeie para .htaccess_old e recarregue o site. Se voltar ao ar, o arquivo era a causa. Em seguida, vá em Configurações > Links permanentes e clique em salvar. Isso regenera um .htaccess limpo, evitando que suas URLs retornem 404. Se você acabou de migrar o site, vale revisar nosso guia de como migrar o .htaccess no WordPress.
2. Limite de memória PHP esgotado
A sintaxe correta importa: muitos tutoriais erram aqui. Para aumentar a memória direto no WordPress, adicione ao wp-config.php: define( 'WP_MEMORY_LIMIT', '256M' );. Se preferir agir no nível do servidor, ajuste a diretiva memory_limit do PHP no php.ini com memory_limit = 256M. Note: é 256M, sem “B” e sem espaço estranho. Valores como “64MB” são sintaxe inválida e não surtem efeito.
3. Conflito de plugin ou tema

Pelo SFTP, renomeie a pasta /wp-content/plugins/ para /plugins_old/. Isso desativa todos os plugins de uma vez. Se o erro 500 sumir, renomeie de volta e reative um plugin por vez até reproduzir o problema e isolar o culpado. Depois, atualize ou substitua o plugin e reporte a falha ao desenvolvedor.
4. Arquivos do core corrompidos
Baixe uma cópia limpa da mesma versão do WordPress em wordpress.org e substitua apenas as pastas /wp-admin/ e /wp-includes/ via SFTP. Esses diretórios não contêm seu conteúdo, então a operação é segura e costuma resolver corrupções de arquivo do core.
5. Versão de PHP incompatível
Se o log traz “Uncaught Error” com uma função desconhecida, o tema ou plugin não suporta a versão de PHP do servidor. Verifique os requisitos de cada extensão e ajuste a versão de PHP no painel da hospedagem para uma compatível, idealmente mantendo o ambiente em uma versão ainda suportada.
Quando o problema é da hospedagem e não do WordPress?
Nem todo internal server error nasce dentro do WordPress. Alguns sinais apontam para a infraestrutura como causa raiz: timeout intermitente, erro 500 que aparece só em horário de pico de tráfego, ou ausência total de registro no debug do WordPress combinada com erros no log do Nginx ou Apache. Nesses casos, mexer no .htaccess ou desativar plugins não resolve, porque o gargalo está no servidor.
A tabela abaixo resume como identificar cada causa pelo log e qual a correção técnica correspondente:
| Causa do erro 500 | Como identificar no log | Solução técnica |
|---|---|---|
| .htaccess corrompido | Log Apache: “Invalid command” ou erro em “RewriteRule” | Renomear .htaccess e regenerar em Configurações > Links permanentes |
| Memória PHP esgotada | “Allowed memory size of X bytes exhausted” | Aumentar para 256M via wp-config.php ou php.ini |
| Conflito de plugin | “Fatal error” + caminho dentro de /wp-content/plugins/ | Renomear pasta do plugin via SFTP e desativar |
| Core corrompido | “require_once failed” em /wp-admin/ ou /wp-includes/ | Substituir pastas por instalação limpa da mesma versão |
| PHP incompatível | “Uncaught Error” + função ou sintaxe não suportada | Verificar requisitos do tema/plugin e ajustar versão de PHP |
Quando o log aponta consistentemente para a infraestrutura, a solução duradoura não é um patch no código. É uma hospedagem com monitoramento que detecta o erro 500 antes do seu visitante.
Perguntas frequentes sobre internal server error
O que significa internal server error?
Internal server error significa que o servidor encontrou uma condição inesperada que o impediu de atender à requisição. É o código de status HTTP 500, da classe 5xx (erros do servidor). A mensagem é genérica de propósito: a causa específica fica registrada nos logs do servidor, não na tela do visitante.
Erro 500 e erro 502 são a mesma coisa?
Não. O erro 500 indica uma falha genérica no processamento da requisição dentro do servidor de aplicação. O erro 502 (bad gateway) ocorre quando um servidor intermediário, como um proxy reverso ou balanceador, recebe uma resposta inválida do servidor de origem. Ambos são da classe 5xx, mas apontam para camadas diferentes da infraestrutura.
Como ver o log de erro do WordPress?
Habilite o modo debug adicionando define( 'WP_DEBUG', true ); e define( 'WP_DEBUG_LOG', true ); ao wp-config.php. Os erros passam a ser gravados em /wp-content/debug.log, acessível via SFTP. Para falhas de servidor, consulte também o error_log do Apache ou Nginx.
Aumentar o limite de memória PHP resolve sempre?
Não. Aumentar a memória resolve apenas quando o log mostra “Allowed memory size exhausted”. Se a causa for um plugin conflitante ou um arquivo corrompido, subir o memory_limit não terá efeito. Por isso o diagnóstico pelo log vem sempre antes da correção.
O erro 500 prejudica o SEO do site?
Sim, se persistir. Quando o Googlebot encontra um erro 500 ao rastrear, ele entende que a página está indisponível. Falhas pontuais e rapidamente corrigidas têm impacto mínimo, mas um erro 500 recorrente pode levar à queda de páginas no índice e perda de posições.
Por que o erro 500 aparece só em algumas páginas?
Geralmente porque a causa está ligada a um recurso específico daquela página, como um plugin acionado apenas ali, uma consulta pesada ao banco ou um template que estoura a memória. Erros 500 localizados costumam apontar para conflito de plugin ou consumo de memória em rotas específicas.
O que fazer se nenhuma solução funcionar?
Se você já passou por .htaccess, memória, plugins, core e versão de PHP sem sucesso, a causa provavelmente está na infraestrutura: limites do servidor, configuração de PHP-FPM ou recurso esgotado no plano de hospedagem. Esse é o momento de envolver uma equipe que controle o ambiente e leia os logs de baixo nível.
Conclusão
O internal server error assusta porque esconde a causa, mas deixa de ser um mistério quando você troca a tentativa e erro pelo diagnóstico estruturado. Leia o log primeiro, identifique se a falha é .htaccess, memória PHP, plugin, core ou versão de PHP, e aplique a correção correspondente. Saber internal server error como resolver nessa ordem economiza horas de site fora do ar e protege sua receita.
Quando o problema é recorrente ou nasce da infraestrutura, o melhor antídoto é não depender de tentativa e erro. Aqui na Apiki, nossa hospedagem WordPress gerenciada conta com monitoramento que detecta o erro 500 antes do seu visitante, com uma equipe dedicada que lê os logs e resolve a causa raiz, sem você precisar virar o operador do plantão. Fale com nosso time e tenha um ambiente em que o erro 500 vira exceção, não rotina.