X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

Ошибка wp-json после обновления WordPress до версии 4.4

Приклад
  • 2024-11-21
  • 6228 переглядів

  • Дизайн та розробка сайту

Доброго времени суток 🙂

Наткнулся я тут на одну неприятность, вернее меня наткнули. Один хороший человек, который интересуется СЕО и продвижением сообщил о том что у всеми нами любимой WordPress после обновления до версии 4.4 произошел не большой, все таки нет, большой проблеме.

Ошибка wp-json

Разработчики WordPress ввели новый API REST, как говорится для того, чтобы как то получать данные из сайта в виде json. Зачем, почему и как, никому не интересно, но вот результат сия нововведения, огорчил очень много владельцев блогов.

Теперь WordPress создает очень много техстраниц, которые попадают в индекс Яндекса, а это очень плохо. Как увидеть эти страницы? Очень просто, добавьте к адресу сайта - /wp-json, чтобы получилось что-то вроде - site.com/wp-json.

Если перед вами откроется страница с содержимым типа:

{"name":"\u0410\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \ и так далее

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

<link rel='https://api.w.org/' href='http://ВАШ САЙТ.com/wp-json/' />

Еще одно место, а оно главное, это панель вебмастера в Яндексе. Если Вы там зарегистрировали свой сайт то перейдите во вкладку Индексирование сайта - Структура сайта и увидите там вот такую картину.

Яндекс Ошибка wp-json

Как видите это у меня и там - 484 страницы, изначально было 670, количество уменьшается после добавления кода, о котором я напишу ниже. Как видите это количество у меня только в Загруженных, в Индекс не попала ни одна, возможно из за правильно составленного robots.txt. Все же мусор всеравно генерировался.

Что бы отключить wp-json на своем блоге WordPress, Вам понадобится код, который был найден на сайте wp-kama.ru.

Вам нужно открыть файл пользовательских функций - functions.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' );

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

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

На этом все, спасибо за внимание. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 8, в среднем: 4.5 из 5
Читайте також

Deprecated: Функція WP_Query викликана з аргументом, який вважається застарілим з версії 3.1.0! Вираз caller_get_posts застарілий. Використовуйте ignore_sticky_posts. in /var/www/vhosts/gnatkovsky.com.ua/gnatkovsky.com.ua/public/wp-includes/functions.php on line 6078