Как отключить REST API WordPress?

Хотите очистить лишний код на сайте ВордПресс и повысить его безопасность? Отличная идея отключить REST API WordPress. Разберем все способы как это сделать.

REST API WordPress — что это и как работает?

Как мы писали в одной из прошлых статей, это инструмент, который позволяет сайту взаимодействовать с внешними источниками. Например, можно управлять созданием и публикацией контента без входа в административную панель. Интерфейс REST API появился, начиная с версии WP 4.7, и был включен в ядро. Основан на JSON (JavaScript Object Notation) — языке, предназначенном для отправки, получения и хранения данных.

Зачем отключать?

Есть несколько причин. Если для работы с ВП-сайтом вы используете только админку и хотите повысить безопасность своего ресурса.

Как отключить?

Рассмотрим рабочие способы.

Плагин Disable REST API

Плагин Disable REST API работает «из коробки». Не нужно ничего настраивать. Достаточно просто установить и активировать.

Установка плагина Disable REST API

Плагин Clearfy Pro

Если у вас установлено это расширение, в админ-панели откройте Clearfy Pro и перейдите на вкладку Код. Напротив опции Отключить JSON REST API передвиньте вправо ползунок и нажмите кнопку Сохранить изменения.

Отключение REST API в плагине Clearfy Pro

Активировать промокод на 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.

Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.

Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.
Обсуждение: 1
  1. Александр

    После внесения кода в functions.php получаем «Ответ не является допустимым ответом JSON» при добавлении и редактировании записей и страниц. Какая строка за это отвечает?

Задать вопрос