16 min de leitura · Guia técnico
Corrigir tela branca no WordPress exige identificar a causa do erro fatal e aplicar um checklist objetivo: ativar o debug, aumentar a memória do PHP, desativar plugins, trocar o tema e revisar arquivos essenciais. Na maioria dos casos, esse processo revela rapidamente se o problema está em plugin, tema, limite de memória ou configuração do servidor.
- Ative o modo debug no
wp-config.phppara identificar o erro real. - Aumente o limite de memória do PHP para pelo menos 256M.
- Desative todos os plugins renomeando a pasta
wp-content/plugins. - Troque para um tema padrão do WordPress (Twenty Twenty-Four) via banco de dados ou FTP.
- Verifique permissões de arquivos e integridade do
wp-config.php. - Analise os logs de erro do PHP e do servidor web para confirmar a causa raiz.
Pré-requisitos para o diagnóstico da tela branca no WordPress
- Acesso FTP ou gerenciador de arquivos — via cPanel, Plesk ou cliente como FileZilla. Veja como usar o FileZilla em Como usar o Filezilla como software FTP da minha Hospedagem.
- Acesso ao banco de dados — phpMyAdmin ou linha de comando MySQL.
- Credenciais do painel de hospedagem — cPanel ou painel equivalente.
- Versão do PHP — recomendado PHP 8.1 ou 8.2 para WordPress 6.x. PHP 8.3 é compatível com a maioria dos plugins atualizados.
- Backup recente — antes de qualquer alteração em arquivos de configuração, tenha um backup do banco de dados e dos arquivos.
- Editor de texto — para editar
wp-config.phpe.htaccesssem introduzir erros de codificação.
Passo 1 — Ativar o modo debug para revelar o erro da tela branca
O primeiro passo no diagnóstico do WSOD é habilitar o sistema de depuração nativo do WordPress. Por padrão, erros fatais do PHP são suprimidos, o que explica a tela em branco sem nenhuma mensagem. Acesse o arquivo wp-config.php na raiz da instalação e localize as constantes de debug.
Atenção: nunca deixe o modo debug ativo em produção por tempo prolongado, pois ele pode expor informações sensíveis do servidor para visitantes.
// Abra wp-config.php e substitua ou adicione estas linhas:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
@ini_set('display_errors', 1);
Após salvar o arquivo, recarregue a página problemática. Se WP_DEBUG_DISPLAY estiver como true, o erro PHP aparecerá diretamente na tela. Se preferir não exibir erros para visitantes, defina WP_DEBUG_DISPLAY como false — o erro será gravado em wp-content/debug.log.
// Output esperado no navegador (exemplo):
Fatal error: Allowed memory size of 67108864 bytes exhausted
(tried to allocate 20480 bytes) in
/home/usuario/public_html/wp-content/plugins/plugin-pesado/arquivo.php on line 312
Com essa informação, você sabe exatamente qual plugin, tema ou arquivo causou o problema. Anote o caminho completo e o número da linha antes de prosseguir.
Passo 2 — Aumentar o limite de memória do PHP
Esgotamento de memória é uma das causas mais frequentes de tela branca em instalações WordPress com muitos plugins ou temas pesados. O valor padrão de muitos servidores compartilhados é 64M ou 128M, insuficiente para instalações complexas.
Existem três formas de aumentar o memory_limit, em ordem de prioridade:
- Via wp-config.php (método mais simples e portátil):
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M'); // Para o painel admin
- Via .htaccess (para servidores Apache com mod_php):
php_value memory_limit 256M
- Via php.ini (requer acesso ao arquivo de configuração do PHP):
memory_limit = 256M
Após a alteração, verifique se o novo valor foi aplicado criando um arquivo temporário de teste:
<?php phpinfo(); ?>
Acesse esse arquivo pelo navegador e procure por memory_limit na saída. O valor deve refletir 256M. Remova o arquivo phpinfo.php imediatamente após a verificação.
// Output esperado na linha do phpinfo:
memory_limit 256M 256M
Passo 3 — Desativar plugins sem acesso ao painel wp-admin
Quando a tela branca impede o acesso ao painel administrativo, a desativação de plugins precisa ser feita diretamente no sistema de arquivos. Este método é seguro e reversível — o WordPress detecta automaticamente que a pasta de plugins não existe e desativa todos eles.
Atenção: renomear a pasta de plugins desativa todos os plugins ativos simultaneamente. Isso pode afetar funcionalidades críticas do site temporariamente.
- Conecte-se via FTP ou abra o Gerenciador de Arquivos no cPanel.
- Navegue até
wp-content/. - Renomeie a pasta
pluginsparaplugins_desativados. - Recarregue o site no navegador.
Se o site voltar a funcionar, o problema está em um dos plugins. Para identificar qual:
- Renomeie
plugins_desativadosde volta paraplugins. - Dentro da pasta
plugins, renomeie cada subpasta de plugin individualmente, uma por vez. - Após cada renomeação, recarregue o site.
- Quando a tela branca retornar, o último plugin renomeado é o culpado.
Com o plugin problemático identificado, acesse o painel wp-admin (que agora deve funcionar), desative o plugin oficialmente e entre em contato com o desenvolvedor ou busque uma versão atualizada compatível com sua versão do PHP.
Passo 4 — Trocar o tema ativo via banco de dados ou FTP
Se desativar os plugins não resolver o problema, o tema ativo é o próximo suspeito. Temas com código incompatível com a versão atual do PHP ou com o arquivo functions.php corrompido causam WSOD especialmente no front-end do site.
Método 1 — Via FTP (renomear pasta do tema):
- Acesse
wp-content/themes/. - Renomeie a pasta do tema ativo (ex:
meu-temaparameu-tema_backup). - O WordPress tentará usar o tema padrão automaticamente.
Método 2 — Via phpMyAdmin (mais preciso):
- Abra o phpMyAdmin pelo cPanel. Veja como conectar ao banco em Conectando remotamente ao MySQL - cPanel.
- Selecione o banco de dados do WordPress.
- Abra a tabela
wp_options. - Localize as linhas com
option_nameigual atemplateestylesheet. - Altere o valor de ambas para
twentytwentyfour(ou outro tema padrão instalado).
-- Alternativa via SQL direto:
UPDATE wp_options SET option_value = 'twentytwentyfour'
WHERE option_name IN ('template', 'stylesheet');
// Output esperado:
Query OK, 2 rows affected (0.01 sec)
Recarregue o site. Se funcionar com o tema padrão, o problema está no tema anterior. Verifique se há atualização disponível ou contate o desenvolvedor do tema.
Passo 5 — Verificar permissões de arquivos e integridade do wp-config.php
Permissões incorretas em arquivos e diretórios do WordPress podem impedir que o PHP leia ou execute arquivos essenciais, resultando em tela branca silenciosa. As permissões corretas para uma instalação WordPress segura são:
- Diretórios: 755 (rwxr-xr-x)
- Arquivos PHP e de configuração: 644 (rw-r--r--)
- wp-config.php: 600 ou 640 (mais restritivo por segurança)
- Nunca use 777 em nenhum arquivo ou diretório em produção.
Para corrigir permissões via linha de comando SSH (se disponível no seu plano de hospedagem):
# Corrigir permissões de diretórios
find /home/usuario/public_html -type d -exec chmod 755 {} \;
# Corrigir permissões de arquivos
find /home/usuario/public_html -type f -exec chmod 644 {} \;
# Permissão mais restritiva para wp-config.php
chmod 600 /home/usuario/public_html/wp-config.php
Além das permissões, verifique se o wp-config.php não contém caracteres invisíveis ou espaços em branco antes da tag <?php ou após o ?> final (se existir). Esses caracteres causam o erro "headers already sent" que também resulta em tela branca. Abra o arquivo em um editor como VS Code ou Notepad++ e confirme que a primeira linha começa exatamente com <?php.
Passo 6 — Analisar logs de erro do PHP e do servidor web
Quando o modo debug do WordPress não revelar informações suficientes, os logs do servidor web e do PHP contêm detalhes adicionais sobre erros fatais, timeouts e falhas de execução. A localização dos logs varia conforme o ambiente:
- cPanel:
/home/usuario/logs/ou via interface em "Logs de Erros". - Apache no Ubuntu/Debian:
/var/log/apache2/error.log - Nginx:
/var/log/nginx/error.log - PHP-FPM:
/var/log/php8.2-fpm.log(ajuste a versão conforme instalada) - WordPress debug.log:
wp-content/debug.log(quando WP_DEBUG_LOG está ativo)
Para monitorar o log em tempo real enquanto reproduz o erro:
tail -f /var/log/apache2/error.log
// Exemplo de output revelador:
[Thu Jan 16 14:23:11.456789 2025] [php:error] [pid 12345]
PHP Fatal error: Maximum execution time of 30 seconds exceeded in
/home/usuario/public_html/wp-content/plugins/plugin-x/classe.php on line 789
Neste caso, o problema não é memória, mas timeout de execução. A solução seria aumentar max_execution_time no php.ini ou .htaccess:
php_value max_execution_time 120
Problemas comuns e como resolver
Sintoma: tela branca apenas no painel wp-admin após atualização
Causa: Um plugin de administração ou o próprio core do WordPress foi atualizado com incompatibilidade com a versão atual do PHP. Atualizações automáticas mal-sucedidas também podem deixar arquivos corrompidos.
Solução: Ative o debug conforme o Passo 1. Se o erro apontar para um plugin, desative-o via FTP. Se apontar para o core do WordPress, reinstale os arquivos do core manualmente: baixe o WordPress do site oficial, extraia e substitua as pastas wp-admin e wp-includes via FTP, sem apagar wp-content nem wp-config.php.
Sintoma: tela branca somente em posts ou páginas específicas
Causa: Shortcode de plugin desativado ou removido, bloco Gutenberg com dependência ausente, ou conteúdo com código PHP injetado via editor.
Solução: Acesse o post diretamente pelo phpMyAdmin na tabela wp_posts. Localize o post pelo ID (visível na URL de edição) e inspecione o campo post_content em busca de shortcodes ou blocos problemáticos. Remova o conteúdo suspeito e salve. Alternativamente, instale o plugin WP Rollback para reverter o plugin problemático para uma versão anterior estável.
Sintoma: tela branca após migração de servidor ou mudança de PHP
Causa: A versão do PHP no novo servidor é incompatível com plugins ou temas desenvolvidos para versões mais antigas. PHP 8.x removeu funções depreciadas que ainda são usadas em plugins desatualizados, como create_function() e each().
Solução: No cPanel, acesse "MultiPHP Manager" ou "Selecionar Versão do PHP" e teste com PHP 8.1 ou 8.2. Verifique no log de erros quais funções estão causando o erro fatal. Atualize os plugins e temas para versões compatíveis com PHP 8.x. Se um plugin essencial não tiver atualização, considere manter PHP 8.1 temporariamente enquanto busca uma alternativa.
Sintoma: tela branca com erro 500 no navegador
Causa: Erro de sintaxe no .htaccess ou no wp-config.php, geralmente introduzido por edição manual incorreta ou por um plugin que modifica o .htaccess de forma inválida.
Solução: Via FTP, renomeie o arquivo .htaccess para .htaccess_backup. Se o site voltar, o problema estava no .htaccess. Acesse o painel wp-admin, vá em Configurações > Links Permanentes e clique em "Salvar Alterações" — o WordPress regenerará um .htaccess limpo automaticamente. Se o problema persistir, verifique o wp-config.php em busca de erros de sintaxe.
Perguntas frequentes sobre tela branca no WordPress
O que causa a tela branca no WordPress?
A tela branca do WordPress (WSOD) é causada principalmente por erros fatais do PHP, como limite de memória esgotado, plugin ou tema com código incompatível, ou arquivo functions.php corrompido. O servidor processa a requisição mas não consegue gerar saída HTML válida, resultando em uma página em branco sem mensagem de erro visível. Em muitos casos, a causa raiz só é revelada após ativar o modo debug ou consultar os logs do servidor.
Como ativar o modo debug no WordPress para ver o erro real?
Abra o arquivo wp-config.php na raiz do WordPress e altere a constante WP_DEBUG para true, adicionando também WP_DEBUG_LOG e WP_DEBUG_DISPLAY como true. Após salvar, recarregue a página e o erro PHP aparecerá na tela ou será gravado em wp-content/debug.log, revelando exatamente qual arquivo e linha causou o problema. Lembre-se de desativar o debug após resolver o problema para não expor informações do servidor.
Como desativar todos os plugins sem acesso ao painel do WordPress?
Via FTP ou gerenciador de arquivos do cPanel, acesse wp-content/ e renomeie a pasta plugins para plugins_desativados. O WordPress não encontrará os plugins e os desativará automaticamente. Após identificar o plugin problemático, renomeie a pasta de volta para plugins e reative os plugins um a um, recarregando o site após cada ativação até reproduzir o erro.
Aumentar o limite de memória do PHP resolve a tela branca?
Sim, em muitos casos. Adicione define('WP_MEMORY_LIMIT', '256M') no wp-config.php ou ajuste o valor de memory_limit no php.ini ou .htaccess com php_value memory_limit 256M. Se o servidor tiver recursos disponíveis, isso resolve WSOD causado por esgotamento de memória durante carregamento de plugins pesados ou temas complexos. Confirme que o novo valor foi aplicado verificando a saída do phpinfo().
A tela branca aparece só no painel admin ou também no site?
Quando a tela branca aparece apenas no painel wp-admin, o problema geralmente está em um plugin de administração ou no tema do painel. Quando aparece somente no front-end, o tema ativo é o principal suspeito. Se aparecer nos dois, o problema é mais profundo: erro no wp-config.php, banco de dados inacessível ou limite de memória global do PHP esgotado. Identificar onde a tela branca ocorre é o primeiro passo para direcionar o diagnóstico corretamente.
Conclusão
Seguindo este checklist, você cobre sistematicamente todas as causas conhecidas de tela branca no WordPress, do mais simples ao mais complexo:
- Ative o debug primeiro: sem informação de erro, qualquer tentativa de correção é tentativa e erro. O
wp-config.phpe odebug.logsão seus melhores aliados. - Isole a causa com método binário: desative plugins em bloco, depois individualmente; troque o tema; verifique permissões — cada etapa elimina uma categoria de causa.
- Monitore logs regularmente: instale um plugin de monitoramento de erros ou configure alertas de log para detectar problemas antes que causem tela branca novamente.
Leia também
- Migrar WordPress entre hospedagens sem downtime: procedimento completo
- Solucionar problemas de lentidão em sites PHP no VPS Linux e servidor dedicado
- Como otimizar o WordPress para alta performance em VPS Linux: Guia Completo
Precisa de ajuda com WordPress e hospedagem?
Se a tela branca persistir após seguir todos os passos, o problema pode estar em configurações de servidor que exigem acesso administrativo ao ambiente de hospedagem. Um plano de hospedagem com suporte técnico especializado pode fazer a diferença na velocidade de resolução.
Conheça os planos de hospedagem da AviraHost com suporte para WordPress