WordPress по умолчанию создает страницы вида
https://site.com/wp-json
Это нужно, чтобы удаленно добавлять, изменять и удалять контент на сайте без входа в админку. Если вы такое не делаете, то от этого функционала лучше избавиться. Кроме того, по указанной ссылке злоумышленник свободно может увидеть конфиденциальную информацию (список установленных плагинов, пользователей и пр.)
Отключаем wp-json: 3 способа
Рассмотрим простые способы избавиться от ненужной ссылки /wp-json
.
Способ 1. Плагин Clearfy Pro
Самый быстрый, надежный и простой способ – премиум-плагин Clearfy Pro.
Чтобы удалить wp-json
, просто активируйте нужную опцию:
Кроме того, этот плагин улучшает Ваш сайт еще по 50 пунктам.
- Очищает исходный код от мусора, минифицирует (сжимает) код для быстрой загрузки
- Удаляет ненужные и вредные внешние ссылки
- Удаляет дубли страниц, которые так не любят поисковые системы
- Улучшает SEO на сайте
- Усиливает защиту сайта от злоумышленников
- Защита от копирования контента
- и многое другое
Плагин платный, но стоит всего 970 рублей на 1 домен и 1940 неограниченная лицензия. То есть Вы можете установить его на любое количество Ваших сайтов. Смешные деньги за тот мощный функционал, который выдает плагин.
И что важно ⚠️ Вы платите один раз — никаких регулярных платежей. Вы получаете неограниченную поддержку (можете написать ребятам по любому вопросу) и обновления плагина на всю жизнь.
Кроме того в плагине Clearfy Pro есть такие крутые фишки, которые заменяют еще 4 плагина:
Бонус! 👍 Для пользователей нашего сервиса мы подготовили приятный бонус — промокод со скидкой 15%. Просто перейдите по ссылке ниже для его активации. Стоимость плагина упадет до 825 рублей за один домен и 1649 рублей за неограниченную лицензию.
Clearfy Pro быстро установить и активировать, моментально улучшает сайт по 50 пунктам, очищает код сайта, удаляет дубли страниц, усиливает защиту, улучшает SEO. Заменяет собой не один десяток плагинов.
Способ 2. Плагин Disable REST API
Плагин Disable REST API работает “из коробки”, не нужно настраивать.
Просто установите и активируйте.
Плохое решение для тех, кто не хочет устанавливать дополнительные плагины.
Способ 3. Свой код
Добавьте следующий код в файл 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' );
Не нужен отдельный плагин.
Код может устареть. Нужно постоянно проверять его работу.
Disable REST API почему то отключает редактирование в Elementor
Пункт “отключить wp-json” в плагине Clearfy Pro активирован, но все равно при аудите сайта выдает ошибку “Необходимо удалить ссылку на JSON REST API”