Я не могу указать на большое количество причин, по которым вы можете задуматься над тем, чтобы удалить свои фиды, однако с одной из таких причин я недавно столкнулся при обслуживании клиентского сайта. Клиент попросил меня, чтобы я создал приватный WordPress сайт, доступный только для платных участников. С помощью программного обеспечения Amember я сделал жизнеспособный сайт, однако, чтобы в действительности скрыть весь контент от посторонних людей, мне пришлось отключить RSS каналы, поскольку через них любой человек может получить весь контент.
Как я это сделал? Очень просто: я написал отдельную функцию, которая скрывала бы все RSS-фиды. Эта функция учитывает различные версии каналов, которые поддерживаются в WordPress: RSS, RDF и Atom. Таким образом, все, что вы должны сделать, это добавить в файл functions.php следующий фрагмент кода (а еще лучше — создать отдельный функциональный плагин):
function disable_all_feeds() { wp_die( __('Sorry, our content is not available by RSS. Please head over to <a href="'. get_bloginfo('url') .'">our site</a>') ); } add_action('do_feed', 'disable_all_feeds', 1); add_action('do_feed_rdf', 'disable_all_feeds', 1); add_action('do_feed_rss', 'disable_all_feeds', 1); add_action('do_feed_rss2', 'disable_all_feeds', 1); add_action('do_feed_atom', 'disable_all_feeds', 1);
http://www.doitwithwp.com/completely-remove-rss-feeds-in-wordpress/
О! Спасибо. Утащу-ка я в копилку. На сегодня жадность успокоена. ;)
Спасибо, может пригодиться. Меня как-то интересовал вопрос, как это сделать, да то ли ленивый был, то ли невнимательный. Скорее все синхронно было, а тут все красиво..
Рад, что помогло! Может, заодно и подскажешь, для каких еще целей сия функция может быть полезна? Чтобы контент не перли? Его и так могут спереть при особом желании..
Именно для этого я и искал подобное. Но вот подобного решения не видел, все извраты через ковыряние кода движка, а вот через заглушки не нашел тогда. Я у себя тестировал задержку отправки в фид нового поста, это на случай автоматического парсинга ленты врагами. Функция на столько же строк. Смысл — заинтересованные поисковики успевают все захавать. Ее потом и оставил.
Для чего еще? А просто чтоб не лезли, а чтоб нагрузку на хостинг снижать, да мало ли.. Я вот не очень люблю, к примеру, чтоб информация расходилась путями, которые я не контролирую.
А так видишь, как удачно — бац, и такое лекарство для моих тараканов. ;) Пригодится может, потому и спасибо. Кстати, чтоб не плодить сущности, и за предыдeщий пост — также сенкс. Оно мне не надо, но информация полезная. И на каждом шагу не валяется. А так как, придти и сказать "спасибо, может пригодиться" и отвалить, на мой взгляд не самое комильфо, то все же скажу спасибо с оказией. ;)
Еще не мешало бы удалить ссылки на фиды в head:
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
Не работает в моей теме(
Я успешно удалил фиды с помощью этого простого плагина.
http://wordpress.org/plugins/disable-feeds/
Для чего вообще удалять фиды? Ну вот что написано в описании плагина: «It is useful if you use WordPress purely as a content management system (and not for blogging).» Т.е. сайту фиды не нужны. Ну и чтоб не облегчать жизнь разным умельцам, хотя они так растащат, но всё же.
Очень полезная статья.Пригодилось так как мой фид стал глючить.Гуглил гуглил а ответ нашел только на вашем сайте!
Здравствуйте.Я сделал так как указано, теперь хотел бы узнать, в гугл сопли не попадут?
Поисковые системы в любом случае получат нужный контент, если он не был заблокирован через Noindex, но это все равно не гарантия того, что он не будет учитываться. Поэтому невозможно сказать, будет или нет учитываться контент. Вообще, добавление нового контента обычно отслеживается через карту сайта.
мне самое главное чтобы соплей не было. в ручную удалил из поиска все сопли жду что будет
скажите, а разве нельзя просто удалить файлы feed в файловом менеджере на хостинге, или в них что-то еще «вшито», может что-то нарушиться?
Нужно отключать сам механизм их создания и доступа к ним.