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:
- 95% администраторов данный функционал не нужен, они про него не знают
- Возможна более медленная работа, рекомендую совместно убрать загрузку emoji
- Появление уязвимости для DDoS атак
- Ненужное подключение с ссылкой в head на страницу с индексируемым содержимым, то есть в шапке появляется ссылка на внутреннюю автоматическую страницу, которая благополучно сканируется ПС. Так они выглядят визуально:
Если вы или ваш личный разработчик пользуется данной функцией, то не выключайте.
Как убрать json rest api
Чтобы убрать тег link с подключением wp-json, использую два метода: с помощью плагина и кодом.
Плагин Clearfy PRO
Наши специалисты в Clearfy PRO учли особенность WordPress и включили пункт по удалению. Переходим в раздел КОД, отмечаем в зеленую зону соответствующий переключатель. Для всех читателей WPCourses скидка 15%.
Страница плагина
После деактивации ссылка с тегом 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 с помощью специальной программы редактора кода. Аналогичным способом удаляются страницы вложений в вордпресс.
Результат работы будет аналогичным, но если вы новичок, то лучше использовать 100% способ с помощью Ckearfy PRO. На этом статью закончил, узнали, что такое json rest api WordPress, научились его удалять из исходного кода как ненужное дополнение.
Пожалуйста, оцените материал:
Yoast SEO также умеет отключать Rest API