RSS лента WordPress.RSS лента встроена в движок сайта по умолчанию, и служит для создания лент новостей. Таким образом, можно подписываться на сайты и читать свежие статьи. На эту теме я уже писал пару статей, можете ознакомиться:
RSS лента новостей, может приносить не только пользу владельцам сайтов, но и вред. Например, через RSS может происходить кража контента. Для этих целей существуют специальные программы (скрипты), так называемые парсинги.
[lazy_load_box effect=»slidefromleft» speed=»1900″ delay=»5″][/lazy_load_box]
Их существует множество разновидностей, и найти такие скрипты в Интернете достаточно просто.
Вот ссылки, по которым можно получить доступ к RSS ленте на сайте:
site.ru/feed (RSS 2.0)
site.ru/feed/rdf (RDF/RSS 1.0)
site.ru/feed/atom (Atom format)
site.ru/wp-rss2.php (RSS 2.0 format)
site.ru/wp-rdf.php (RDF/RSS 1.0 format)
site.ru/wp-atom.php (Atom format)
site.ru/?feed=rss2 (RSS 2.0 format)
site.ru/?feed=rdf (RDF/RSS 1.0 format)
site.ru/?feed=atom (Atom format)
Но некоторые ссылки могут и не работать, в зависимости от настроек на Вашем сайте.
Плагина Disable Feeds
Отключить новостную ленту, можно с помощью плагина Disable Feeds. Он позволяет отключить RSS, Atom и RDF каналы. Но можно установить и специальный код в файл functions.php, который находится в теме сайта.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
/* Запрет на ленту RSS по ссылке */ function fb_disable_feed() { wp_die( __('Лента недоступна, пожалуйста, посетите нашу <a href="'. get_bloginfo('url') .'">главную страницу</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); add_action('do_feed_rss2_comments', 'fb_disable_feed', 1); add_action('do_feed_atom_comments', 'fb_disable_feed', 1); if ( ! isset( $content_width ) ) { $content_width = 660; } |
Теперь, если перейти по ссылке ваш-сайт.ru/feed, будет появляться предупреждающее сообщение:
[lazy_load_box effect=»slidefromleft» speed=»1900″ delay=»5″]
На одном из форумов нашел комментарий на вопрос одного пользователя: из RSS парсится не сам текст, а лишь ссылки на новые публикации. Робот переходит по этим ссылкам, и копирует уже текст со страниц сайта.
На моем блоге этот код почему-то не работает. Попробовал установить его на другой сайт, и там проблем нет. Но, если и у Вас этот код на сайте тоже не срабатывает, тогда посмотрите, чтобы в файле robots.txt была прописана директива Disallow: /feed, которая запрещает индексацию ленты.
Чтобы посмотреть содержимое файла robots.txt, введите в адресной строке ваш-сайт.ru/robots.txt
Как добавить миниатюры в RSS WordPress
Новостная лента будет гораздо привлекательней, если в нее добавить миниатюры. Сделать это можно с помощью плагина Auto Post Thumbnail, или добавлением кода в файл functions.php
1 2 3 4 5 6 7 8 9 10 |
function insertThumbnailRSS($content) { global $post; if ( has_post_thumbnail( $post->ID ) ){ get_the_post_thumbnail(array(150,100)); $content = '<div style="float: left; margin: 0px 10px 5px 0px;">'. get_the_post_thumbnail( $post->ID, 'thumbnail' ) . '</div>' . $content; } return $content; } add_filter('the_excerpt_rss', 'insertThumbnailRSS'); add_filter('the_content_feed', 'insertThumbnailRSS'); |
Не забывайте проверять сайт на валидность, после его редактирования. Далее я опишу некоторые полезности, которые можно применить к RSS ленте.
Оптимизация RSS ленты для сайта WordPress
1. Для того чтобы получить в RSS доступ к отдельной рубрике, нужно в адресной строке прописать приблизительно так: домен/рубрика/feed
2. Как читать RSS ленту? Есть множество способов для чтения новостных лент. Можно воспользоваться специальными программами, например, FeedReader, или плагинами. Для браузера Google Chrome есть расширение RSS Feed Reader, с помощью которого можно читать новости сайтов.
3. Чтобы получать записи RSS по отдельным меткам сайта, нужно в адресе эти метки указать , например, так, site.ru/tag/wordpress/feed. Здесь, как Вы, наверное, догадались, указана метка «wordpress». Можно добавлять и несколько меток сразу, и для этого их нужно перечислять через запятую, без пробелов: https://dvpress.ru/tag/wordpress,Postpr,Firebug/feed
4. Для того чтобы получать записи отдельного автора на сайте, нужно использовать приблизительно такую ссылку. .
5. Некоторые рубрики из RSS можно исключить, если вставить в файл темы functions.php код ниже
1 2 3 4 5 6 7 8 |
function ac_exclude_from_rss($query) { $cats_to_exclude = array( 64, 16); //перечисляем через запятую id рубрик, материалы которых нужно исключить из RSS if ($query->is_feed && !$query->is_category($cats_to_exclude) ) { set_query_var('category__not_in', $cats_to_exclude); } return $query; } add_filter('pre_get_posts','ac_exclude_from_rss'); |
Во второй строке нужно прописать ID рубрик через запятую. Узнать ID, можно следующим образом: если в админке сайта подвести курсор мыши на рубрику, то в низу браузера, можно посмотреть ID этой рубрики. Приблизительно это будет выглядеть: …ID=376…