По умолчанию, как известно, WordPress добавляет в свой код ссылку на feed страницы. Вы можете увидеть эти ссылки, если посмотрите сгенерированный сайтом код. Воспользовавшись такими ссылками RSS-агрегаторы способны автоматически получать обновления сайта. Например, в яндекс-почте это делает сервис “Подписки”.
Я решил удалить feed на нескольких сайтах, поскольку:
- сайты не статейные и отдача feed никому пользы не приносит;
- по адресам страниц feed постоянно идут обращения каких-то ботов, что увеличивает нагрузку на сайт, учитывая, что на сайтах десятки тысяч страниц.
Для удаления нужно добавить в файл function.php следующий код:
function fb_disable_feed() { wp_redirect(get_option('siteurl')); } add_action('do_feed', 'fb_disable_feed', 1); add_action('do_feed_rdf', 'fb_disable_feed', 1); add_action('do_feed_rss', 'fb_disable_feed', 1); add_action('do_feed_rss2', 'fb_disable_feed', 1); add_action('do_feed_atom', 'fb_disable_feed', 1); remove_action( 'wp_head', 'feed_links_extra', 3 ); remove_action( 'wp_head', 'feed_links', 2 ); remove_action( 'wp_head', 'rsd_link' );
После таких изменений ссылки на feed исчезают из кода, сам feed становится недоступным.
Вместе в rss стоит удалить и другой “лишний” код, генерируемый WordPress. Подробнее об этом в статье.