Quando o WordPress 7.0 quebra um site, o culpado quase sempre é um plugin, tema ou PHP antigo exposto pelas mudanças do 7.0: PHP mínimo 7.4, editor sempre em iframe, padrões em modo contentOnly e novo visual do painel. O caminho certo é ler o debug.log, entrar pelo modo de recuperação ou pelo WP-CLI e desativar o culpado. Rollback do núcleo só se o erro for do core, com wp core update –version=6.9.9 –force, porque a API oficial marca as versões anteriores como inseguras.
- O WordPress 7.0 saiu em 20 de maio de 2026; hoje a única versão latest é a 7.1.2, de 22 de setembro.
- Na API oficial, 7.0.6 e 6.9.9 são outdated mas corrigidas; as demais versões dos ramos 6.9, 7.0 e 7.1 estão marcadas como insecure.
- O 7.0 removeu o suporte a PHP 7.2 e 7.3 e passou a abrir o editor sempre em iframe quando os blocos usam a API versão 3.
- O modo de recuperação pausa o plugin com erro só na sua sessão; o e-mail tem limite padrão de um envio por dia.
- wp core update com –version e –force troca os arquivos do núcleo, mas não desfaz mudanças no banco.
- Rollback compra dias; o conserto definitivo é atualizar, trocar ou remover o plugin incompatível.
O site quebrou depois da atualização: respire, o conserto quase nunca é o core
Você clicou em “Atualizar agora”, a barra andou, e na volta o site mostra “Houve um erro crítico neste site”, ou uma tela branca, ou o editor abre sem o estilo do tema. A primeira reação é culpar a versão nova e querer voltar para a anterior. Às vezes é isso mesmo. Na maioria das vezes, porém, o WordPress 7.0 quebrou o site só no sentido de ter exposto um plugin, um tema ou uma versão de PHP que já estava no limite.
Este guia segue a ordem que economiza tempo: primeiro descobrir o que quebrou (sintoma → causa), depois entrar pelo modo de recuperação ou pelo terminal, e só no fim, se o problema for mesmo a versão do núcleo, fazer o rollback com um comando, para a versão certa. Porque existe versão errada para voltar, e ela é a que a maioria dos tutoriais recomenda.
Primeiro: em que ponto da linha do tempo você está
O WordPress 7.0 “Armstrong” saiu em 20 de maio de 2026. Depois vieram o 7.0.1 (9 de julho, 31 correções no núcleo e no editor de blocos), o 7.0.3 e o 7.0.4 (atualizações de segurança de 7 e 12 de agosto), o 7.1 “Mary Lou” (19 de agosto), o 7.1.1 em 17 de setembro (17 correções no núcleo, 19 no editor e 11 de segurança) e o 7.1.2 em 22 de setembro, que corrige uma vulnerabilidade de gravidade crítica, segundo o anúncio em br.wordpress.org.
Isso importa por um motivo prático: a API oficial de versões do WordPress (api.wordpress.org/core/stable-check), consultada hoje, 29 de setembro de 2026, classifica assim:
| Versão | Status na API oficial | O que significa para o rollback |
|---|---|---|
| 7.1.2 | latest | É para onde você quer voltar depois de consertar |
| 7.0.6 | outdated | Destino aceitável se o problema apareceu no 7.1 |
| 6.9.9 | outdated | Destino aceitável se o problema apareceu no 7.0 |
| 6.9 a 6.9.8, 7.0 a 7.0.5, 7.1 e 7.1.1 | insecure | Nunca volte para elas |
Em outras palavras: voltar “para a versão anterior que funcionava”, sem olhar o número, pode colocar o site numa versão marcada como insegura, justo quando o 7.1.2 acabou de fechar uma falha crítica. Confira você mesmo antes de decidir:
# Versao instalada (rode na pasta do WordPress)
wp core version
# Classificacao oficial de cada versao (latest / outdated / insecure)
curl -s https://api.wordpress.org/core/stable-check/1.0/ | tr ',' 'n' | grep -E '"(6.9|7.)'O que o 7.0 mudou de verdade, e onde cada mudança quebra
O Field Guide oficial do WordPress 7.0 lista mais de 419 tickets fechados. A maioria é invisível. Estas são as mudanças que, na prática, viram chamado de suporte:
| Mudança no 7.0 | Sintoma que você vê | Correção |
|---|---|---|
| PHP mínimo passou a ser o 7.4 (7.2 e 7.3 saíram) | O painel não oferece o 7.0; ou, se você forçou a atualização em servidor antigo, erro fatal geral | Subir o PHP no painel da hospedagem antes de atualizar o núcleo |
| Editor de posts sempre em iframe quando todos os blocos usam a API de blocos versão 3 ou superior | Editor abre sem as fontes e cores do tema; script de plugin que manipulava o editor para de funcionar | Tema e plugins precisam carregar estilos pelo caminho do editor (add_editor_style ou o hook enqueue_block_assets) |
Padrões não sincronizados abrem em modo contentOnly por padrão | “Não consigo mais mexer no layout do padrão, só no texto” | Desligar com a configuração disableContentOnlyForUnsyncedPatterns ou o filtro PHP block_editor_settings_all; blocos próprios precisam de "role": "content" no block.json |
| Novo esquema de cores “Modern” no admin e transições entre telas | Telas de configuração de plugin com aparência quebrada ou desalinhada | Atualizar o plugin; se não houver versão nova, reportar ao autor. Não é motivo para rollback |
Suporte de tema html5 para script descontinuado e removido | Geralmente nada visível; aviso em log de temas antigos | Atualizar o tema |
| Bibliotecas internas atualizadas: PHPMailer 7.0.2, Requests 2.0.17, Backbone 1.6.1, CodeMirror, Espree no lugar do Esprima | Plugin de e-mail, integração ou editor de código com erro que cita essas classes | Atualizar o plugin que embute ou estende a biblioteca |
| Administrador e Editor saíram do seletor de função padrão para novos usuários | Aviso no Site Health, se o site estava configurado assim | Escolher uma função padrão menor em Configurações → Geral |
Repare que nenhuma linha da tabela se resolve com rollback de forma definitiva. O rollback compra tempo; o conserto está no plugin, no tema ou no PHP. E vale lembrar que o 7.0.1 já corrigiu regressões do lançamento, entre elas um bug no wp_kses() que podia gerar atributo style inválido em CSS inline de imagem de fundo. Se você está parado no 7.0 puro, o primeiro passo é atualizar, não voltar.
Diagnóstico por sintoma: comece pelo que está na sua tela
| O que aparece | Causa mais provável | Primeiro movimento |
|---|---|---|
| “Houve um erro crítico neste site” | Erro fatal de PHP em plugin ou tema | Procurar o e-mail do modo de recuperação; em paralelo, ligar o log de depuração |
| Tela totalmente branca, sem mensagem | Erro fatal com o tratador desligado pela hospedagem, ou exibição de erros desativada | Ler o wp-content/debug.log ou o log de erros do PHP no painel |
| “Temporariamente indisponível para manutenção programada” | Atualização interrompida no meio; ficou um arquivo .maintenance na raiz | Apagar o .maintenance e rodar a atualização de novo |
| Site no ar, mas o editor abre sem o estilo do tema | Editor em iframe | Atualizar o tema; conferir se ele usa add_editor_style |
| Não consigo editar o layout de um padrão | Modo contentOnly | Desanexar o padrão ou desligar pelo filtro |
| Tela de plugin desalinhada no admin | Redesenho do painel | Atualizar o plugin; nada a fazer no núcleo |
Para os dois primeiros casos você precisa ver a mensagem de erro real. O caminho documentado na documentação oficial de depuração do WordPress é este, no wp-config.php, antes da linha “That’s all, stop editing”:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true ); // grava em wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // nao mostra o erro ao visitante
@ini_set( 'display_errors', 0 );Recarregue a página que quebra e abra o debug.log. A linha que importa começa com PHP Fatal error e termina com o caminho de um arquivo: se o caminho passa por wp-content/plugins/nome-do-plugin/, você já sabe quem é o culpado, e não é o WordPress 7.0. Desligue o log quando terminar: deixar WP_DEBUG ligado em produção é convite para vazar caminho de arquivo.
Modo de recuperação: o botão de emergência que já vem no WordPress
Desde a versão 5.2, quando o WordPress detecta um erro fatal num carregamento normal de página, ele mostra a mensagem de erro crítico ao visitante e envia um e-mail ao administrador com um link secreto de modo de recuperação. Pelo link, você entra no painel com o plugin ou tema problemático pausado só para a sua sessão: o site continua quebrado para o público até você agir, mas você consegue entrar para desativar o culpado sem FTP. A documentação do modo de recuperação descreve o fluxo completo.
Três detalhes que quase ninguém conta e que explicam por que o e-mail “não chegou”:
- O e-mail tem limite de frequência. No código do núcleo, o intervalo padrão entre envios é de um dia (
DAY_IN_SECONDS, ajustável pelo filtrorecovery_mode_email_rate_limit), e o link vale pelo menos esse mesmo período. Se você já recebeu um e-mail ontem de manhã e apagou, o próximo pode não vir hoje. - O e-mail pode sair sem o seu plugin de SMTP. Se o erro fatal acontece antes de o plugin de envio carregar, a mensagem sai direto do servidor, e servidor com IP mal avaliado cai em spam ou é bloqueado. Olhe a caixa de spam do e-mail do administrador.
- Algumas hospedagens desligam o recurso inteiro com a constante
WP_DISABLE_FATAL_ERROR_HANDLER. Nesse caso você vê tela branca em vez da mensagem de erro crítico, e nenhum e-mail sai.
Para receber o aviso num endereço que você realmente lê, defina no wp-config.php:
define( 'RECOVERY_MODE_EMAIL', 'seu-email-tecnico@seudominio.com.br' );Dentro do modo de recuperação, o painel mostra um aviso apontando qual extensão falhou. Desative-a em Plugins ou em Aparência → Temas, confira o site, e clique em “Sair do modo de recuperação” na barra do topo.
Sem e-mail e sem painel: WP-CLI ou gerenciador de arquivos
Se você tem acesso SSH, o WP-CLI permite rodar comandos sem carregar os plugins, o que contorna o erro fatal:
# Lista plugins sem executar nenhum deles
wp plugin list --status=active --skip-plugins --skip-themes
# Desativa o suspeito (troque pelo slug que apareceu no debug.log)
wp plugin deactivate nome-do-plugin --skip-plugins --skip-themes
# Se o suspeito for o tema, troca por um tema padrao instalado
wp theme list --skip-plugins --skip-themes
wp theme activate twentytwentyfive --skip-plugins --skip-themesSem SSH, o método documentado pelo próprio WordPress é renomear a pasta do plugin pelo FTP ou pelo gerenciador de arquivos da hospedagem: wp-content/plugins/nome-do-plugin vira nome-do-plugin-off. O WordPress não encontra o plugin, desativa, e o site volta. Não sabe qual é? Renomeie a pasta plugins inteira para plugins-off, confirme que o site volta, restaure o nome e desative um por um até achar.
Rollback do núcleo: quando faz sentido e como fazer sem cair em versão insegura
Quando o WordPress 7.0 quebrou o site e o culpado é mesmo o núcleo, o rollback é a resposta certa. Isso acontece em um único cenário: você desativou plugins, trocou para um tema padrão, o erro continua, e o log aponta para arquivos de wp-includes ou wp-admin. Ou então um plugin crítico para o negócio (loja, área de membros) ainda não é compatível e você precisa de alguns dias até o autor lançar a correção.
O comando oficial está na referência do wp core update: a opção --version escolhe a versão e --force permite instalar uma versão menor do que a atual.
# 1) Backup do banco ANTES de qualquer coisa
wp db export antes-do-rollback.sql
# 2) Volta para a ultima versao corrigida do ramo anterior
wp core update --version=6.9.9 --force
# 3) Confere se os arquivos do nucleo batem com os oficiais
wp core verify-checksums
# 4) Confirma a versao
wp core versionPontos de atenção que evitam o segundo problema do dia:
- Escolha o número pela tabela da API, não pela memória. Hoje, 6.9.9 para quem veio do ramo 7.0, e 7.0.6 para quem veio do 7.1. Qualquer 6.9.x abaixo de 6.9.9 está marcado como inseguro.
- O banco de dados não volta junto. O comando troca os arquivos do núcleo; se a atualização rodou rotinas de banco, elas continuam lá. Se você tem um backup completo feito imediatamente antes da atualização, restaurar arquivos e banco juntos é o rollback mais limpo.
- Segure a atualização automática enquanto investiga. Com
define( 'WP_AUTO_UPDATE_CORE', 'minor' );nowp-config.php, o site continua recebendo as correções de segurança do ramo em que está, mas não pula sozinho para o ramo novo durante a investigação. - Plugins de rollback de núcleo resolvem para quem não tem terminal, mas aplique a mesma regra: escolha a versão pela tabela de segurança.
Rollback é torniquete, não tratamento
Mesmo quando o WordPress 7.0 quebrou o site por culpa do núcleo, o rollback não é destino. Ficar numa versão “outdated” é aceitável por dias, não por meses. O 7.1.1 trouxe 11 correções de segurança e o 7.1.2 fechou uma vulnerabilidade crítica; cada semana parado no ramo antigo é uma semana dependendo de a equipe do núcleo continuar portando correções para trás. O plano de saída é simples:
- Monte uma cópia de teste do site (a maioria das hospedagens tem botão de staging).
- Atualize a cópia para a versão mais recente e reproduza o erro com o log ligado.
- Atualize, substitua ou remova o plugin culpado na cópia até o erro sumir.
- Repita no site real, na mesma ordem: primeiro o plugin, depois o núcleo.
- Volte o
WP_AUTO_UPDATE_COREpara o valor anterior.
Se o motivo do rollback foi segurança da informação, e não só compatibilidade, vale reler o que já cobrimos sobre as versões recentes: o que fazer na chegada do WordPress 7.1, as 12 correções do WordPress 7.0.3 e o caso da falha crítica wp2shell, que mostra por que ficar numa versão insegura custa caro.
Checklist para a próxima atualização grande não virar incidente
- Confira a versão de PHP antes do núcleo. A tabela oficial de compatibilidade PHP × WordPress mostra que o 7.0 e o 7.1 rodam do PHP 7.4 ao 8.5. Estar dentro da faixa do núcleo não garante que os plugins acompanhem.
- Backup de arquivos e banco com data e hora, feito minutos antes, não “o da semana passada”.
- Atualize plugins e tema primeiro, núcleo depois. Autores costumam lançar compatibilidade antes da versão maior do WordPress sair.
- Deixe o
RECOVERY_MODE_EMAILapontado para um endereço técnico que você lê, e teste se o servidor entrega e-mail. - Mantenha a lista de plugins enxuta. Cada plugin é um ponto de falha a mais em toda atualização; o nosso checklist de hardening do WordPress trata disso como trava de segurança, e ela vale igual para estabilidade.
- Atualize em horário de pouco tráfego e com o log de erros do PHP à mão.
E se o que você encontrou no log não foi incompatibilidade, e sim arquivo estranho, usuário administrador que você não criou ou redirecionamento para outro domínio, o problema não é a atualização: é invasão. Nesse caso, siga o roteiro de como limpar um site WordPress invadido antes de qualquer rollback, porque voltar a versão com o invasor dentro só troca a porta de lugar.
Perguntas frequentes
O WordPress 7.0 quebra sites por conta própria?
Raramente. Na maioria dos casos, a atualização expõe um plugin, tema ou versão de PHP que já estava no limite. O 7.0 subiu o PHP mínimo para 7.4, passou a abrir o editor sempre em iframe quando os blocos usam a API versão 3 e mudou o visual do painel. Essas mudanças quebram código antigo de terceiros, não o núcleo em si.
Para qual versão devo voltar se o 7.0 quebrou meu site?
Para a última versão corrigida do ramo anterior, e não para qualquer uma. Em 29 de setembro de 2026, a API oficial marca a 6.9.9 como outdated, mas corrigida, e todas as 6.9.x abaixo dela como insecure. Quem veio do 7.1 pode voltar para a 7.0.6.
O rollback com wp core update desfaz as mudanças no banco de dados?
Não. O comando troca os arquivos do núcleo. Se a atualização rodou rotinas de banco, elas permanecem. O rollback mais limpo é restaurar arquivos e banco juntos a partir de um backup feito imediatamente antes da atualização.
Por que o e-mail do modo de recuperação não chegou?
Três motivos comuns: o núcleo limita o envio a um e-mail por dia por padrão; o erro fatal pode acontecer antes do plugin de SMTP carregar, e o e-mail sai direto do servidor e cai no spam; ou a hospedagem desligou o recurso com a constante WP_DISABLE_FATAL_ERROR_HANDLER.
Posso ficar na versão antiga do WordPress indefinidamente?
Não é recomendável. O 7.1.1 trouxe 11 correções de segurança e o 7.1.2 fechou uma vulnerabilidade crítica. Use o rollback para ganhar dias, corrija o plugin incompatível numa cópia de teste e volte para a versão mais recente.






