Публикуем записи в rss с задержкой

Пока я еще держусь в конкурсе “Продвижение неизбежно” в ТОП-10, я расскажу как публиковать записи в RSS с задержкой. Зачем это нужно, спросите вы?

  1. Случалось ли у вас, что вы публиковали пост, но с ошибкой? Или публиковали пост, который еще не готов к публикации? Если трансляция записей с сайта в RSS происходит сразу – всё, вам уже пишут комментарии по поводу ваших ошибокУлыбка
  2. Записи из вашего RSS транслируются в ЖЖ или еще куда-то? Если записи в вашем блог сразу появляются в RSS, всегда есть вероятность, что поисковые системы посчитают запись в ЖЖ или в какой какой нибудь системе публикации новостей первоисточником, а ваш блог – сборником копипаста, особенно это актуально для молодых блогов.
  3. Хотите стимулировать читателей почаще заходить на блог, а не читать его по RSS? Публикуйте записи в RSS с задержкой.

Если посмотреть на возможности mysql, там есть такая функция как timestampdiff(). Дополним вывод постов этой функцией, не забываем вставить проверку is_feed() указывающую на то, что мы изменяем именно вывод RSS.

Этот код добавленный в functions.php вашей темы выведет посты в RSS через 5 минут после их публикации:

function publish_later_on_feed($where) {
 global $wpdb;
 if ( is_feed() ) {
 // timestamp in WP-format
 $now = gmdate('Y-m-d H:i:s');
 // value for wait; + device
 $wait = '5'; // integer
 // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
 $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
 // add SQL-sytax to default $where
 $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
 }
 return $where;
}
add_filter('posts_where', 'publish_later_on_feed');

Время задержки можно настроить по собственному желанию.

При поддержке:

Финансисто – всё о финансах

Интересная статья про зеркало вконтакте

12 комментариев к статье Публикуем записи в rss с задержкой

Avatar

UT3Player

1st Июль 2011 в 17:01

Полезная функция )

Avatar

Светлана

25th Июль 2011 в 16:32

Даже не думала, что так можно настроить ленту, у меня были реальные проблемы с тем, что материалы индексируются в ленте раньше, чем на самом блоге. Кстати, а к вам на сайт я пришла в поисках нового шаблона для блога, но нашла, ко всему прочему, это техническое решение для исправления работы RSS.

Avatar

Ирина

6th Август 2011 в 14:11

Спасибо за инфо. Открыла для себя Ваш сайт. Хорошие статьи, советы по существу.

Avatar

Алексей

16th Сентябрь 2011 в 21:46

А можно настроить задержку и, например, отдавать в рсс не все статьи? Скажем каждую вторую, или пятую….

Avatar

Wordpresser

16th Сентябрь 2011 в 21:51

Каждую вторую — пятую сложнее, можно отдавать в rss не все рубрики, это делается при помощи плагина Advanced Exclude

Avatar

Димка

30th Сентябрь 2011 в 07:49

а скажи можно ли вообще запретить определенной записи «попадание» в рсс?
публикую публикую, а некоторые статьи не хочу чтоб в фид попадали….

Avatar

Andrey

28th Октябрь 2011 в 09:36

Очень полезная функция для блога. Спасибо.

Avatar

Максим

14th Декабрь 2011 в 01:10

Большое спасибо! Очень полезная информация, очень помогла!

Avatar

Semm

17th Январь 2012 в 12:33

Подскажите, как сделать задержку в 5 дней, а то роботы не спешат индексировать и контент просто разворовывают.

Avatar

Алена

14th Февраль 2012 в 14:07

Замечательная статья, очень интересно и познавательно. Подобные вопросы в последнее время частенько встречаются, обсуждаются на женских форумах. На сегодняшний день эта тема более чем актуальна. Огромное спасибо автору за информацию. Желаю вам продвижения и успехов!

Avatar

Александр

8th Июнь 2012 в 18:40

Спасибо, очень помогли.

Avatar

Regbnm

5th Май 2013 в 22:53

Я столкнулся с одной проблемой. В сайт баре вывожу rss-рассылку с другого сайта. Но хотелось бы уменьшить количество выводимых знаков. К сожалению стандартными методами это не сделать. Может изменить какие-то значения в настройках сайта?

Оставить комментарий к "Публикуем записи в rss с задержкой"

Наверх