O erro não é um JSON válido no WordPress surge quando o editor de blocos tenta salvar via REST API e recebe HTML em vez de JSON. A documentação oficial da REST API do WordPress confirma que o editor de blocos depende da rota /wp-json/ para gravar cada post. A causa real está nesse endpoint bloqueado, em 5 cenários distintos. Comece testando a REST API antes de mexer em código.
O erro não é um JSON válido no WordPress é uma mensagem que aparece ao publicar ou atualizar um conteúdo no editor de blocos Gutenberg. Na prática, o editor envia os dados do post para a REST API do WordPress e espera de volta uma resposta no formato JSON. Quando essa resposta vem corrompida, vazia ou em HTML, o navegador não consegue interpretar e exibe o aviso. A boa notícia é que a causa quase nunca está no seu texto, e sim na rota /wp-json/. Este guia faz parte do hub de conteúdos sobre erros WordPress da FULL e mostra os 5 sinais que identificam a origem real.
Diagnóstico rápido: Sintoma, causa e correção
O erro não é um JSON válido no WordPress tem 5 causas dominantes, e a REST API bloqueada responde por boa parte dos tickets que chegam ao suporte da FULL. Antes de editar qualquer arquivo, abra https://seusite.com/wp-json/ no navegador: JSON cru significa rota viva; 404, 403 ou página em branco já localizam a falha.
A tabela abaixo cruza cada sintoma com a causa raiz e a ação corretiva, no padrão que usamos no diagnóstico interno antes de tocar em qualquer configuração do servidor.
| Sintoma observado | Causa raiz | Ação corretiva |
|---|---|---|
| /wp-json/ retorna 403 | Plugin de segurança bloqueia a REST API | Liberar /wp-json/ no firewall |
| /wp-json/ retorna 404 | Permalink quebrado ou regra de reescrita ausente | Resalvar links permanentes |
| JSON com texto extra no início | Warning de PHP impresso antes da resposta | Desativar o plugin que gera o aviso |
| Resposta em branco | Cache servindo HTML antigo no endpoint | Limpar cache de página e de objeto |
Legenda: o aviso surge no rodapé do editor no momento exato em que o post tenta salvar via REST API.
Sinal 1: A REST API está bloqueada por plugin de segurança
A causa número 1 do erro não é um JSON válido no WordPress é um plugin de segurança bloqueando a rota /wp-json/. Ferramentas como Wordfence, iThemes Security e o All in One Security, em modo agressivo, derrubam requisições à REST API por confundi-las com ataque, e o firewall responde 403 em HTML onde o editor espera JSON.
O resultado é um padrão causal claro: o firewall devolve 403, o editor de blocos aguarda JSON, e o parse falha sem mensagem de erro útil no navegador. Para confirmar, desative temporariamente o plugin de segurança e tente salvar de novo. Se o erro some, a regra do firewall é a culpada. A correção é adicionar /wp-json/ à allowlist do plugin, em vez de manter a proteção desligada. A gente vê esse cenário com frequência em sites que migraram de host e herdaram regras antigas.
Sinal 2: O permalink quebrou e o endpoint retorna 404
Quando o erro não é um JSON válido no WordPress vem acompanhado de 404 na rota /wp-json/, o problema está na estrutura de links permanentes. A REST API depende das regras de reescrita do .htaccess (Apache) ou do bloco location (Nginx) para rotear a requisição até o WordPress, e um permalink quebrado derruba esse roteamento em segundos.
Se o permalink está em modo Simples, ou se o .htaccess foi sobrescrito num deploy, o servidor devolve uma página 404 em HTML onde o editor esperava JSON. A correção leva 10 segundos: vá em Configurações, Links Permanentes e clique em Salvar sem mudar nada. Esse clique regenera as regras de reescrita. Em servidores Nginx, onde não há .htaccess, peça ao provedor para conferir o bloco de localização da REST API. Se você lida com 404 com frequência, vale conhecer o guia de correção de erros 404 no WordPress.
Sinal 3: Um warning de PHP contamina a resposta JSON
O sinal mais sutil do erro não é um JSON válido no WordPress aparece quando a REST API responde com status 200, mas o JSON vem com texto estranho antes da primeira chave. Um plugin ou tema imprime um aviso de PHP (Notice ou Warning) no carregamento, e esse texto é concatenado antes do JSON real, quebrando o parse logo na linha 1.
O editor de blocos recebe algo como “Warning: …” seguido do JSON, e o parser quebra na primeira linha. Abra /wp-json/wp/v2/posts direto no navegador: se houver qualquer caractere antes do colchete ou da chave inicial, esse é o ruído. A correção é identificar o plugin que gera o aviso (ativando o WP_DEBUG_LOG no wp-config.php) e atualizá-lo ou desativá-lo. Esse é o tipo de causa que não aparece na documentação oficial e só fica óbvia depois de inspecionar a resposta crua.
Sinal 4: O cache serve HTML velho no endpoint da API
O erro não é um JSON válido no WordPress também aparece quando 1 camada de cache serve conteúdo desatualizado na rota /wp-json/. Plugins como WP Rocket, LiteSpeed Cache ou um CDN como Cloudflare podem, em configuração incorreta, cachear a resposta da REST API e devolver HTML antigo ou uma página vazia em vez do JSON dinâmico que o editor espera.
A relação causal é direta: cache de página ativo sobre o endpoint /wp-json/ mais o editor salvando resulta em resposta que não é JSON. A correção começa por limpar o cache de página e o cache de objeto. Depois, adicione /wp-json/ à lista de exclusões de cache do seu plugin. No Cloudflare, crie uma regra de Cache Bypass para a rota da API. Em ambientes de agência, esse ajuste evita que o erro volte a cada novo deploy.
Sinal 5: A versão do PHP ou um conflito de plugin trava a API
Quando nenhum dos sinais anteriores resolve, o erro não é um JSON válido no WordPress costuma vir de incompatibilidade de versão. A REST API exige funções que mudaram entre o PHP 7.4 e o PHP 8.2, e plugins desatualizados podem gerar um erro fatal que corta a resposta JSON no meio, sem aviso claro no editor.
Use a ferramenta Health Check & Troubleshooting do próprio WordPress para entrar em modo de resolução de problemas, que desativa todos os plugins só para o seu usuário. Se o salvamento volta a funcionar, reative um plugin por vez até o erro reaparecer. O último plugin reativado é o conflitante. Para evitar esse ciclo, mantenha um ambiente de teste antes de atualizar a versão do PHP. Vale ler também como evitar erros de configuração no WordPress e o guia para corrigir o erro interno do servidor.
Por que uma REST API saudável vai além do editor
Corrigir o erro não é um JSON válido no WordPress devolve algo maior que o botão Salvar: a mesma rota /wp-json/ alimenta o app móvel, integrações externas e qualquer tema ou plugin que leia ou grave dados via API. A documentação oficial da REST API mostra que ela é a espinha dorsal de comunicação do WordPress moderno, não um detalhe só do Gutenberg.
Na prática, vemos no suporte da FULL que um endpoint bloqueado costuma derrubar também o agendamento de posts, o preview e plugins que sincronizam estoque ou formulários. Por isso vale tratar a causa raiz, e não só fazer o erro sumir uma vez. Um plugin como o Rank Math PRO, por exemplo, depende dessa rota para gravar metadados de SEO; se a API falha, o salvamento do campo trava junto. Para configurar essa camada com segurança, veja como instalar o Rank Math sem erros.
Resolva de uma vez e blinde o seu WordPress
A maioria dos casos do erro não é um JSON válido no WordPress se resolve liberando a REST API e resalvando o permalink, sem tocar em código. O problema é que ele tende a voltar a cada deploy quando o ambiente não está padronizado. O plano PRO da FULL custa R$849 e cobre até 10 sites, o que dá cerca de R$85 por site, com os 17 plugins do bundle (incluindo Rank Math PRO, WP Rocket e All in One Security) já configurados para conviver com a REST API sem conflito. A gente cuida dessa camada chata de compatibilidade para você focar no conteúdo. Conheça os planos da FULL e padronize o ambiente antes do próximo erro.
Perguntas frequentes sobre o erro não é um JSON válido no WordPress
É possível corrigir o erro de JSON inválido sem editar nenhum código?
Sim, na maioria dos casos o erro não é um JSON válido no WordPress se resolve sem código. O caminho mais rápido é ir em Configurações, Links Permanentes e clicar em Salvar para regenerar as regras de reescrita, e depois liberar a rota /wp-json/ no plugin de segurança. Esses dois passos resolvem boa parte dos cenários sem abrir o .htaccess ou o wp-config.php.
Por que o erro aparece só ao salvar e não ao ler o conteúdo?
Porque ler usa cache, salvar usa a REST API. Exibir um post já publicado serve HTML do cache de página, que funciona normalmente. Salvar no editor de blocos envia uma requisição POST para /wp-json/, e é só nesse momento que a rota bloqueada ou quebrada dispara o erro não é um JSON válido no WordPress. Por isso o site parece normal até você tentar atualizar.
Como testar se a REST API do WordPress está funcionando?
Abra https://seusite.com/wp-json/ direto no navegador. Se aparecer um bloco de texto JSON com o nome e a descrição do site, a API está ativa. Se aparecer erro 403, 404 ou página em branco, você localizou a causa. Esse teste de 5 segundos elimina a maioria das suposições antes de mexer em qualquer arquivo.
Um plugin de cache pode causar o erro não é um JSON válido no WordPress?
Sim. Plugins como WP Rocket e LiteSpeed Cache, ou um CDN como Cloudflare, podem cachear a resposta da REST API por engano e servir HTML antigo onde o editor espera JSON dinâmico. A correção é adicionar /wp-json/ às exclusões de cache e limpar o cache de objeto. Sem essa exclusão, o erro tende a voltar após cada limpeza incompleta.
O erro pode estar relacionado à versão do PHP do servidor?
Pode. A REST API usa funções que mudaram entre o PHP 7.4 e o PHP 8.2, e um plugin desatualizado pode gerar erro fatal que corta a resposta JSON e dispara o erro não é um JSON válido no WordPress. Use o Health Check & Troubleshooting para isolar o plugin conflitante. Manter o PHP atualizado e testar plugins em ambiente de homologação previne a recorrência.
















