Как исправить сообщение «Ответ не является допустимым ответом JSON» в WordPress

Опубликовано: 2022-08-09

Поскольку редактор Gutenberg WordPress стал редактором страниц по умолчанию, многие пользователи WordPress начали видеть сообщения об ошибках «Ответ не является допустимым ответом JSON» на своих веб-сайтах, пытаясь обновить сообщения или загрузить медиафайлы. Хотя возврат к классическому редактору сразу же решает проблему и может быть отличным временным решением, недопустимые ошибки JSON в WordPress указывают на проблему с REST API, на который WordPress абсолютно полагается для правильной работы.

В этом руководстве вы узнаете, как редактор Gutenberg работает с REST API и как подробно и пошагово исправить сообщение «Ответ не является допустимым ответом JSON» в WordPress.

Как Gutenberg работает с REST API и JSON?

Редактор Gutenberg WordPress, также известный как редактор блоков, представляет собой интерфейсное приложение, использующее REST API для обмена данными между сервером и пользовательским интерфейсом. Сделав его опцией по умолчанию, встроенной в ядро ​​​​WordPress, WordPress полностью заменил классический редактор на Gutenberg, сделав огромный шаг к полному редактированию сайта.

Редактор Gutenberg WordPress является клиентским приложением, что означает, что он работает в браузере пользователя и не имеет прямого доступа к базе данных WordPress, где хранятся все записи и страницы. Поэтому редактору блоков нужен способ связи с сервером для отправки обновлений контента. REST API — это то, что обеспечивает связь клиент-сервер и позволяет Гутенбергу обновлять сообщения и страницы, отправляя и получая данные в виде объектов JSON.

JSON означает нотацию объектов JavaScript и используется WordPress для создания представления контента в схеме, определенной WordPress REST API. Каждый раз, когда вы редактируете страницу или сообщение с помощью Gutenberg и нажимаете кнопку «Обновить», чтобы сохранить все внесенные вами изменения, редактор блоков отправляет запрос на сервер и ожидает ответа в формате JSON.

ответ не является допустимым ответом JSON

Что означает ошибка «Ответ не является допустимым ответом JSON»?

Когда связь между клиентом и сервером прерывается или Gutenberg не может связаться с сервером, WordPress распознает полученное сообщение как недопустимый ответ JSON и показывает «Ответ не является допустимым ответом JSON».

Ошибка недопустимого ответа WordPress в формате JSON может появиться на вашем веб-сайте, когда вы пытаетесь обновить или опубликовать сообщение из редактора блоков или загрузить медиафайл. Показывая сообщение об ошибке, WordPress информирует вас о том, что задача, которую вы хотели выполнить, не удалась. В результате сделанное вами обновление не будет сохранено на сервере до тех пор, пока не будет восстановлено нормальное взаимодействие клиент-сервер.

Сообщение «ответ не является допустимым ответом JSON» в WordPress

5 основных проблем, связанных с ошибкой «Ответ не является допустимым ответом JSON», и способы их устранения

Существует 5 основных проблем, связанных с сообщением об ошибке «Ответ не является допустимым ответом JSON» в WordPress:

  1. Неверная настройка адреса сайта WordPress
  2. Битые постоянные ссылки
  3. Ошибки SSL и конкурирующие перенаправления
  4. Защитные решения, блокирующие запросы
  5. Конфликты плагинов

Неверные настройки адреса сайта WordPress

Неправильно настроенные параметры адреса WordPress и адреса сайта прервут правильную работу REST API, что приведет к сообщению «Ответ не является допустимым ответом JSON» на вашем веб-сайте WordPress. Неверные обе настройки часто можно увидеть после миграции или клонирования веб-сайта, когда URL-адреса не были обновлены, чтобы отразить новое доменное имя.

Константы WP_HOME и WP_SITEURL используются WordPress для определения адреса вашего сайта. Параметр «Адрес WordPress» относится к местоположению установки WordPress, а «Адрес сайта» представляет собой URL-адрес, который ваши посетители должны ввести в адресной строке браузера, чтобы открыть ваш сайт.

В большинстве случаев константы WP_HOME и WP_SITEURL имеют одинаковое значение и автоматически загружаются из таблицы wp_options вашей базы данных WordPress, где они хранятся как параметры siteurl и home. Siteurl и домашний адрес можно найти в первых двух строках wp_options. Поскольку обе настройки представляют собой унифицированный указатель ресурсов, необходимо включить правильный протокол.

Адрес сайта

Адрес WordPress и адрес сайта также можно использовать для принудительного использования HTTPS на вашем веб-сайте, что часто упускается при попытке исследовать конкурирующие перенаправления. Неверный протокол, указанный в siteurl и home, может привести ко многим проблемам, в том числе к ошибке «Слишком много перенаправлений».

Как обратиться

Существует несколько способов установить настройки адреса WordPress и адреса сайта, включая изменение файла wp-config.php и интерфейса командной строки WP. Но проще всего это сделать с помощью административного интерфейса WordPress.

Откройте меню «Общие настройки» на панели управления WordPress и проверьте настройки «Адрес WordPress» и «Адрес сайта». Убедитесь, что они используют правильный адрес веб-сайта и используемый протокол. Если на сервере установлен действующий сертификат SSL, используйте HTTPS для обеспечения безопасных соединений. При необходимости исправьте значения и нажмите кнопку «Сохранить изменения».

Общие настройки WordPress

Неработающие постоянные ссылки

Постоянные ссылки WordPress — это уникальные URL-адреса, настроенные для всех сообщений и страниц на веб-сайте. Неработающие постоянные ссылки не позволят вам сохранять какие-либо обновления сообщений и страниц из редактора блоков и приведут к появлению сообщения «Ответ не является допустимым ответом JSON» на вашем веб-сайте. Кроме того, вы увидите сообщение об ошибке «404 Страница не найдена» на всех страницах веб-сайта, поэтому контент не будет доступен, пока вы не исправите структуру постоянных ссылок.

Запрошенный URL не найден на этом сервере

Как обратиться

Просмотрите свой веб-сайт, чтобы убедиться, что все сообщения и страницы загружаются правильно. Если вы получаете сообщения об ошибках «Не найдено», проверьте файл .htaccess в корневом каталоге документов вашего веб-сайта WordPress, чтобы убедиться в наличии правил перенаправления по умолчанию.

Если код по умолчанию отсутствует, добавьте его вручную и сохраните файл. Кроме того, вы можете повторно сохранить структуру постоянных ссылок из области администрирования WordPress, перейдя в «Настройки» > «Постоянные ссылки» и нажав кнопку «Сохранить изменения».

переписать движок

Ошибки SSL и конкурирующие перенаправления

Конкурирующие перенаправления, ошибки смешанного содержимого или другие проблемы SSL могут быть причиной появления ошибки WordPress «Ответ не является допустимым ответом JSON» или сообщения «ERR_TOO_MANY_REDIRECTS» на вашем веб-сайте. Давайте рассмотрим каждую ситуацию, чтобы понять, как она влияет на функциональность вашего сайта WordPress.

Ошибки SSL и смешанный контент

Если срок действия вашего SSL-сертификата истек или он был установлен неправильно, вы не сможете использовать HTTPS. Если ваш веб-сайт WordPress настроен на использование безопасных соединений и есть перенаправления для принудительного использования HTTPS, это приведет к проблемам.

Смешанный контент — одна из самых распространенных проблем с SSL, которую можно определить как ситуацию, когда базовый HTML-файл загружается по HTTPS, а другие ресурсы, включая изображения, файлы Javascript или CSS, доставляются посетителю через небезопасное соединение. В случае наличия смешанного содержимого ваш браузер покажет соединение как не полностью защищенное. Наличие содержимого, обслуживаемого через HTTP, которое включено в веб-страницу HTTPS, может привести к тому, что WordPress увидит недопустимые ошибки ответа JSON при работе в редакторе блоков.

Конкурирующие или неправильные перенаправления

Конкурирующие или неправильные перенаправления могут вызвать цикл перенаправления на вашем веб-сайте WordPress или нарушить связь клиент-сервер при использовании редактора блоков, что приведет к ошибке WordPress «Ответ не является допустимым ответом JSON». Наличие конкурирующих перенаправлений означает, что есть по крайней мере два перенаправления, одно пытается принудительно использовать HTTPS, а другое перенаправляет обратно на HTTP.

Одной из наиболее распространенных проблем, с которыми вы можете столкнуться, является конфликт между перенаправлениями, настроенными на исходном сервере, и перенаправлениями, применяемыми используемой сетью доставки контента. Например, CloudFlare предлагает три режима шифрования — отключенный, гибкий и полный. Выбирая режим, вы выбираете, как CDN будет запрашивать контент с вашего сервера и доставлять его посетителям вашего сайта.

Типичная ситуация, которая вызывает проблемы, в том числе сообщение «Ответ не является допустимым ответом JSON» в WordPress, — принудительное использование HTTPS на уровне сервера, когда у вас установлен Cloudflare Edge SSL, что позволяет использовать шифрование только между браузером и Cloudflare. В этом случае перенаправления, принудительно настроенные на HTTPS на исходном сервере, создадут проблемы.

Как обратиться

Лучший способ избежать любых ошибок SSL и конкурирующих перенаправлений — установить действительный SSL и обеспечить сквозное шифрование при использовании сети доставки контента. Помните, что вам потребуются два установленных сертификата — один на исходном сервере, а другой — предоставленный CDN.

SSL/TLS

Проверьте, есть ли на вашем веб-сайте WordPress действующий сертификат SSL, и установите новый, если срок действия предыдущего истек. Если ваш веб-сайт отображается как не полностью безопасный даже с установленным действительным сертификатом SSL, смешанный контент является наиболее вероятной причиной появления сообщения «Ответ не является действительным ответом JSON» в WordPress. Вы можете исправить предупреждения о смешанном содержании, выполнив поиск и замену в базе данных WordPress с помощью WP CLI, чтобы удалить все оставшиеся ссылки HTTP, или использовать плагин, такой как Really Simple SSL, который сделает это за вас.

Вы также можете временно приостановить свою CDN, чтобы увидеть, где именно произошел сбой соединения. Если у вас не возникает проблем с сохранением постобновлений в Gutenberg при отключенной CDN, существует проблема в способе связи CDN с исходным сервером или запросы могут быть заблокированы брандмауэром веб-приложения, используемым в сочетании с вашей сетью доставки контента.

Решения безопасности, блокирующие запросы WordPress

Используемые решения безопасности, в том числе плагины безопасности WordPress, правила брандмауэра веб-приложений, реализованные сетью доставки контента, или WAF на стороне сервера, такие как ModSecurity, могут прерывать правильное взаимодействие клиент-сервер, что приводит к сообщению «Ответ не является допустимым ответом JSON» в Вордпресс.

Каждое решение безопасности, работающее на уровне приложения, представляет собой набор правил, по которым проверяется каждый запрос, отправляемый на ваши веб-сайты WordPress, чтобы свести к минимуму количество вредоносных запросов, поступающих на веб-сервер. После срабатывания определенного правила запрос блокируется и возвращается сообщение об ошибке, в результате чего WordPress показывает недопустимые ошибки ответа JSON.

Как обратиться

Лучший способ отследить проблему — проверить журналы сервера и WAF, чтобы увидеть, действительно ли запрос был заблокирован, и одно из решений безопасности — это то, что вызвало появление сообщения об ошибке «Ответ не является допустимым ответом JSON». Если вы не можете этого сделать, деактивируйте плагин безопасности WordPress и любые другие решения, такие как Cloudflare WAF, чтобы посмотреть, решает ли он проблему.

Если это так, обратитесь в службу поддержки плагинов, чтобы помочь определить проблемы, вызывающие правила, или самостоятельно изучите список правил, если для этого есть возможность. Если вы по-прежнему не можете сохранять какие-либо обновления из редактора блоков или загружать медиафайлы, возможно, виновато решение для обеспечения безопасности на стороне сервера. Ваша служба поддержки веб-хостинга может помочь вам решить проблему, внеся в белый список правило, срабатывающее для вашего IP-адреса или URL-адреса веб-сайта.

Убедитесь, что вы используете отличный плагин безопасности WordPress с управляемыми наборами правил, которые обеспечивают надежную защиту от вредоносных запросов, но в то же время не мешают вам выполнять задачи по администрированию веб-сайта. iThemes Security Pro активно отслеживает подозрительную активность и помогает защитить наиболее уязвимые части вашего веб-сайта WordPress. Включив функцию Site Scan, вы можете быть уверены — ни одно вредоносное ПО не останется незамеченным.

Конфликты плагинов

Когда дело доходит до WordPress, конфликты плагинов являются одной из наиболее распространенных причин возникновения ошибок, включая проблемы с REST API и отображение «Ответ не является допустимым ответом JSON» при попытке обновить сообщения и страницы или загрузить данные. Чем больше плагинов активировано одновременно, тем выше вероятность несовместимости кода, которая в большинстве случаев не останется незамеченной.

Как обратиться

Деактивируйте все плагины, чтобы посмотреть, решит ли это проблему. Если вы больше не видите сообщение об ошибке «Ответ не является допустимым ответом JSON» и все обновления сообщений, сделанные из редактора блоков, сохраняются правильно, повторно активируйте плагины один за другим, чтобы определить тот, который вызывает проблемы.

Вы можете заметить, что какой-то плагин недавно был обновлен, поэтому вам может потребоваться откатить обновление, чтобы вернуться к версии, которая работала правильно. Проверьте запросы поддержки пользователей плагина, чтобы узнать, не сталкивались ли другие с такой же проблемой. Вполне возможно, что проблема будет решена в следующем выпуске или есть известное исправление, которое позволит вам продолжать использовать плагин.

iThemes Security Version Management позволяет вам автоматически обновлять WordPress, плагины и темы, чтобы использовать новые функции, оставаться защищенными от известных уязвимостей и избегать любых сбоев в правильной работе вашего сайта WordPress.

Обновление плагинов

Как исправить ошибку WordPress «Неверный ответ JSON» за 3 шага

Из-за различных проблем, которые могут привести к появлению сообщения об ошибке «Ответ не является допустимым ответом JSON» на вашем веб-сайте WordPress, может быть сложно устранить его и понять, с чего начать. Не спешите применять все исправления, описанные в этом руководстве. Следуйте приведенным ниже инструкциям, чтобы раз и навсегда исправить ошибки недопустимого ответа WordPress в формате JSON.

Шаг 1. Определите любые недавние изменения

Начните с базовой проверки вашего сайта. Посмотрите, когда выполнялись последние обновления ядра и плагинов WordPress, и подумайте, могло ли что-то измениться на вашем веб-сайте с тех пор, как вы в последний раз сохраняли обновления контента из редактора блоков и загружали медиафайлы на свой веб-сайт.

Вы можете обнаружить, что плагин был недавно обновлен, в брандмауэр вашего веб-приложения был добавлен новый набор правил, или вам пришлось восстанавливать свой веб-сайт из резервной копии, поскольку он был взломан. Знание того, что именно произошло, что вызвало сообщение об ошибке «Ответ не является допустимым ответом JSON», очень поможет вам понять, с чего начать, и сэкономит ваше время и усилия.

Шаг 2. Изучите свой сайт WordPress

Чтобы исправить сообщение об ошибке «Ответ не является допустимым ответом JSON» в WordPress, область поиска должна быть ограничена. Большинство проблем, описанных в предыдущем разделе этой статьи, вызовут более серьезные проблемы, чем просто невозможность сохранять обновления контента в Гутенберге или загружать медиафайлы.

Просмотрите страницы своего веб-сайта

Просмотрите свой веб-сайт, чтобы увидеть, можете ли вы загрузить все веб-страницы, и ваш браузер показывает соединение как полностью безопасное на всех из них. В результате вы можете легко определить, есть ли какие-либо проблемы с SSL, вашей структурой постоянных ссылок или перенаправлениями. Неработающие постоянные ссылки приведут к отображению сообщений об ошибках «Не найдено» на веб-страницах, конфликтующие перенаправления могут привести к отображению «ERR_TOO_MANY_REDIRECTS».

Проверьте настройки адреса WordPress и SSL

Проверьте настройки вашего адреса WordPress, включая протокол, используемый в URL-адресах, и убедитесь, что ваш SSL-сертификат действителен и ему доверяют все браузеры, используя средство проверки SSL. Если вы используете CDN, проверьте настройки шифрования и убедитесь, что перенаправления, которые вы настроили на сервере, не конфликтуют с тем, что обеспечивает ваша сеть доставки контента.

Шаг 3. Исправьте сообщение «Ответ не является допустимым ответом JSON» в WordPress

Если вы внимательно изучили свой веб-сайт WordPress и отметили все недавно внесенные в него обновления, вы сможете определить, что вызвало появление сообщения об ошибке «Ответ не является допустимым ответом JSON» при использовании редактора блоков или загрузка медиа.

Если ваша структура постоянных ссылок не нарушена или нет каких-либо других серьезных проблем, которые вызывают другие ошибки на вашем веб-сайте, вы можете временно переключиться на классический редактор, если вам абсолютно необходимо как можно скорее опубликовать определенный пост. Установите плагин Classic Editor, который при активации заменит редактор блоков. После публикации сообщения вы можете возобновить процесс устранения неполадок.

Следуйте инструкциям, включенным в предыдущий раздел этого руководства, чтобы устранить обнаруженную проблему. Если настройки адреса вашего сайта WordPress верны, постоянные ссылки работают должным образом, и вы исключили все проблемы с SSL, смешанным содержимым и конкурирующими переадресациями, деактивируйте свои решения безопасности. Если это не помогает, деактивируйте все плагины, чтобы увидеть, не виноват ли конфликт плагинов.

Если ничто не помогло определить проблему, и вы не уверены, что вызывает сообщение об ошибке «Ответ не является допустимым ответом JSON» на вашем веб-сайте, обратитесь за помощью в службу поддержки вашего веб-хостинга. Вам может понадобиться вторая пара глаз, что совершенно нормально. Кроме того, администраторы поддержки смогут проверять журналы сервера, что может ускорить процесс устранения неполадок.

Вывод

Редактор блоков WordPress — это клиентское приложение, которое использует REST API для связи с сервером и отправки данных. Любое прерывание связи клиент-сервер приведет к ошибкам, в том числе «Ответ не является допустимым ответом JSON». Ошибки недопустимого ответа WordPress в формате JSON могут быть вызваны различными проблемами, наиболее распространенными из которых являются неправильные настройки адреса WordPress, неработающая структура постоянных ссылок, ошибки SSL и конфликтующие перенаправления.

Иногда сайт WordPress может быть заблокирован подключаемым модулем безопасности или другим решением, используемым в качестве брандмауэра веб-приложений. Лучший способ свести к минимуму возможность блокировки запросов, отправленных с панели администратора, и сэкономить время на устранении ошибок при полной защите от вредоносного трафика — это выбрать правильное программное обеспечение для обеспечения безопасности.

Существует тонкая грань между безопасностью и удобством использования, но вам не нужно выбирать между ними. iThemes Security Pro — это плагин безопасности WordPress, который позволяет вам сосредоточиться на повседневных задачах и быть уверенным, что ваш веб-сайт WordPress защищен от всех известных уязвимостей и угроз безопасности.

Получите бонусный контент: Руководство по безопасности WordPress
Кликните сюда