Skip to content

Tudo para WordPress, desenvolvimento web — e não só

🔧 Como corrigir o erro 500 internal server error no WordPress

🔧 Como corrigir o erro 500 internal server error no WordPress

Ecrã branco. Cinco dígitos: 500. Sem painel de administração, sem site, sem pista da causa. Parece-lhe familiar?

O erro interno de servidor 500 do WordPress é o mais silencioso de todos os erros. Não lhe diz o que exatamente se partiu, o que só agrava o pânico. Mas a realidade é prosaica: em 9 de cada 10 casos, o culpado é um plugin, um tema ou uma única linha mal escrita no .htaccess. O servidor não enlouqueceu; simplesmente encontrou código que não consegue executar.

Vamos analisar os três cenários principais e corrigir cada um passo a passo. Sem pânico, sem ligar para o alojamento às três da manhã. Com as suas próprias mãos, em 15 minutos.

💡 Resumo rápido:

  • Desative todos os plugins de uma vez, renomeando a pasta plugins via FTP; se o erro desaparecer, o culpado está entre eles
  • Reponha o .htaccess para o modelo padrão do WordPress: uma diretiva de cache ou redirecionamento mal escrita pode derrubar o site instantaneamente
  • Ative o WP_DEBUG no wp-config.php para ver o ficheiro e a linha exatos com o erro fatal
  • Se o seu site acabou de mudar para um novo alojamento, verifique a versão do PHP: o WordPress a partir de 2026 requer PHP 8.3 ou superior, e plugins antigos são frequentemente incompatíveis

Códigos de resposta HTTP: o que o servidor está a tentar dizer-lhe

Antes de mergulhar na depuração, ajuda compreender o básico das respostas HTTP. O servidor responde sempre ao navegador com um código de três dígitos, e o primeiro dígito já lhe indica onde procurar o problema.

Portátil com código de programação e ferramentas de depuração
  • 1xx, informativo: «a ligação está a ser estabelecida, por favor aguarde». Estes não têm nada a ver com erros.
  • 2xx, sucesso. O famoso 200 OK significa que o servidor entregou a página sem problemas.
  • 3xx, redirecionamentos. Por exemplo, 301 (redirecionamento permanente) ou 307 (temporário). O navegador vai para o novo endereço silenciosamente; isto é um comando, não um erro.
  • 4xx, erro do lado do cliente. 404 Not Found significa que a página foi eliminada ou o URL foi mal escrito. O servidor está ativo; o conteúdo simplesmente não existe.
  • 5xx, erro do lado do servidor. É aqui que começa o nosso território.

Entre os códigos 5xx, há três «pacientes» principais: 503 Service Unavailable (o servidor está sobrecarregado; corrija com cache ou atualizando para um plano mais potente), 502 Bad Gateway (o PHP-FPM falhou ou perdeu a ligação com o servidor web; um problema de configuração) e, finalmente, o **500 **Internal Server Error, o mais genérico e, portanto, o mais traiçoeiro. É sobre este que vamos falar.

Três causas principais do erro 500 e correções passo a passo

O erro 500 não é misterioso; é apenas genérico. O servidor diz: «Não consegui executar o código, mas não vou dizer qual». O diagnóstico significa trabalhar metodicamente através de três suspeitos habituais.

1. Incompatibilidade da versão do PHP ao migrar um site

Um cenário clássico: mudou o seu site de um alojamento antigo com PHP 7.4 para um novo com PHP 8.3 ou 8.4. E obteve imediatamente um ecrã branco.

A razão é simples: um plugin ou tema antigo usa funções que foram descontinuadas ou totalmente removidas nas versões mais recentes do PHP. O interpretador recusa-se a executá-las e o site vai abaixo.

Como corrigir. Faça uma cópia de segurança completa das pastas wp-content/plugins/ e wp-content/themes/. Depois, renomeie a pasta plugins para plugins_old via FTP ou através do gestor de ficheiros do seu alojamento; isto desativa instantaneamente todos os plugins de uma vez. O erro desapareceu? O culpado está entre os plugins. Restaure-os um a um, verificando o site de cada vez. Aquele após o qual o erro 500 regressa é o problema.

A mesma lógica aplica-se aos temas: mude para um tema padrão do WordPress (Twenty Twenty-Five ou mais recente). O site voltou à vida? O problema está no seu tema; atualize-o ou substitua-o.

Este cenário aparece com mais frequência ao migrar um site entre alojamentos com versões de PHP diferentes. A maioria dos alojamentos já não oferece PHP 7.x nos seus painéis de controlo, e os requisitos mínimos do WordPress desde 2026 começam no PHP 8.3. Código antigo sem atualizações está condenado nesse ambiente.

2..Htaccess corrompido, o assassino invisível

Configurou um plugin de cache, ativou redirecionamentos ou adicionou as suas próprias regras ao .htaccess e o site foi abaixo. Instantaneamente e sem aviso.

O ficheiro .htaccess (Apache) controla o servidor web em tempo real: uma diretiva é escrita, uma diretiva é executada. Um erro de sintaxe, uma flag incorreta ou um conflito de regras, e todo o site responde com um 500.

Como corrigir. Ligue-se ao seu site via FTP ou através do gestor de ficheiros do alojamento. Encontre o .htaccess na pasta raiz (public_html, www ou htdocs). Copie o seu conteúdo para um ficheiro de texto como cópia de segurança. Depois, substitua tudo pelo modelo padrão do WordPress:

1 # BEGIN WordPress
2
3<IfModule mod_rewrite.c>
4RewriteEngine On
5RewriteBase /
6RewriteRule ^index\.php$ - [L]
7RewriteCond %{REQUEST_FILENAME} !-f
8RewriteCond %{REQUEST_FILENAME} !-d
9RewriteRule . /index.php [L]
10</IfModule>
11
12 # END WordPress

Este código restaura as regras padrão de reescrita de URL (permalinks amigáveis) e remove tudo o que é extra. O site deve voltar à vida imediatamente. Pode reconfigurar o seu plugin depois, mas agora sabe onde procurar se algo correr mal.

Não ajudou? Restaure o .htaccess antigo a partir da sua cópia de segurança e avance para o próximo passo. No Nginx, o .htaccess não funciona; verifique os logs em /var/log/nginx/error.log, o problema está na configuração do bloco do servidor.

3. Erro fatal no código PHP

Um plugin ou tema chama uma função que não existe, passa o tipo de argumento errado ou referencia uma classe inexistente. O PHP interrompe a execução e você depara-se com o mesmo 500.

Sem informações de depuração, está a adivinhar às cegas. Felizmente, o WordPress pode exibir erros; só precisa de ativar o modo de depuração.

Ativar o WP_DEBUG

Abra o ficheiro wp-config.php na raiz do seu site. Encontre a linha:

1define( 'WP_DEBUG', false );

Substitua false por true. Se essa linha não existir, adicione-a antes de /* That's all, stop editing! */:

1define( 'WP_DEBUG', true );
Ecrã de computador com editor de código e código de programação

Depois de guardar, atualize a página. Em vez de um ecrã branco, verá uma mensagem como:

1Fatal error: Call to undefined function wpsupercache_gc() in
2/home/user/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 342

O erro mostra: o tipo de problema (undefined function), o ficheiro ofensivo (wp-cache.php) e a linha (342). Isto é um apontador direto para o plugin que causou a falha. Desative-o renomeando a pasta do plugin e o site voltará a funcionar. Depois, atualize o plugin, encontre uma alternativa ou contacte o programador.

Certifique-se de que volta a colocar WP_DEBUG como false após o diagnóstico. Num site ativo, exibir erros aos visitantes é desnecessário e pode revelar caminhos internos do servidor. Se quiser recolher logs sem os exibir no ecrã, adicione estas linhas ao wp-config.php: define( 'WP_DEBUG_LOG', true ); e define( 'WP_DEBUG_DISPLAY', false );. Os erros serão escritos em wp-content/debug.log.

⁉️🤔 Perguntas frequentes

Posso simplesmente reiniciar o servidor para limpar o erro 500?

Não. Ao contrário do 503, que muitas vezes desaparece após um reinício (quando o pico de carga é aliviado), o erro 500 é causado por um problema no código. Reiniciar o servidor não o resolve: após o arranque, o site vai de encontro ao mesmo código defeituoso e falha novamente.

Como determino se a culpa é de um plugin ou tema se o painel de administração estiver inacessível?

Ligue-se via FTP ou através do gestor de ficheiros do alojamento. Renomeie a pasta wp-content/plugins; isto desativa instantaneamente todos os plugins. O site voltou à vida? O problema está nos plugins. Se não, renomeie a pasta do tema ativo em wp-content/themes. O WordPress mudará automaticamente para o tema padrão. Voltou à vida? O problema está no tema.

Tenho de ativar o WP_DEBUG num site ativo?

Não, num site a funcionar, o WP_DEBUG deve estar desativado (false). Ative-o apenas durante o diagnóstico e desligue-o imediatamente a seguir. Para a recolha contínua de erros sem os mostrar aos visitantes, use a combinação de WP_DEBUG_LOG (escreve em wp-content/debug.log) e WP_DEBUG_DISPLAY (desativa a saída no ecrã).

E se nenhum dos três métodos funcionou?

Verifique o limite de memória do PHP (memory_limit no php.ini). Por vezes, os scripts não têm megabytes alocados suficientes e falham com um 500. Aumente-o para 256M ou 512M. Se isso não ajudar, contacte o suporte do seu alojamento: peça-lhes para verificar os logs de erros do servidor (error_log para Apache/Nginx). A causa exata estará lá, algo que não consegue ver do lado do WordPress.

O meu site está no Nginx; o que faço com o.htaccess?

O Nginx não usa .htaccess. As regras de reescrita são especificadas na configuração do bloco do servidor (nginx.conf ou sites-available/your-site). Se está no Nginx e obteve um 500, verifique os logs em /var/log/nginx/error.log. Um .htaccess incorreto num servidor Nginx não causa problemas; é simplesmente ignorado.

Como previno o erro 500 no futuro?

Três regras para prevenção. Primeiro: atualize plugins, temas e o núcleo do WordPress regularmente (todos os meses, não uma vez por ano). Segundo: não se agarre a extensões abandonadas; se um plugin não é atualizado há mais de um ano, procure uma alternativa viva. Terceiro: antes de instalar qualquer plugin, verifique a data da última atualização e a compatibilidade com a sua versão do PHP na página do plugin no diretório do WordPress. Dez minutos de manutenção por mês poupam horas de depuração de emergência.

O que fazer agora mesmo se o seu site estiver em baixo com um 500

O erro 500 é um puzzle com uma solução previsível. Na grande maioria dos casos, corrigirá o site em quinze minutos, percorrendo três passos na ordem certa: desativar plugins, repor o .htaccess, ativar o WP_DEBUG. A ordem importa: do mais provável e rápido para o mais detalhado.

Se migrou o site para um novo alojamento, comece por verificar o PHP. Se configurou cache ou redirecionamentos, comece pelo .htaccess. Se atualizou plugins e o site foi abaixo, comece pelo WP_DEBUG. E se não fez nada e um 500 apareceu por si só, percorra os três passos em sequência; um deles quase de certeza que funcionará.

Não adie o diagnóstico: cada minuto de inatividade do site significa visitantes e posições nos motores de busca perdidos. Abra o FTP, faça uma cópia de segurança e comece.