С версии 4.0 ввели удобный функционал на json rest api WordPress, помогающая разработчикам связываться с движком через специальные интерфейсы программ. Как это действует и нужно ли для простого администратора напишу дальше.
Располагается подключение с ссылкой на файл в разделе head, генерируется инструкцией wp_head, выглядит так.
<link rel='https://api.w.org/' href='https://site.ru/wp-json/' />

Что это такое и как работает json rest api
Метод создан для удаленного получения с WordPress, различных данных, например статьи и комментарии, которые активно используются в мобильных приложениях на основе сайта. Разберу списком, что такое означает каждая фраза:
- API это возможность подключаться к сайту удаленно без захода в админку, управлять им
- REST – разновидность API, особенность заключается в архивировании, быстрой передаче версий данных по протоколу
- Json – обработчик, не достаточно просто отправить информацию, нужно указать как открывать, это javascript с инструкциями
Так он работает с внешними приложениями, применяя команды из программы, сможете вытягивать любую информацию: записи, комментарии, пользователей, cookie, php и любой контент. Советую к прочтению как удалить ld application.
Для включения ничего делать не нужно, он изначально активен, готов к применению, можете пробовать соединяться с WordPress через соответствующие приложения, написанные на Python и других языках.
Зачем отключать
Причины для отключения банальные, но разберу также списком причины:
- Простому админу вордпресс не нужен этот функционал, потому что никаких разработок не ведется
- Немного съедает скорость загрузки сайта
- При некоторых совпадениях возможна уязвимость для DDoS
- Чистота кода – что не используем, то стираем
- Меньше времени на индексацию, робот не будет каждый раз выкачивать эти страницы, переходить по ссылкам
Убираем json rest api с WordPress
Чтобы удрать rest api не нужно иметь знания программирования, существует несколько хороших дополнений и ручных способов.
С помощью Clearfy
ClearfyPRO умеет убирать из исходного кода Json, стоит включить соответствующую опцию в настройках.

При проверке блога на наличие тега link, его не будет.

Clearfy улучшает, ускоряет сайт еще по 50 пунктам. Является обязательным для WordPress, присутствует на всех ресурсах под моим управлением. Даю скидку в 15% на продукты от WPShop, жмите на кнопку, промо вычитается автоматически.
Clearfy со скидкой
Не рекомендую задавать страницам 404 ошибку или редирект, достаточно убрать link из раздела head.
Плагин Disable Rest Api
Существует много подключений Rest api не только, которое показывал выше. Например YoastSEO и WooCommerce делают свои шлюзы. Disable Rest Api их видит и закрывает, причем имеет фильтр тех элементов, которые хотите оставить. Так выглядит при поиске в админке.

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

Осторожно пользуйтесь этими функциями особенно при разработке под WooCommerce, школ memberlux, внешним подключением через guthub. Есть хорошие сервисы для защиты контента, действующие так же через рест айпи.
Используем PHP
Метод просто, но для новичков советую использовать плагины. Если решили править код шаблона, то советую действовать через дочернюю тему с использованием FTP соединения. Берем конфигурацию, помещаем ее вниз файла function 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' );
Способ не всегда срабатывает в WordPress, виду споров с модулями и шаблонами, поэтому проверяйте работоспособность.
В статье рассмотрели что такое json rest api, как его удалить 3 простыми методами не внося правки в ядро WordPress и других приемов кодинга.