RSS лента и ее канал необходимы для уведомления ваших пользователей (подписчиков) о том, что вы создали новую публикацию. Если она кого-то заинтересует, то ваш подписчик перейдет по ссылке на эту публикацию.
С одной стороны RSS ленты могут повышать посещаемость вашего ресурса. И не даром, поэтому на многих блогах есть кнопочка RSS подписка. Но с другой, очень часто информацию из RSS лент воруют другие блоги с помощью специальных скриптов. Согласитесь не очень приятно. Для решения этой проблемы рассмотрим методы, которые помогут раз и навсегда удалить RSS ленту из WordPress.
Проверить, как работает лента вы можете перейдя по ссылке: вашдомен.ру/feed/ Там вы уведите xml код вашей RSS, который по умолчанию отображает последние 10 записей. Если удастся удалить RSS, то здесь ничего не должно отображаться.
1. Через админку
Для этого в админке WordPress, зайдите в Настройки -> Чтение -> В RSS-лентах отображать последние - и здесь поставьте 1. К сожалению, если поставить 0, то не сработает (у кого как). Теперь проверьте: вашдомен.ру/feed/ - если число записей стало равным 1, то можно остановиться на этом варианте. Если не сработало или вас не устраивает, то читаем далее.
2. С помощью плагина
Просто установите плагин Disable RSS и активируйте его. Не забудьте проверить, как он справился с работой.
3. Через стандартный код
Лично мне не помог, но опубликую его. Разместить код нужно в файле /wp-content/themes/название-вашей-темы/functions.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' );
4. Через код в feed.php
Самый рабочий способ по удалению RSS сделал самостоятельно. Для этого откройте файл /wp-includes/feed.php и в первой строке разместите следующий код:
<?php if($_SERVER['REQUEST_URI'] == '/feed/') {die();} ?>
Данный код прекращает построение RSS ленты в WordPress, только в том случае если пользователь или скрипт зашел на страницу вашдомен.ру/feed/
В заключении останется поправить robots.txt для поисковиков, которые все еще будут ссылаться по ссылке /feed/. Этот пункт необходимо сделать в том случае, если robots.txt у вас существует. Откройте в корне сайта robots.txt и впишите строку:
User-agent: *
Disallow: /feed/
Тем самым мы запретим индексацию удаленной RSS ленты.