Эта ошибка часто возникает у вебмастеров при обновлении или публикации записей в WordPress. Есть несколько вариантов уведомления об этой ошибке:
- Ошибка обновления. Ответ не является допустимым ответом json
- Ошибка публикации. Ответ не является допустимым ответом json
- Updating failed. The response is not a valid JSON response.
Есть несколько решений данной проблемы
Отключение редактора блоков Gutenberg
После обновления WordPress до версии 5.0 у всех по умолчанию включился редактор Гутенберг, который принес не мало проблем и вопросов. Поэтому на всех сайтах WordPress я отключаю Гутенберг. Для отключения можно использовать
- Платный Плагин Clearfy — решит проблему с ошибкой при публикации, а также устранит много других регулярных проблем WordPress
- Бесплатный плагин Classic Editor
После установки и активации редактор Гутенберг перестанет работать и записи снова можно публиковать
Другие варианты решения проблемы
Если после отключение Гутенберг ошибка публикации не исчезла, то вот альтернативные решения
Способ | Описание |
---|---|
Обновление постоянных ссылок | 1. Перейти в консоль сайта -> Настройки -> Постоянные ссылки.
2. Нажать на кнопку Обновить. 3. Проверить изменения. |
Отсутствие SSL сертификата | Рекомендуется использовать бесплатных SSL-сертификатов Let’s Encrypt. |
Устранение ошибки смешанного содержимого | 1. Проверить в настройках, чтобы URL начинались с https.
2. Установить и активировать плагин Really Simple SSL. 3. В Настройки -> SSL, активировать опции Mixed content fixer, Enable WordPress 301 Redirection to SSL, Enable 301 .htaccess redirect. 4. Проверить изменения. |
Проверка активации Rest API и wp-json
Деактивация REST API является распространенной причиной возникновения ошибок при обновлении страниц и записей.
Для проверки перейдите в редактор темы и откройте файл functions.php. Тщательно просмотрите код. Если REST API и wp-json были отключены, вы обнаружите следующие строки кода:
// Деактивация REST API
add_filter('rest_enabled', '__return_false');
// Удаление фильтров REST API
remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd');
remove_action( 'wp_head', 'rest_output_link_wp_head', 10, 0);
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0);
remove_action( 'auth_cookie_malformed', 'rest_cookie_collect_status');
remove_action( 'auth_cookie_expired', 'rest_cookie_collect_status');
remove_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status');
remove_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status');
remove_action( 'auth_cookie_valid', 'rest_cookie_collect_status');
remove_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100);
// Отмена событий REST API
remove_action( 'init', 'rest_api_init');
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1);
remove_action( 'parse_request', 'rest_api_loaded');
// Отключение Embeds, связанных с REST API
remove_action( 'rest_api_init', 'wp_oembed_register_route');
remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4);
remove_action( 'wp_head', 'wp_oembed_add_discovery_links');
remove_action( 'wp_head', 'wp_oembed_add_host_js');
Если вы обнаружите подобный код, следует его удалить. Затем перейдите в раздел «Настройки», выберите «Постоянные ссылки» и кликните «Обновить».