Хотите очистить лишний код на сайте ВордПресс и повысить его безопасность? Отличная идея отключить REST API WordPress. Разберем все способы как это сделать.
REST API WordPress – что это и как работает?
Как мы писали в одной из прошлых статей, это инструмент, который позволяет сайту взаимодействовать с внешними источниками. Например, можно управлять созданием и публикацией контента без входа в административную панель. Интерфейс REST API появился, начиная с версии WP 4.7, и был включен в ядро. Основан на JSON (JavaScript Object Notation) – языке, предназначенном для отправки, получения и хранения данных.
Зачем отключать?
Есть несколько причин. Если для работы с ВП-сайтом вы используете только админку и хотите повысить безопасность своего ресурса.
Как отключить?
Рассмотрим рабочие способы.
Плагин Disable REST API
Плагин Disable REST API работает “из коробки”. Не нужно ничего настраивать. Достаточно просто установить и активировать.
Плагин Clearfy Pro
Если у вас установлено это расширение, в админ-панели откройте Clearfy Pro и перейдите на вкладку Код. Напротив опции Отключить JSON REST API передвиньте вправо ползунок и нажмите кнопку Сохранить изменения.
Активировать промокод на 15%
Вручную
Если не хотите на свой сайт устанавливать дополнительные плагины, этот способ для вас.
Найдите и откройте основной конфигурационный файл вашей активной WordPress-темы functions.php. В самый конец просто добавьте этих несколько строк:
add_filter( 'rest_enabled', '__return_false' ); 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 ); remove_action( 'init', 'rest_api_init' ); remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 ); remove_action( 'parse_request', 'rest_api_loaded' ); 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' );
Если вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.
Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.
После внесения кода в functions.php получаем «Ответ не является допустимым ответом JSON» при добавлении и редактировании записей и страниц. Какая строка за это отвечает?