JSON REST API в WordPress: что это и как отключить

Разработчики WP хотят сделать его максимально современным фреймворком для создания сайта. Чтобы делать на основе вордпресса крутые приложения, вытаскивать данные – в ядро WordPress встроили подключение JSON REST API, что это такое и почему для рядового администратора они не нужны, поясню дальше.

JSON REST API что это такое

В названии метода есть три составляющие, разберем за что отвечает каждая команда. Включили ее с версии 4.4 для разработчиков приложений и программ это был глоток воздуха, ускоряющий внешнюю разработку в разы.

API

Видим из названия аббревиатуру API, означающая, что добавляется возможность подключения к ресурсу с помощью специальных настроек. Точнее сказать к WP можно подключить какое–либо приложение, берущее информацию с запросами из вордпресс.

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

Rest

Rest – спецификация передачи данных API, проще говоря Rest одна из разновидностей API. Его особенность в сжатии передаваемых данных и встроенная поддержка интернет протоколов htpp-https. Особенностью является обработка GET параметров.

Json

Json – это обработчик, управляющий передачей. Это простой js скрипт, дружественный для большинства систем, распознаваемый людьми и компьютерами. Этот алгоритм совершает соединение WordPress с внешним фреймом, посредством встроенных инструкций. Также управляет, переводит данные в нужный язык для разных программ и может их связывать друг с другом.

Почему нужно отключить json rest api

Выделю четыре причины для отключения инструкций json в WordPress:

  1. 95% администраторов данный функционал не нужен, они про него не знают
  2. Возможна более медленная работа, рекомендую совместно убрать загрузку emoji
  3. Появление уязвимости для DDoS атак
  4. Ненужное подключение с ссылкой в head на страницу с индексируемым содержимым, то есть в шапке появляется ссылка на внутреннюю автоматическую страницу, которая благополучно сканируется ПС. Так они выглядят визуально:
reast api в коде
Рест апи на странице

Если вы или ваш личный разработчик пользуется данной функцией, то не выключайте.

Как убрать json rest api

Чтобы убрать тег link с подключением wp-json, использую два метода: с помощью плагина и кодом.

Плагин Clearfy PRO

Наши специалисты в Clearfy PRO учли особенность WordPress и включили пункт по удалению. Переходим в раздел КОД, отмечаем в зеленую зону соответствующий переключатель. Для всех читателей WPCourses скидка 15%.

Страница плагина

Включение настройки отключения в clearfy
Настройка

После деактивации ссылка с тегом link исчезнут из раздела head.

Есть еще плагин Disable REST API, но работающий не со всеми темами. Испытывал на нескольких шаблонах, бывало не срабатывал. Но имеет настройку для страниц и таксономий с архивами где можно выводить rest и json. Для лучшего понимания материала добавил авторское видео.

С помощью кода в function.php

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

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' );

Помещаем вниз файла function.php активной темы. Покажу через админку WP, но вы делаете через FTP с помощью специальной программы редактора кода. Аналогичным способом удаляются страницы вложений в вордпресс.

Отключаем rest json api с помощью функций и хуков в WordPress
Вставка функций в function

Результат работы будет аналогичным, но если вы новичок, то лучше использовать 100% способ с помощью Ckearfy PRO. На этом статью закончил, узнали, что такое json rest api WordPress, научились его удалять из исходного кода как ненужное дополнение.

Пожалуйста, оцените материал:

Давно занимаюсь и разрабатываю сайты на Wordpress. Считаю что лучшего решения для ведения бизнеса не найти, поэтому считаю долгом делиться информацией с остальными.
Получай полезные материалы удобным способом!
Добавить комментарий