Como Corrigir o Erro 500 Internal Server Error no WordPress

O Erro 500 Internal Server Error do WordPress é um dos erros mais frustrantes porque não fornece nenhuma informação sobre o que deu errado. Ele pode aparecer em qualquer página, deixar seu site completamente fora do ar e afetar seu ranking de busca se permanecer sem solução por mais de algumas horas.

Baixe o WP STAGING para evitar este e outros erros no futuro. O plugin WP STAGING permite criar uma cópia do seu site WordPress em segundos. Você pode testar novos plugins, designs e outras atualizações em um ambiente seguro nesse site de staging.

Resumo: As cinco correções mais comuns para um erro 500 do WordPress são: (1) ativar o modo de depuração para ler o log de erros, (2) verificar e regenerar o arquivo .htaccess, (3) aumentar o limite de memória do PHP, (4) desativar todos os plugins e reativá-los um por um e (5) reinstalar os arquivos do núcleo do WordPress. Comece pelo modo de depuração para saber qual correção específica aplicar.

O Que É o Erro 500 Internal Server Error do WordPress?

Um código de status 500 é a forma genérica que o servidor tem de dizer "algo deu errado". Quando o navegador solicita uma página, o servidor executa código PHP para montar essa página. Se algo nesse processo falha antes que uma resposta adequada possa ser formada, o servidor responde com HTTP 500 em vez da página em si.

O erro pode ter esta aparência:

Error-500

Ou pode ter esta aparência:

Error 500 - Internal Server Error

A característica principal é que o erro é genérico. Ele informa que a solicitação falhou, mas não diz o motivo. É isso que o torna mais difícil de corrigir do que um erro mais específico, como um 404 (página não encontrada) ou um 403 (acesso negado). O restante deste guia oferece um caminho sistemático pelas causas mais comuns.

O Que Causa um Erro 500 no WordPress?

As causas mais comuns são:

  • Um arquivo .htaccess corrompido ou malformado
  • Esgotamento de memória do PHP
  • Um conflito de plugin ou tema causando um erro fatal do PHP
  • Arquivos do núcleo do WordPress corrompidos
  • Uma falha no nível do servidor (queda do PHP-FPM, configuração incorreta, permissões de arquivo)

Use a tabela abaixo para associar sua situação à causa mais provável e à primeira correção mais rápida:

Quando o erro 500 apareceu? Abrangência Causa mais provável Primeira correção a tentar
Após instalar ou atualizar um plugin Site inteiro Conflito de plugin Correção 4: Desativar todos os plugins
Após editar wp-config.php ou .htaccess Site inteiro Erro de sintaxe no arquivo de configuração Correção 2: Regenerar o .htaccess
Após uma atualização do núcleo do WordPress Site inteiro Arquivos do núcleo corrompidos Correção 5: Reinstalar os arquivos do núcleo
Sem alterações recentes, site inteiro fora do ar Site inteiro Esgotamento de memória Correção 3: Aumentar o limite de memória do PHP
Sem alterações recentes, uma única página afetada Apenas uma página Problema de permalink ou mod_rewrite Correção 2: Regenerar o .htaccess
Não consegue acessar o wp-admin de forma alguma Site inteiro Causa desconhecida Correção 1: Ativar primeiro o modo de depuração

Verificações Rápidas Para Tentar Primeiro

Antes de mexer em qualquer arquivo, siga estes dois passos rápidos. Qualquer um deles pode resolver um erro 500 causado por um cache desatualizado.

Force a atualização da página: Pressione Ctrl + F5 no Windows ou Cmd + Shift + R no Mac para ignorar a versão em cache e carregar a cópia mais recente da página.

Limpe o cache do navegador: Limpar o cache do navegador descarta um problema de cache no lado do cliente antes de você alterar qualquer arquivo do servidor.

  1. Google Chrome: Pressione Ctrl + Shift + Delete, selecione o intervalo de tempo desejado e clique em "Limpar dados".
Limpar cache do navegador
  1. Mozilla Firefox: Pressione Ctrl + Shift + Delete, escolha o intervalo de tempo apropriado e clique em "Limpar agora".
Limpar cache do navegador Firefox
  1. Apple Safari: Pressione Command + Option + E para limpar o cache instantaneamente.
  2. Microsoft Edge: Pressione Ctrl + Shift + Delete, marque "Imagens e arquivos em cache" e clique em "Limpar agora".

Se o erro desaparecer após limpar o cache, você terminou. Se ele persistir, continue com as correções numeradas abaixo.

Os próximos passos são mais complexos e afetam o banco de dados/arquivos do site WordPress. Para não causar mais danos e se você ainda tem acesso ao painel do WordPress, crie um site de staging com WP STAGING e tente corrigir o erro na página de staging em vez do site de produção.

Você pode criar um site de teste para testar cada correção com segurança antes de aplicá-la ao seu site de produção com o WP STAGING.

Correção 1: Ative o Modo de Depuração do WordPress

O primeiro passo mais seguro é ativar o log de depuração do WordPress para ler o erro exato que causou a resposta 500. Sem o log, toda correção seguinte é adivinhação. Nos tickets de suporte do WP STAGING, a primeira causa mais comum que vemos é um conflito de plugin, e o log de depuração o revela imediatamente.

Abra o arquivo wp-config.php (localizado na raiz da sua instalação do WordPress, acessível via FTP ou pelo gerenciador de arquivos da sua hospedagem) e adicione estas três linhas:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Editar arquivo wp-config

Confira este artigo para um passo a passo de como ativar o log de depuração do WordPress.

O log de depuração é gravado em /wp-content/debug.log. Abra o arquivo e procure o primeiro erro perto do topo. Se o log apontar para um plugin específico, renomeie a pasta desse plugin para desativá-lo. Por exemplo, renomeie /wp-content/plugins/woocommerce para /wp-content/plugins/woocommerce-disabled.

Se o log de depuração estiver vazio, verifique o log de erros no nível do servidor:

  • Apache: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

Acesse-os via FTP ou pelo painel de controle da sua hospedagem. Alguns painéis de controle também exibem o log de erros pela própria interface.

Correção 2: Regenere o Arquivo .htaccess

Um arquivo .htaccess corrompido é uma das causas mais comuns de um erro 500 em servidores baseados em Apache. O arquivo fica no diretório raiz do WordPress, ao lado das pastas wp-admin, wp-includes e wp-content.

Editar arquivo .htaccess

Para regenerá-lo:

  1. Conecte-se ao seu site via FTP ou pelo gerenciador de arquivos da sua hospedagem.
  2. Renomeie o .htaccess existente para .htaccess_backup para ter uma alternativa de segurança.
  3. Crie um novo arquivo chamado .htaccess e cole nele as regras de reescrita padrão do WordPress:
# 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

Recarregue seu site. Se o .htaccess corrompido era a causa, o erro é resolvido imediatamente.

Alternativa pelo painel do WordPress: Se você ainda tiver acesso ao painel, vá em Configurações > Links Permanentes e clique em "Salvar Alterações" sem modificar nada. O WordPress regenera o .htaccess automaticamente ao salvar.

Correção 3: Aumente o Limite de Memória do PHP

O PHP processa cada solicitação de página dentro de um orçamento de memória. Quando um plugin, tema ou consulta complexa excede esse orçamento, o servidor responde com um erro 500. Em nossos testes em ambientes de hospedagem compartilhada, o esgotamento de memória do PHP é o gatilho no lado do servidor mais comum que encontramos quando nenhuma alteração recente no site precedeu o erro.

Você pode aumentar o limite de duas maneiras:

Opção A: Pelo cPanel (se sua hospedagem o oferecer)

  1. Faça login no cPanel.
  2. Abra "Select PHP Version".
  3. Clique em "Switch to PHP Options".
  4. Clique em memory_limit e aumente o valor para 256 ou 512 (MB), depois salve.

Opção B: Pelo wp-config.php

Editar arquivo wp-config

Abra o wp-config.php e adicione esta linha perto do topo:

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

Salve o arquivo e recarregue seu site. Se o esgotamento de memória era a causa, o erro é resolvido após salvar.

Correção 4: Desative Todos os Plugins

Conflitos de plugins são uma causa raiz frequente de um erro 500 do WordPress. Se a Correção 1 confirmou um conflito de plugin no log de depuração, ou se você não consegue ler o log, desativar todos os plugins e reativá-los um por um identifica o responsável.

Se você tem acesso ao painel do WordPress:

  1. Vá em Plugins no painel.
  2. Selecione todos os plugins usando a caixa de seleção no topo.
  3. No menu suspenso "Ações em massa", escolha "Desativar" e clique em "Aplicar". Painel do WordPress Selecionar Plugins Desative plugins para solucionar erros no painel de administração do WordPress
  4. Recarregue seu site. Se o erro sumiu, reative os plugins um por um, recarregando após cada um, até o erro reaparecer. O último plugin que você ativou é o responsável.

Se você não consegue acessar o painel do WordPress:

Conecte-se via FTP e renomeie a pasta de plugins:

  1. Renomeie /wp-content/plugins para /wp-content/plugins-disabled.
  2. Recarregue seu site. Se ele voltar, você confirmou um conflito de plugin.
  3. Renomeie a pasta de volta para /wp-content/plugins.
  4. Desative plugins individuais renomeando suas subpastas (por exemplo, renomeie /wp-content/plugins/woocommerce para /wp-content/plugins/woocommerce-disabled), depois recarregue após cada renomeação.

Correção 5: Reinstale os Arquivos do Núcleo do WordPress

Se o erro apareceu sem nenhuma alteração de plugin ou tema, arquivos do núcleo do WordPress corrompidos podem ser a causa. Você pode reinstalar o núcleo sem sobrescrever seu conteúdo, plugins ou temas.

  1. Baixe a cópia mais recente do WordPress em wordpress.org.
  1. Descompacte o arquivo baixado.
  2. Conecte-se ao seu servidor via FTP ou pelo gerenciador de arquivos da sua hospedagem.
  3. Renomeie as pastas /wp-admin e /wp-includes existentes para /wp-admin-backup e /wp-includes-backup.
  1. Envie as novas pastas /wp-admin e /wp-includes do arquivo descompactado para o mesmo local.
  1. Recarregue seu site. Se os arquivos do núcleo corrompidos eram a causa, o erro é resolvido após a conclusão do envio.

Não substitua o wp-config.php nem a pasta wp-content durante esse processo. Esses arquivos guardam suas credenciais de banco de dados e toda a mídia enviada.

Correção 6: Entre em Contato com Sua Hospedagem

Se nenhuma das cinco correções acima resolveu o erro, o problema está mais provavelmente no nível do servidor do que dentro da sua instalação do WordPress. As causas no nível do servidor incluem:

  • Um processo PHP-FPM que travou ou parou silenciosamente
  • Configuração incorreta do Apache ou do Nginx introduzida durante uma atualização do servidor
  • Alterações de permissão de arquivo que impedem o PHP de ler os arquivos do WordPress
  • Limites de recursos no nível do servidor não relacionados ao limite de memória do PHP

Entre em contato com a equipe de suporte da sua hospedagem e compartilhe as linhas relevantes do log de erros do servidor que você encontrou na Correção 1. A maioria das hospedagens gerenciadas de WordPress consegue diagnosticar erros 500 no nível do servidor rapidamente a partir do log.

Se sua hospedagem não conseguir resolver o problema, ou se erros 500 se repetirem com frequência sob carga normal, pode ser hora de avaliar um ambiente de hospedagem mais robusto para os requisitos do seu site.

Inscreva-se em nosso canal do YouTube para mais tutoriais em vídeo sobre WordPress e conecte-se conosco no Twitter e no Facebook.

O Que Fazer Se Nenhuma das Correções Funcionar

Se você passou por todas as seis correções e o erro persiste, use esta tabela para restringir as possibilidades restantes:

Sintoma O que verificar
O log de depuração está vazio após ativar o WP_DEBUG Verifique o log de erros no nível do servidor (caminho do Apache ou Nginx da Correção 1); o erro do PHP pode não estar chegando à camada de log do WordPress
Todos os plugins desativados, o erro ainda ocorre Mude para um tema padrão do WordPress (como o Twenty Twenty-Four) via FTP, renomeando a pasta do seu tema ativo em /wp-content/themes/
Erro apenas no wp-admin, não no front-end Um plugin ou arquivo específico de administração em /wp-content/mu-plugins/ pode estar carregando e falhando; verifique esse diretório
O erro 500 aparece em apenas uma URL Um shortcode, campo personalizado ou bloco específico de um post pode estar gerando um erro fatal; ative o WP_DEBUG e visite essa URL para capturar a entrada do log
A hospedagem diz que não há erro no servidor Pergunte especificamente sobre a saúde do processo PHP-FPM e se o pool de workers do PHP foi reiniciado recentemente

Artigos Relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre o autor: René Hermenau é o fundador do WP STAGING. Ele trabalha com backups do WordPress, ambientes de staging, migrações, gestão de bases de dados e fluxos de implantação seguros.