[Помогите] Как отключить rss?

Тема в разделе "Wordpress", создана пользователем itpeople, 10 фев 2010.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. itpeople

    itpeople

    Регистр.:
    6 дек 2007
    Сообщения:
    546
    Симпатии:
    62
    Подскажите, как полностью отключить rss или выводить туда только одну определенную категорию?
    Можно ли его через htaccess закрыть для всех кроме поисковиков?
     
  2. xbreaker

    xbreaker Вверх ногами

    Регистр.:
    15 авг 2007
    Сообщения:
    245
    Симпатии:
    52
    вывод определенной категории в RSS, например 5ой, добавлять в functions.php в каталоге темы
    PHP:
    function myFilter($query) {
        if (
    $query->is_feed) {
            
    $query->set('cat','5');
        }
        return 
    $query;
    }
    add_filter('pre_get_posts','myFilter');
    а полностью вырубается RSS только вандальным методом :)
    1. Удаляем из папки в которой установлен блог следующие файлы:
    wp-feed.php
    wp-atom.php
    wp-rdf.php
    wp-rss.php
    wp-rss2.php
    wp-commentsrss2.php
    2. Из папки wp-includes удаляем следующие файлы:
    feed-atom.php
    feed-atom-comments.php
    feed-rdf.php
    feed-rss.php
    feed-rss2.php
    feed-rss2-comments.php
    Файл feed.php из папки wp-includes удалять не рекомендуется, т.к. он якобы содержит еще какие-то функции касающиеся не только фидов.
    3. Удаляем из блога все ссылки на RSS и прочие фиды.

    а от поисковиков я наоборот его закрываю )
     
  3. BadMotherFucker

    BadMotherFucker Модератор (Core Team)

    Регистр.:
    13 ноя 2009
    Сообщения:
    786
    Симпатии:
    570
    Ну зачем же сразу файлы удалять...
    В function.php вашей темы добавляете следующий код:

    PHP:
    function fb_disable_feed() {
    wp_die__('No feed available,please visit our <a href="'get_bloginfo('url') .'">homepage</a>!') );
    }

    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);
    Теперь при попытке просмотра rss фида, пользователи увидят сообщение - "No feed available,please visit our homepage!"

    Для ленивых есть плагин под названием Disable RSS ;-)
     
    itpeople и Alex нравится это.
  4. itpeople

    itpeople

    Регистр.:
    6 дек 2007
    Сообщения:
    546
    Симпатии:
    62
    Закрыл таким образом, через функции. Через неделю пришло письмо от яндекс вебмастера:

    Число ошибок, возникших при обходе сайта site.ru роботом Яндекса, увеличилось более чем на 50%.
    Подробности вы можете узнать на странице


    В панели:
    HTTP-статус: Внутренняя ошибка сервера (500)

    И естественно куча страниц типа
    site.ru/category/stroika/feed/
    site.ru/article1/feed/
    site.ru/article2/feed/
    site.ru/article3/feed/

    Как такое побороть?
     
  5. xbreaker

    xbreaker Вверх ногами

    Регистр.:
    15 авг 2007
    Сообщения:
    245
    Симпатии:
    52
    в robots.txt добавь
    Код:
    User-agent: *
    Disallow: /feed/
     
  6. b2farm

    b2farm

    Регистр.:
    17 фев 2008
    Сообщения:
    498
    Симпатии:
    197
    Перестаньте вандалить )
    Плагин Disable RSS
    http://wordpress.org/extend/plugins/disable-rss/
     
    dzedx нравится это.
  7. grin-vlad

    grin-vlad Писатель

    Регистр.:
    18 апр 2010
    Сообщения:
    6
    Симпатии:
    0
    что то я не понял.....
     
  8. dfcbkbq1

    dfcbkbq1 Постоялец

    Регистр.:
    4 май 2009
    Сообщения:
    88
    Симпатии:
    9
    Есть до боли простой способ отключения показа постов в RSS WP
    Настройки чтения -> В RSS-лентах отображать последние -> -1 (минус один) записей. И все.
    Рсс лента будет доступна, но постов в ней не будет.
     
Статус темы:
Закрыта.