Resolver WordPress White Screen of Death: Causas e Soluções

A "White Screen of Death" (WSOD) é um dos erros mais frustrantes do WordPress — o site mostra uma página completamente em branco, sem mensagem de erro nem pistas sobre o que correu mal. Em versões recentes do WordPress (5.2+), o Recovery Mode trata de alguns casos automaticamente, mas muitos WSOD ainda requerem diagnóstico manual.

Porque acontece a página em branco?

O WSOD ocorre quando o PHP encontra um erro fatal mas o display de erros está desactivado (como deve estar em produção). O resultado: nenhum output é enviado ao browser. As causas mais comuns:

  • Plugin com erro PHP fatal (sintaxe, função inexistente, incompatibilidade)
  • Tema com erro no functions.php ou template
  • Memória PHP esgotada
  • Actualização falhada (ficheiros incompletos)
  • Conflito entre plugins após actualização

Diagnóstico passo a passo

1. Activar debug mode

Aceder ao wp-config.php via FTP e activar:

  • define('WP_DEBUG', true);
  • define('WP_DEBUG_LOG', true);
  • define('WP_DEBUG_DISPLAY', false);

Recarregar o site e verificar o ficheiro wp-content/debug.log para a mensagem de erro exacta. Isto identifica imediatamente o ficheiro e linha com problema.

2. Desactivar todos os plugins

Se não consegue aceder ao wp-admin:

  • Via FTP: renomear /wp-content/plugins/ para /wp-content/plugins_disabled/
  • Se o site volta: o problema é um plugin. Renomear de volta e activar um a um até identificar o culpado

3. Mudar para tema padrão

Se desactivar plugins não resolve:

  • Via FTP: renomear a pasta do tema activo em /wp-content/themes/
  • WordPress activará automaticamente um tema padrão (Twenty Twenty-Four)
  • Se funciona: o tema tem erro. Verificar functions.php do tema ou actualizar para versão mais recente

4. Aumentar memória PHP

Se o debug.log mostra "Allowed memory size exhausted":

  • No wp-config.php: define('WP_MEMORY_LIMIT', '256M');
  • No .htaccess: php_value memory_limit 256M
  • No php.ini: memory_limit = 256M

Nota: aumentar memória é paliativo. Se um plugin consome 256MB+, há um bug que precisa ser corrigido.

5. Reinstalar WordPress core

Se o WSOD apareceu após update falhado:

  • Descarregar WordPress fresco de wordpress.org
  • Substituir /wp-admin/ e /wp-includes/ inteiramente via FTP
  • Não tocar em /wp-content/ (contém os seus dados)

6. Verificar .htaccess

Um .htaccess corrompido pode causar WSOD ou loops de redirect. Renomear para .htaccess_old e criar um novo com as regras padrão 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

Prevenção

  • Sempre fazer backup antes de actualizações
  • Testar updates em staging primeiro
  • Manter WP_DEBUG_LOG activo em produção (sem display) para detectar erros antes de se tornarem fatais
  • Monitorização de uptime para detectar WSOD imediatamente

Site em branco? Resolução imediata

A Vuvo diagnostica e resolve problemas WordPress urgentes com triagem em menos de 1 hora.

Suporte urgente