Newsletter 365tipů můžete číst zdarma. Placené předplatné je dobrovolná podpora, která pomáhá webu pokračovat.
Podpořit 365tipů

TIP#3260: Vrací WordPress na spoustu kliknutí chybu “Not a Valid JSON Response”? Jak to napravit

Tohle se může snadno stát po aktualizaci některého z pluginů. Ten ve skutečnosti způsobí zmatky v .htaccess a přestanou fungovat správně REST API věci.

Což obnáší nemožnost uložit článek (selhává i automatické uložení) ale i řadu dalších věcí. Když se podíváte, co se děje, tak řada požadavků právě na REST API končí chybou 404.

Kupodivu to většinou má velmi snadné řešení. Jít do Nastavení → Trvalé odkazy

Nic neměnit, jen klikni Uložit změny (i když je struktura stejná). To přegeneruje .htaccess a problém vyřeší.

REST API si můžete otestovat i ručně, třeba takto:

https://vasweb.cz/wp-json

https://casweb.cz/wp-json/wp/v2/posts

Musí vracet čistý JSON, pokud vrací chybu nebo 404, je to dost jasné. 

Nejčastěji se .htaccess a REST API nakopne při aktualizaci – bezpečnostních nebo cache pluginů, ale mohou to být i různé page-buildery.

.htaccess je dobré mít zálohovaný, neuškodí opravdu na denní záloze. Umožní vám to případně se vrátit k dřívější verzi. Ale nutné to asi nebude, výše popsané řešení jsem použil už několikrát.

TIP: V Tools » Site Health je možné se podívat na REST API Debug Log. Ale bude to tam přístupné jen v okamžiku problému.

Pokud nepomáhá výše uvedené řešení, je ještě možné, že nějaký plugin opakovaně škodí. Je dobré vždy vědět, co jste vlastně čerstvě aktualizovali, a pak je snadné poslední aktualizované pluginy deaktivovat. Případné použití WP RollBack je mimochodem komplikované, protože i ten bude vracet JSON chybu.

Komplikaci může přinést i aktualizace šablony, co není výchozí.