Отключение wp-json ДаБудетСайт

КАК УБРАТЬ WP-JSON И OEMBED ИЗ НОВОГО WORDPRESS

Внимание! В новой версии Wordpress найдена критическая ошибка, которая генерирует много технических страниц, которые успешно кушает Яндекс. Если не хотите проблем с ранжированием, нужно исправить этот недостаток нового движка как можно быстрее.

как убрать json в wordpress

После очередного апдейта я зашел в панельку Я.Вебмастер и обнаружил там большое количество загруженных и исключенных страниц. При подробном просмотре обнаружился какой-то непонятный wp-json/ и в нем еще oembed/. Выглядит это следующим образом.

как убрать wp-json

Что такое wp-json? Это виртуальная директория для API REST у WordPress версии 4.4 и выше. Другими словами, это ненужный код от того, что вам не пригодится и этим никто не пользуется. Если попробовать открыть страницу по адресу http://ваш_сайт.ru/wp-json/ , то вы получите нечто подобное.

{"name":"\u041f\u0440\u043e LINUX, SOFT \u0438 HARDWARE.","description":"\u041f\u0440\u043e\u0441\u0442\u043e \u043e Linux, SEO \u0438 FOREX.",
"url":"http:\/\/prostolinux.ru","namespaces":["oembed\/1.0"],"authentication":[],"routes":{"\/":{"namespace":"","methods":["GET"],
"endpoints":[{"methods":["GET"],"args":{"context":{"required":false,"default":"view"}}}],"_links":{"self":"http:\/\/prostolinux.ru\/wp-json\/"}},
"\/oembed\/1.0":{"namespace":"oembed\/1.0","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"namespace":{"required":false,"default":"oembed\/1.0"},
"context":{"required":false,"default":"view"}}}],"_links":{"self":"http:\/\/prostolinux.ru\/wp-json\/oembed\/1.0"}},
"\/oembed\/1.0\/embed":{"namespace":"oembed\/1.0","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"url":{"required":true},
"format":{"required":false,"default":"json"},"maxwidth":{"required":false,"default":600}}}],
"_links":{"self":"http:\/\/prostolinux.ru\/wp-json\/oembed\/1.0\/embed"}}},"_links":{"help":[{"href":"http:\/\/v2.wp-api.org\/"}]}}

И это безобразие отлично сжирается Яндексом. Не буду больше расписывать, как это плохо, думаю вы уже прекрасно все поняли сами. Только добавлю, что все клиентские сайты на WordPress новой версии уже как пару дней теряют трафик волнами, а значит дело серьезное.

wp json oembed в индексе

Как отключить и избавиться от wp-json и oembed в WordPress

Мой приятель, тот который отлично разбирается в WP, любезно поделился универсальным кодом для отключения этого шлака и редиректа с подобных страниц на главную. Причем этот чудо код работает на WP с любой версией PHP без глюков. После его установки в Я.ВМ будет постепенно уходить загруженный мусор.

// Отключаем сам REST API
add_filter('rest_enabled', '__return_false');
 
// Отключаем фильтры REST API
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 );
 
// Отключаем события REST API
remove_action( 'init', 'rest_api_init' );
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );
remove_action( 'parse_request', 'rest_api_loaded' );
 
// Отключаем Embeds связанные с REST API
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' );

Вставить данный код нужно в functions.php вашей темы. Если последним идет ?>, то вставлять код нужно перед ним. Вот вам и решение данной проблемы.

Совет на будущее — всегда проверяйте панельки вебмастеров после каждого апдейта движка и выдачи ПС. Так вы сможете оперативно фиксить все новые баги и решать новые проблемы.

Если вы можете дополнить данный код, поделитесь своими мыслями в комментариях. Ну а если вы просто хороший парень, то вы поделитесь данной записью в социальных сетях, чтобы другие вебмастера узнали об этом «сюрпризе» вордпреса и пофиксили его.

0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *