
🔧 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
pluginsvia FTP; se o erro desaparecer, o culpado está entre eles - Reponha o
.htaccesspara o modelo padrão do WordPress: uma diretiva de cache ou redirecionamento mal escrita pode derrubar o site instantaneamente - Ative o
WP_DEBUGnowp-config.phppara 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.

- 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 OKsignifica que o servidor entregou a página sem problemas. - 3xx, redirecionamentos. Por exemplo,
301(redirecionamento permanente) ou307(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 Foundsignifica 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> 4 RewriteEngine On 5 RewriteBase / 6 RewriteRule ^index\.php$ - [L] 7 RewriteCond %{REQUEST_FILENAME} !-f 8 RewriteCond %{REQUEST_FILENAME} !-d 9 RewriteRule . /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:
1 define( 'WP_DEBUG', false );
Substitua false por true. Se essa linha não existir, adicione-a antes de /* That's all, stop editing! */:
1 define( 'WP_DEBUG', true );

Depois de guardar, atualize a página. Em vez de um ecrã branco, verá uma mensagem como:
1 Fatal 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_DEBUGcomofalseapó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 aowp-config.php:define( 'WP_DEBUG_LOG', true );edefine( 'WP_DEBUG_DISPLAY', false );. Os erros serão escritos emwp-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 erro500é 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 emwp-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_DEBUGdeve 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 deWP_DEBUG_LOG(escreve emwp-content/debug.log) eWP_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_limitnophp.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_logpara 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.confousites-available/your-site). Se está no Nginx e obteve um 500, verifique os logs em/var/log/nginx/error.log. Um.htaccessincorreto 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.



