Neste artigo
A mensagem “atualização falhou” ou “falha ao publicar” aparece quando o editor de blocos do WordPress não consegue falar com a REST API do site. Este guia mostra como corrigir atualização WordPress erro de forma metódica, do diagnóstico rápido até a correção definitiva, sem reinstalar nada. A causa quase nunca está no seu texto: está na rota /wp-json/, num plugin de segurança, num limite de PHP ou numa regra de firewall do servidor. A gente vê esse padrão todo dia no suporte da FULL, e o erro some quando você trata a origem certa. Consulte também os guias de erros comuns do WordPress da FULL para casos vizinhos.
Diagnóstico rápido: Sintoma, causa e correção
Na maioria dos casos que chegam no suporte, a falha tem 4 origens possíveis, e identificá-la leva menos de 5 minutos. A tabela abaixo cruza o sintoma exato da tela com a causa raiz técnica e a primeira ação a tomar. Antes de mudar qualquer coisa, abra o console do navegador (F12, aba Rede) e observe a chamada para /wp-json/wp/v2/posts.
| Sintoma na tela | Causa raiz provável | Primeira ação corretiva |
|---|---|---|
| Atualização falhou | REST API bloqueada por plugin ou firewall | Testar com plugins de segurança desativados |
| A resposta não é um JSON válido | HTML injetado antes do JSON por aviso de PHP | Ativar WP_DEBUG e ler o aviso |
| Falha ao publicar, mas o post salvou | Timeout da requisição por servidor lento | Elevar o max_execution_time do PHP |
| Erro 403 na chamada /wp-json/ | mod_security do servidor barrando o POST | Pedir exceção no log do Apache |
Use essa leitura como mapa: cada linha leva a um dos passos adiante. O segredo é nunca aplicar a correção do passo 4 quando o sintoma é do passo 2.
O que causa a falha na atualização do WordPress
A causa número um, de longe a mais comum nos chamados, é a quebra de comunicação entre o Gutenberg e a WordPress REST API. O editor de blocos salva cada post via uma requisição HTTP para a rota /wp-json/; se algo intercepta essa chamada, o navegador nunca recebe o JSON esperado e o WordPress exibe “atualização falhou”. Não é defeito do seu conteúdo.
Quatro agentes costumam interceptar a rota. Plugins de segurança como o Wordfence ou o All in One Security podem barrar métodos POST por regra de firewall. O próprio servidor, com mod_security ativo, devolve 403 antes de o WordPress responder. Um plugin desatualizado injeta um aviso de PHP que polui o JSON. E um CDN como o Cloudflare, com cache agressivo na rota da API, serve uma resposta antiga. Identificar qual deles agiu é o que separa um conserto de 5 minutos de uma tarde perdida tentando adivinhar a origem do erro.
Como corrigir a falha de atualização do WordPress: O passo a passo completo
O procedimento abaixo resolve a grande maioria dos casos em ordem de probabilidade, do mais comum ao mais raro, e leva de 5 a 20 minutos. Cada passo isola uma camada: você só avança para o próximo se o erro persistir. Antes de começar, faça um backup automático do site, porque alguns passos mexem em plugins ativos. Siga a sequência e você vai resolver a falha sem chutar.
Passo 1: Verifique a saúde da REST API no site health
Abra Ferramentas e clique em Saúde do site: a aba Status roda um teste automático da REST API e sinaliza em vermelho se a rota estiver inacessível. Esse painel nativo, presente desde a versão 5.2 do WordPress, é o ponto de partida porque confirma em 30 segundos se o problema está na API. Se ele acusar “A REST API encontrou um resultado inesperado”, você já sabe que a causa não é o seu texto.
Passo 2: Desative os plugins de segurança, um a um
Plugins de firewall respondem por quase metade dos casos de bloqueio da rota /wp-json/. Desative o Wordfence, o All in One Security ou similar e tente publicar de novo. Se funcionar, o culpado é ele: reative e adicione a rota da REST API à lista de exceções do firewall, em vez de deixar o plugin desligado. Nunca remova a camada de segurança inteira só para destravar o editor.
Passo 3: Eleve o limite de memória e tempo do PHP
Quando o post é grande ou o tema FSE é pesado, o limite padrão de 128M de memória do PHP 8.2 estoura no meio do salvamento e a requisição morre sem aviso. Edite o arquivo wp-config.php por SFTP e adicione define('WP_MEMORY_LIMIT', '256M');. No painel da hospedagem, suba também o max_execution_time para 120 segundos. Esse ajuste resolve as falhas por timeout.
Passo 4: Cheque o servidor e o CDN
Se nada acima resolveu, o bloqueio está fora do WordPress: o mod_security do servidor ou o cache do Cloudflare na rota da API. Peça ao suporte da hospedagem o log de erro do Apache no momento da falha; um 403 ali confirma o firewall do servidor. No plugin de cache e no CDN, exclua /wp-json/ de qualquer regra de cache. Essa camada é a mais traiçoeira porque a aba Saúde do site passa mesmo assim.
Quando a falha vira “a resposta não é um JSON válido”
Esse erro específico, comum entre as falhas de publicação, é um primo da falha de atualização, mas com causa distinta: algo imprimiu HTML antes do JSON da REST API. Quase sempre é um aviso de PHP de um plugin mal escrito, um espaço em branco no início do functions.php, ou um redirecionamento de SSL mal configurado. A lógica do diagnóstico muda aqui.
Ative o WP_DEBUG no wp-config.php, reproduza o erro e leia a primeira linha de aviso: ela aponta o arquivo e a linha do plugin culpado. Na maior parte desses casos no suporte da FULL, o vilão é um snippet antigo no functions.php do tema. Tratamos isso a fundo no guia resolver o erro “não é um JSON válido”, que cobre o passo a passo do WP_DEBUG. Resolver a origem do HTML extra elimina o erro de vez.
Acelere o diagnóstico com o ecossistema certo
Resolver a falha de publicação fica muito mais rápido quando o site já roda os plugins certos e bem configurados, sem conflito entre firewall, cache e editor. A gente vê no suporte que o tempo médio de resolução despenca quando o cliente para de empilhar plugins gratuitos que brigam entre si pela mesma rota da API.
A origem de boa parte desses conflitos é justamente o acúmulo de plugins de cache e segurança gratuitos, cada um com sua própria regra sobre a rota /wp-json/. No plano PRO da FULL, por R$849, você ativa o pacote completo de plugins premium já afinados entre si, o que dá cerca de R$85 por site quando você gerencia vários projetos ao mesmo tempo. Em vez de testar dez combinações instáveis, você parte de uma stack que já nasce sem briga interna. Conheça os planos da FULL e centralize de uma vez as ferramentas que sustentam o seu WordPress.
Como prevenir novas falhas de publicação
Três hábitos cortam em mais da metade a chance de o erro voltar, segundo o que observamos na base de tickets. O primeiro é manter o WordPress, o tema e os plugins atualizados de forma ordenada, nunca todos de uma vez; o guia como atualizar corretamente os plugins do WordPress detalha a sequência segura. Atualização em lote sem teste é a origem de boa parte das falhas.
O segundo hábito é ter um backup automático e testado, com UpdraftPlus ou similar, para que qualquer atualização com erro tenha rota de volta; se algo der errado, você sabe como restaurar o WordPress a partir do backup em minutos. O terceiro é isolar a camada de segurança: mantenha a rota /wp-json/ na lista de exceções do firewall e do CDN. Esses três pontos previnem a reincidência que mais frustra quem já enfrentou uma falha de atualização no WordPress.
Legenda: o aviso de atualização falhou surge quando o Gutenberg não recebe resposta da REST API, e não por erro no conteúdo.
Perguntas frequentes sobre falha de atualização no WordPress
Por que a atualização do WordPress falha mesmo com o post correto?
Porque o erro não está no conteúdo, e sim na comunicação entre o editor de blocos e a REST API. O Gutenberg salva cada post via uma chamada HTTP para a rota /wp-json/; quando um plugin de segurança, o mod_security do servidor ou o cache de um CDN intercepta essa requisição, o navegador nunca recebe o JSON de confirmação e o WordPress exibe “atualização falhou”. O texto pode estar perfeito que o erro persiste até a rota ser liberada.
É possível corrigir o erro de publicação sem mexer no código?
Sim, na maioria dos casos sem tocar em uma linha de código. Comece pela aba Saúde do site, depois desative os plugins de segurança um a um e teste publicar; só isso resolve cerca de metade dos chamados. Ajustes de PHP no wp-config e exclusão da rota /wp-json/ do cache cobrem o restante. Mexer em código só entra no cenário do “não é um JSON válido”, quando um snippet do functions.php precisa ser removido.
Qual a diferença entre falha na publicação e o erro “não é um JSON válido”?
A falha na publicação significa que a requisição para a REST API foi bloqueada ou expirou: o servidor nunca respondeu. Já “a resposta não é um JSON válido” significa que o servidor respondeu, mas sujou a resposta com HTML antes do JSON, geralmente um aviso de PHP. A correção muda: no primeiro caso você libera a rota; no segundo, ativa o WP_DEBUG e remove o código que imprime o HTML extra.
Quanto tempo leva para diagnosticar uma falha na REST API?
Entre 5 e 20 minutos na maioria dos casos, seguindo a ordem de probabilidade. A aba Saúde do site dá o primeiro veredicto em 30 segundos. Desativar os plugins de segurança e testar leva de 2 a 5 minutos. Ajustes de PHP e CDN somam mais 10 minutos. O cenário mais lento é o mod_security do servidor, que exige o log do Apache, mas mesmo ele raramente passa de 20 minutos com o suporte da hospedagem.
O que fazer quando o WordPress diz que a atualização falhou mas o post foi salvo?
Esse sintoma indica timeout: a requisição chegou ao servidor e gravou o post, mas demorou demais para responder e o navegador desistiu antes da confirmação. A correção é elevar o max_execution_time para 120 segundos e o WP_MEMORY_LIMIT para 256M no wp-config. Se persistir, o gargalo é a hospedagem lenta, e não o WordPress; nesse ponto vale avaliar um plano com mais recursos de servidor.
Próximos passos para um WordPress sem falhas de publicação
Resolver a falha de atualização deixa de ser um susto quando você trata a causa, e não o sintoma: na esmagadora maioria das vezes a REST API foi barrada por um plugin, um firewall ou um CDN, nunca pelo seu conteúdo. Siga a tabela de diagnóstico, percorra os seis passos em ordem de probabilidade e separe o cenário de timeout do cenário “não é um JSON válido”. Com a rota /wp-json/ liberada nas exceções certas e um backup testado no lugar, a falha some e não volta. Para aprofundar em casos vizinhos, como o erro 502 Bad Gateway no WordPress, e seguir uma trilha guiada de manutenção, vale conhecer o FULL Academy, que reúne tutoriais, guias e reviews em um só lugar.
















