wp json oembed

wp json oembed

Wp json oembed в обновленной версии WordPress — Удаляем дубли мусорных страниц!

Здравствуйте, уважаемые друзья и гости блога!

Сегодня хочу с вами поделиться моим опытом — как удалить с сайта на WordPress противные дубли страниц, которые появились после обновления движка до версии 4.4.

Эта проблема возникла в связи с тем, что новом WordPress есть критическая ошибка, благодаря которой движок генерирует множество технических страниц в директории wp json oembed, а поисковики и рады этому, особенно Яндекс, который очень с удовольствием их индексирует.

Но это не есть хорошо, а почему и как с этим бороться я вам сейчас буду рассказывать и показывать ...

Wp json oembed — непредвиденные дубли страниц сайта по вине разработчиков WordPress!

Ну, что дорогие друзья? Приступим!

Как и все себя уважающие блоггеры, я предостерег свой сайт от появления дублей страниц, еще когда создавал robots.txt. К стати, если Вы не знаете или забыли как сделать правильный robots.txt для сайта, то посмотрите вот здесь. Но сейчас не об этом!

Так вот, сделал я правильный robots.txt для своего блога и успокоился на этом думая, что все будет хорошо. Так и было до некоторых пор, пока наш любимый WordPress не обновился до версии 4.4. Вот тут-то и началось невообразимое ...!

Как-то открываю webmasters.yandex.ru, чтобы очередной раз проверить свой блог и что я вижу?! Неимоверное множество страниц (более 1000) в директории wp-json/ и oembed/, которые Яндекс загрузил к себе и начал их индексировать. Но я же не писал столько статей! Да даже физически бы не смог за такой короткий промежуток времени!!! Откуда они взялись?

Все оказалось довольно просто! Как позже я смог выяснить, после очередного очередного обновления WordPress до версии 4.4 они (дубли страниц) и появились.

Хорошо, но что же делать с этим wp json oembed и как удалить дубли страниц с сайта?

Удаляем дубли страниц в WordPress

или

Злополучный wp json oembed

Нашел я все же выход из данной ситуации! И теперь рассказываю вам, уважаемые друзья. Для того, чтобы Вы смогли благополучно исправить ошибку разработчиков WordPress, которая привела к появлению дублей страниц на сайте.

Проверьте на всякий случай свой сайт!

Откройте вот такую страницу по адресу https://ваш_сайт.ru/wp-json/. И если Вы получите нечто подобное:

{"name":"\u0420\u0435\u0446\u0435\u043f\u0442\u044b \u0438 \u043a\u0443\u043b\u0438\u043d\u0430\u0440\u0438\u044f \u043d\u0430 \u041f\u043e\u0432\u0430\u0440\u0411\u043e\u0441\u0441.\u0440\u0443","description":"\u041b\u0443\u0447\u0448\u0438\u0435 \u043a\u0443\u043b\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0440\u0435\u0446\u0435\u043f\u0442\u044b \u0434\u043b\u044f \u0412\u0430\u0441 \u043d\u0430 \u041f\u043e\u0432\u0430\u0440\u0411\u043e\u0441\u0441.\u0440\u0443!","url":"https:\/\/pribylwm.ru","home":"https:\/\/pribylwm.ru","namespaces":["oembed\/1.0"],"authentication":[],"routes":{"\/":{"namespace":"","methods":["GET"],"endpoints":[{"methods":["GET"],"args":{"context":{"required":false,"default":"view"}}}],"_links":{"self":"https:\/\/pribylwm.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":"https:\/\/pribylwm.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":"https:\/\/pribylwm.ru\/wp-json\/oembed\/1.0\/embed"}}},"_links":{"help":[{"href":"https:\/\/v2.wp-api.org\/"}]}}

То Вы являетесь так же жертвой данной ситуации, о которой я пишу!

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

Чтобы убрать дубли страниц сгенерированные wp json oembed, вам нужно всего лишь вот этот код:

// Отключаем сам 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 вашей темы оформления сайта. Если последним идет ?>, то вставлять код нужно перед ним или где заканчивается какая-нибудь функция (после точки с запятой).

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

И после данных действий, проведенных с файлом functions.php ваш сайт начнет приобретать свою былую силу, а весь загруженный ранее мусор (в виде дублей страниц) начнет постепенно уходить с него!

Ну вот Вы теперь знаете, как удалить дубли wp json oembed в обновленной версии WordPress 4.4 и выше.

Если вам понравился материал пожалуйста сделайте следующее…

  1. Поставьте «лайк».
  1. Сделайте ретвит.
  1. Поделитесь этим постом с друзьями в социальных сетях.
  1. И конечно же, оставьте свой комментарий ниже 🙂

Спасибо за внимание!

Всегда ваш Валерий Бородин

Подписаться на обновление блога

Введите свой e-mail адрес: