Jak naprawić komunikat „Odpowiedź nie jest prawidłową odpowiedzią JSON” w WordPress
Opublikowany: 2022-08-09Odkąd edytor Gutenberg WordPress stał się domyślnym edytorem stron, wielu użytkowników WordPressa zaczęło widzieć komunikaty o błędach „Odpowiedź nie jest prawidłową odpowiedzią JSON” na swojej stronie internetowej, próbując zaktualizować posty lub przesłać multimedia. Podczas gdy powrót do klasycznego edytora natychmiast rozwiązuje problem i może być świetną tymczasową poprawką, błędy nieprawidłowego JSON WordPress wskazują na problem z REST API, na którym WordPress absolutnie polega, aby działać poprawnie.
W tym przewodniku dowiesz się, jak edytor Gutenberg współpracuje z REST API i jak naprawić komunikat „Odpowiedź nie jest prawidłową odpowiedzią JSON” w WordPress w kompleksowy sposób krok po kroku.
Jak Gutenberg współpracuje z REST API i JSON?
Edytor Gutenberg WordPress, znany również jako edytor bloków, to aplikacja typu front-end, która używa interfejsu API REST do przesyłania danych między serwerem a interfejsem użytkownika. Stając się domyślną opcją wbudowaną w rdzeń WordPress, WordPress całkowicie zastąpił klasyczny edytor Gutenbergiem, robiąc ogromny krok w kierunku pełnej edycji witryny.
Edytor Gutenberg WordPress jest aplikacją po stronie klienta, co oznacza, że działa w przeglądarce użytkownika i nie ma bezpośredniego dostępu do bazy danych WordPress, w której przechowywane są wszystkie posty i strony. Dlatego edytor bloków potrzebuje sposobu komunikowania się z serwerem w celu wysyłania aktualizacji treści. REST API zapewnia komunikację klient-serwer i pozwala Gutenbergowi aktualizować posty i strony poprzez wysyłanie i odbieranie danych jako obiektów JSON.
JSON oznacza JavaScript Object Notation i jest używany przez WordPress do tworzenia reprezentacji treści w schemacie zdefiniowanym przez WordPress REST API. Za każdym razem, gdy edytujesz stronę lub post za pomocą Gutenberga i klikasz przycisk Aktualizuj, aby zapisać wszystkie wprowadzone zmiany, edytor bloków wysyła żądanie do serwera i oczekuje odpowiedzi w formacie JSON.
Co oznacza błąd „Odpowiedź nie jest prawidłową odpowiedzią JSON”?
Gdy komunikacja klient-serwer zostanie przerwana lub Gutenberg nie dotrze do serwera, WordPress rozpozna wiadomość otrzymaną z powrotem jako nieprawidłową odpowiedź JSON i wyświetli „Odpowiedź nie jest prawidłową odpowiedzią JSON”.
Błąd nieprawidłowej odpowiedzi JSON WordPressa może pojawić się w Twojej witrynie, gdy próbujesz zaktualizować lub opublikować post z edytora bloków lub przesłać multimedia. Wyświetlając komunikat o błędzie, WordPress informuje, że zadanie, które chciałeś wykonać, nie powiodło się. W rezultacie dokonana aktualizacja nie zostanie zapisana na serwerze, dopóki nie zostanie przywrócona normalna komunikacja klient-serwer.
5 najważniejszych problemów związanych z błędem „Odpowiedź nie jest prawidłową odpowiedzią JSON” i jak je rozwiązać
Istnieje 5 głównych problemów związanych z komunikatem o błędzie „Odpowiedź nie jest prawidłową odpowiedzią JSON” w WordPress:
- Nieprawidłowe ustawienie adresu witryny WordPress
- Zepsute permalinki
- Błędy SSL i konkurencyjne przekierowania
- Rozwiązania zabezpieczające blokujące żądania
- Konflikty wtyczek
Nieprawidłowe ustawienia adresu witryny WordPress
Źle skonfigurowane ustawienia adresu WordPress i adresu witryny zakłócą poprawną pracę interfejsu API REST, prowadząc do komunikatu „Odpowiedź nie jest prawidłową odpowiedzią JSON” w witrynie WordPress. Nieprawidłowe oba ustawienia często można zaobserwować po migracji witryny lub sklonowaniu, gdy adresy URL nie zostały zaktualizowane w celu odzwierciedlenia nowej nazwy domeny.
Stałe WP_HOME i WP_SITEURL są używane przez WordPress do identyfikacji adresu Twojej witryny. Ustawienie Adres WordPressa odnosi się do lokalizacji instalacji WordPressa, natomiast Adres Witryny reprezentuje adres URL, który odwiedzający muszą wpisać w pasku adresu przeglądarki, aby otworzyć witrynę.
W większości przypadków zarówno stała WP_HOME, jak i WP_SITEURL mają tę samą wartość i są automatycznie ładowane z tabeli wp_options bazy danych WordPress, gdzie są przechowywane jako opcje siteurl i home. Siteurl i home można znaleźć w pierwszych dwóch wierszach wp_options. Ponieważ oba ustawienia reprezentują jednolity lokalizator zasobów, należy dołączyć właściwy protokół.
Adres WordPress i adres witryny mogą być również użyte do wymuszenia HTTPS w Twojej witrynie, co często jest pomijane podczas próby zbadania konkurencyjnych przekierowań. Nieprawidłowy protokół określony w siteurl i home może prowadzić do wielu problemów, w tym błędu „Zbyt wiele przekierowań”.
Jak się adresować
Istnieje wiele sposobów ustawienia adresu WordPress i ustawień adresu witryny, w tym modyfikowanie pliku wp-config.php i interfejsu WP CLI. Ale najłatwiej to zrobić za pomocą interfejsu administratora WordPress.
Otwórz menu Ustawienia ogólne z pulpitu WordPress i sprawdź ustawienia Adres WordPress i Adres witryny. Upewnij się, że mają poprawny adres strony internetowej i używany protokół. Jeśli na serwerze jest zainstalowany ważny certyfikat SSL, użyj protokołu HTTPS, aby zapewnić bezpieczne połączenia. W razie potrzeby popraw wartości i kliknij przycisk Zapisz zmiany.
Uszkodzone linki bezpośrednie
Permalinki WordPress to unikalne adresy URL skonfigurowane dla wszystkich postów i stron w witrynie. Uszkodzone permalinki nie pozwolą Ci zapisać żadnych aktualizacji postów i stron z edytora bloków i spowodują wyświetlenie w Twojej witrynie komunikatu „Odpowiedź nie jest prawidłową odpowiedzią JSON”. Co więcej, zobaczysz komunikat o błędzie „404 nie znaleziono strony” na wszystkich stronach witryny, więc żadna treść nie będzie dostępna, dopóki nie naprawisz struktury permalinków.
Jak się adresować
Przeglądaj swoją witrynę, aby sprawdzić, czy wszystkie posty i strony ładują się poprawnie. Jeśli otrzymujesz komunikaty o błędach „Nie znaleziono”, sprawdź plik .htaccess w głównym katalogu dokumentów witryny WordPress, aby upewnić się, że istnieją domyślne reguły przekierowań.
Jeśli brakuje domyślnego kodu, dodaj go ręcznie i zapisz plik. Alternatywnie możesz ponownie zapisać strukturę permalinków z obszaru administracyjnego WordPress, przechodząc do Ustawienia> Permalinki i klikając przycisk Zapisz zmiany.
Błędy SSL i konkurencyjne przekierowania
Konkurencyjne przekierowania, błędy mieszanej zawartości lub inne problemy z SSL mogą być przyczyną wyświetlania błędu WordPress „Odpowiedź nie jest prawidłową odpowiedzią JSON” lub komunikatu „ERR_TOO_MANY_REDIRECTS” w Twojej witrynie. Przyjrzyjmy się każdej sytuacji, aby zrozumieć, jak wpływa ona na funkcjonalność Twojej witryny WordPress.
Błędy SSL i zawartość mieszana
Jeśli Twój certyfikat SSL wygasł lub nie został poprawnie zainstalowany, nie będziesz mógł korzystać z protokołu HTTPS. Jeśli Twoja witryna WordPress jest skonfigurowana do korzystania z bezpiecznych połączeń i istnieją przekierowania w celu wymuszenia HTTPS, doprowadzi to do problemów.
Zawartość mieszana to jeden z najczęstszych problemów z SSL, który można zdefiniować jako sytuację, w której podstawowy plik HTML jest ładowany przez HTTPS, ale inne zasoby, w tym obrazy, pliki Javascript lub CSS, są dostarczane odwiedzającemu przez niezabezpieczone połączenie. W przypadku zawartości mieszanej przeglądarka pokaże połączenie jako nie w pełni bezpieczne. Posiadanie zawartości obsługiwanej przez HTTP, która jest zawarta na stronie internetowej HTTPS, może prowadzić do wyświetlania błędów nieprawidłowej odpowiedzi JSON WordPress podczas pracy w edytorze bloków.
Konkurencyjne lub nieprawidłowe przekierowania
Konkurencyjne lub nieprawidłowe przekierowania mogą spowodować pętlę przekierowań w witrynie WordPress lub przerwać komunikację klient-serwer podczas korzystania z edytora bloków, co prowadzi do błędu WordPress „Odpowiedź nie jest prawidłową odpowiedzią JSON”. Posiadanie konkurencyjnych przekierowań oznacza, że istnieją co najmniej dwa przekierowania, jedno próbujące wymusić HTTPS, a drugie przekierowujące z powrotem do HTTP.
Jednym z najczęstszych problemów, jakie możesz napotkać, jest konflikt między przekierowaniami skonfigurowanymi na serwerze źródłowym a przekierowaniami stosowanymi przez używaną sieć dostarczania treści. Na przykład CloudFlare oferuje trzy tryby szyfrowania — wyłączone, elastyczne i pełne. Wybierając tryb, wybierasz, w jaki sposób CDN będzie żądać zawartości z Twojego serwera i dostarczać ją odwiedzającym Twoją witrynę.
Typowa sytuacja, która powoduje problemy, w tym komunikat „Odpowiedź nie jest prawidłową odpowiedzią JSON” w WordPress, ma wymuszenie HTTPS na poziomie serwera, gdy masz zainstalowany protokół Cloudflare Edge SSL, który pozwala tylko na szyfrowanie między przeglądarką a Cloudflare. W takim przypadku przekierowania wymuszające HTTPS skonfigurowane na serwerze pochodzenia spowodują problemy.
Jak się adresować
Najlepszym sposobem na uniknięcie błędów SSL i konkurencyjnych przekierowań jest zainstalowanie prawidłowego SSL i zapewnienie pełnego szyfrowania podczas korzystania z sieci dostarczania treści. Pamiętaj, że będziesz potrzebować dwóch zainstalowanych certyfikatów — jednego na serwerze pochodzenia, a drugiego dostarczonego przez CDN.
Sprawdź, czy Twoja witryna WordPress ma ważny certyfikat SSL i zainstaluj nowy, jeśli poprzedni wygasł. Jeśli Twoja witryna nie jest w pełni bezpieczna, nawet po zainstalowaniu ważnego certyfikatu SSL, najbardziej prawdopodobną przyczyną wyświetlania komunikatu „Odpowiedź nie jest prawidłową odpowiedzią JSON” w WordPressie jest zawartość mieszana. Możesz naprawić ostrzeżenia o mieszanej zawartości, wykonując wyszukiwanie w bazie danych WordPress za pomocą WP CLI, aby usunąć wszelkie pozostawione odwołania HTTP lub użyj wtyczki, takiej jak Really Simple SSL, która zrobi to za Ciebie.
Możesz także tymczasowo wstrzymać swoją sieć CDN, aby zobaczyć, gdzie dokładnie połączenie nie działa. Jeśli nie występują żadne problemy z zapisywaniem aktualizacji post w Gutenberg z wyłączoną usługą CDN, istnieje problem w sposobie komunikacji CDN z serwerem pochodzenia lub żądania mogą być blokowane przez zaporę aplikacji sieci Web używaną w połączeniu z siecią dostarczania zawartości.
Rozwiązania bezpieczeństwa blokujące żądania WordPress
Stosowane rozwiązania zabezpieczające, w tym wtyczki zabezpieczające WordPress, reguły zapory sieciowej aplikacji internetowych zaimplementowane przez sieć dostarczania treści lub WAF po stronie serwera, takie jak ModSecurity, mogą przerwać poprawną komunikację klient-serwer, prowadząc do komunikatu „Odpowiedź nie jest prawidłową odpowiedzią JSON” w WordPress.
Każde rozwiązanie zabezpieczające działające na poziomie aplikacji przedstawia zestaw reguł, z którymi sprawdzane jest każde żądanie wysyłane do Twoich witryn WordPress w celu zminimalizowania liczby złośliwych żądań przychodzących na serwer WWW. Po uruchomieniu określonej reguły żądanie jest blokowane i zwracany jest komunikat o błędzie, powodując wyświetlanie błędów odpowiedzi nieprawidłowego JSON WordPress.
Jak się adresować
Najlepszym sposobem na wyśledzenie problemu jest sprawdzenie dzienników serwera i WAF, aby sprawdzić, czy żądanie zostało faktycznie zablokowane, a jednym z rozwiązań bezpieczeństwa jest to, co spowodowało wyświetlenie komunikatu o błędzie „Odpowiedź nie jest prawidłową odpowiedzią JSON”. Jeśli nie możesz tego zrobić, dezaktywuj wtyczkę bezpieczeństwa WordPress i wszelkie inne rozwiązania, takie jak Cloudflare WAF, aby sprawdzić, czy rozwiązuje problem.
Jeśli tak, skontaktuj się z zespołem pomocy technicznej wtyczek, aby pomóc zidentyfikować problemy powodujące reguły lub samodzielnie sprawdź listę reguł, jeśli jest na to opcja. Jeśli nadal nie możesz zapisać żadnych aktualizacji z edytora bloków lub przesłać nośnika, może to oznaczać, że rozwiązanie zabezpieczające po stronie serwera jest wadliwe. Zespół pomocy technicznej ds. hostingu może pomóc w rozwiązaniu problemu, umieszczając na białej liście regułę uruchomioną dla Twojego adresu IP lub adresu URL witryny.
Upewnij się, że używasz świetnej wtyczki zabezpieczającej WordPress, która zarządza zestawami reguł, które zapewniają doskonałą ochronę przed złośliwymi żądaniami, ale jednocześnie nie przeszkadzają Ci w wykonywaniu zadań związanych z administrowaniem witryną. iThemes Security Pro aktywnie monitoruje podejrzaną aktywność i pomaga zabezpieczyć najbardziej wrażliwe części witryny WordPress. Mając włączoną funkcję Skanowania Witryny, możesz być pewien — żadne złośliwe oprogramowanie nie pozostanie niezauważone.
Konflikty wtyczek
Jeśli chodzi o WordPress, konflikty wtyczek są jedną z najczęstszych przyczyn występowania błędów, w tym problemów z REST API i wyświetlaniem komunikatu „Odpowiedź nie jest prawidłową odpowiedzią JSON” podczas próby aktualizacji postów i stron lub przesyłania danych. Im więcej wtyczek zostanie aktywowanych na raz, tym większa szansa na niezgodność kodu, która w większości przypadków nie pozostanie niezauważona.
Jak się adresować
Wyłącz wszystkie wtyczki, aby sprawdzić, czy to rozwiązuje problem. Jeśli nie widzisz już komunikatu o błędzie „Odpowiedź nie jest prawidłową odpowiedzią JSON”, a wszystkie aktualizacje postów wykonane z edytora bloków są poprawnie zapisywane, ponownie aktywuj wtyczki jeden po drugim, aby zidentyfikować ten, który powoduje problemy.
Możesz zauważyć, że pewna wtyczka została niedawno zaktualizowana, więc może być konieczne wycofanie aktualizacji, aby wrócić do wersji, która działała poprawnie. Sprawdź prośby o pomoc użytkowników wtyczki, aby sprawdzić, czy inni doświadczyli tego samego problemu. Możliwe, że problem zostanie rozwiązany w następnej wersji lub istnieje znana poprawka, która pozwoli ci dalej korzystać z wtyczki.
Zarządzanie wersjami zabezpieczeń iThemes pozwala na automatyczną aktualizację WordPressa, wtyczek i motywów w celu wykorzystania nowych funkcji, ochrony przed znanymi lukami w zabezpieczeniach i uniknięcia jakichkolwiek przerw w prawidłowej pracy witryny WordPress.
Jak naprawić błąd WordPress z nieprawidłową odpowiedzią JSON w 3 krokach?
W przypadku różnych problemów, które mogą powodować pojawienie się komunikatu o błędzie „Odpowiedź nie jest prawidłową odpowiedzią JSON”, w witrynie WordPress może być trudno rozwiązać ten problem i zrozumieć, od czego zacząć. Nie spiesz się z zastosowaniem wszystkich poprawek opisanych w tym przewodniku. Wykonaj poniższe czynności, aby raz na zawsze naprawić błędy nieprawidłowej odpowiedzi JSON WordPress.
Krok 1. Zidentyfikuj wszelkie ostatnie zmiany
Zacznij od podstawowego sprawdzenia swojej witryny. Zobacz, kiedy zostały wykonane ostatnie aktualizacje rdzenia i wtyczek WordPressa i zastanów się, czy coś się zmieniło w Twojej witrynie od ostatniego momentu, gdy udało Ci się zapisać aktualizacje treści z edytora bloków i przesłać multimedia do swojej witryny.
Możesz zdać sobie sprawę, że wtyczka została niedawno zaktualizowana, nowy zestaw reguł został dodany do zapory aplikacji internetowej lub musiałeś przywrócić witrynę z kopii zapasowej, ponieważ została zhakowana. Wiedza o tym, co dokładnie się stało, co spowodowało komunikat o błędzie „Odpowiedź nie jest prawidłową odpowiedzią JSON”, znacznie pomoże ci zrozumieć, od czego zacząć i zaoszczędzić czas i wysiłek.
Krok 2. Sprawdź swoją witrynę WordPress
Aby naprawić komunikat o błędzie „Odpowiedź nie jest prawidłową odpowiedzią JSON” w WordPressie, należy ograniczyć zakres wyszukiwania. Większość problemów opisanych w poprzedniej sekcji tego artykułu spowoduje poważniejsze problemy niż tylko niemożność zapisywania aktualizacji treści w Gutenbergu lub przesyłania multimediów.
Przeglądaj strony swojej witryny
Przeglądaj swoją witrynę, aby sprawdzić, czy możesz wczytać wszystkie strony internetowe, a Twoja przeglądarka pokazuje, że połączenie jest w pełni bezpieczne na wszystkich z nich. W rezultacie możesz łatwo określić, czy występują problemy z SSL, strukturą permalinków lub przekierowaniami. Uszkodzone permalinki spowodują wyświetlenie komunikatów o błędach „Nie znaleziono” na stronach internetowych, konfliktowe przekierowania mogą prowadzić do wyświetlenia „ERR_TOO_MANY_REDIRECTS”.
Sprawdź ustawienia adresu WordPress i SSL
Sprawdź ustawienia adresu WordPress, w tym protokół używany w adresach URL, i upewnij się, że Twój certyfikat SSL jest ważny i zaufany przez wszystkie przeglądarki, korzystając z narzędzia do sprawdzania SSL. Jeśli korzystasz z sieci CDN, sprawdź ustawienia szyfrowania i upewnij się, że przekierowania skonfigurowane na serwerze nie powodują konfliktu z tym, co wymusza Twoja sieć dostarczania treści.
Krok 3. Napraw komunikat „Odpowiedź nie jest prawidłową odpowiedzią JSON” w WordPress
Jeśli dokładnie zbadałeś swoją witrynę WordPress i odnotowałeś wszystkie aktualizacje, które zostały na niej ostatnio wprowadzone, będziesz w stanie określić, co spowodowało wyświetlenie komunikatu o błędzie „Odpowiedź nie jest prawidłową odpowiedzią JSON” podczas korzystania z edytora bloków lub przesyłanie multimediów.
O ile Twoja struktura linków bezpośrednich nie jest zepsuta lub nie ma innych poważnych problemów, które powodują inne błędy na Twojej stronie, możesz tymczasowo przełączyć się na klasyczny edytor, jeśli koniecznie musisz opublikować określony post tak szybko, jak to możliwe. Zainstaluj wtyczkę Classic Editor, która po aktywacji zastąpi edytor bloków. Po opublikowaniu posta możesz wznowić proces rozwiązywania problemów.
Postępuj zgodnie z instrukcjami zawartymi w poprzedniej części tego przewodnika, aby rozwiązać zidentyfikowany problem. Jeśli ustawienia adresu witryny WordPress są poprawne, permalinki działają zgodnie z oczekiwaniami i wykluczyłeś wszystkie problemy z SSL, treścią mieszaną i konkurencyjnymi przekierowaniami, dezaktywuj swoje rozwiązania zabezpieczające. Jeśli to nie pomoże, dezaktywuj wszystkie wtyczki, aby sprawdzić, czy konflikt wtyczek jest winny.
Jeśli nic nie pomogło w zidentyfikowaniu problemu i nie masz pewności, co powoduje komunikat o błędzie „Odpowiedź nie jest prawidłową odpowiedzią JSON” w Twojej witrynie, skontaktuj się z zespołem pomocy technicznej hostingu, aby uzyskać pomoc. Możesz potrzebować drugiej pary oczu, co jest całkowicie normalne. Ponadto administratorzy pomocy technicznej będą mogli sprawdzić logi serwera, co może przyspieszyć proces rozwiązywania problemów.
Wniosek
Edytor bloków WordPress to aplikacja po stronie klienta, która używa interfejsu API REST do komunikacji z serwerem i wysyłania danych. Wszelkie przerwy w komunikacji klient-serwer spowodują błędy, w tym „Odpowiedź nie jest prawidłową odpowiedzią JSON”. Błędy nieprawidłowej odpowiedzi JSON WordPress mogą być spowodowane różnymi problemami, z których najczęstsze to nieprawidłowe ustawienia adresu WordPress, zepsuta struktura permalink, błędy SSL i sprzeczne przekierowania.
Czasami witryna WordPress może zostać zablokowana przez wtyczkę bezpieczeństwa lub inne rozwiązanie używane jako zapora aplikacji internetowej. Najlepszym sposobem na zminimalizowanie możliwości zablokowania żądań wysyłanych z pulpitu administratora i zaoszczędzenie czasu na rozwiązywanie błędów przy pełnej ochronie przed złośliwym ruchem jest wybór odpowiedniego oprogramowania zabezpieczającego.
Istnieje cienka granica między bezpieczeństwem a użytecznością, ale nie musisz wybierać między nimi. iThemes Security Pro to wtyczka bezpieczeństwa WordPress, która pozwala skupić się na codziennych zadaniach i mieć pewność, że Twoja witryna WordPress jest chroniona przed wszystkimi znanymi lukami i zagrożeniami bezpieczeństwa.
Najlepsza wtyczka bezpieczeństwa WordPress do zabezpieczania i ochrony WordPressa
WordPress obsługuje obecnie ponad 40% wszystkich stron internetowych, więc stał się łatwym celem dla hakerów o złych zamiarach. Wtyczka iThemes Security Pro eliminuje zgadywanie z zabezpieczeń WordPress, aby ułatwić zabezpieczenie i ochronę witryny WordPress. To tak, jakby zatrudniać pełnoetatowego eksperta ds. bezpieczeństwa, który stale monitoruje i chroni Twoją witrynę WordPress.
Kiki posiada licencjat z zarządzania systemami informatycznymi i ponad dwuletnie doświadczenie w Linuksie i WordPressie. Obecnie pracuje jako specjalista ds. bezpieczeństwa w Liquid Web i Nexcess. Wcześniej Kiki była częścią zespołu wsparcia Liquid Web Managed Hosting, gdzie pomogła setkom właścicieli witryn WordPress i dowiedziała się, z jakimi problemami technicznymi często się spotykają. Jej pasja do pisania pozwala jej dzielić się wiedzą i doświadczeniem, aby pomagać ludziom. Oprócz technologii Kiki lubi poznawać kosmos i słuchać podcastów o prawdziwych przestępstwach.