Недавно один из наших читателей спросил, возможно ли задержать записи от появления их в RSS ленте WordPress. Задержка появления записей в ленте может помочь вам при случайной публикации материала и в борьбе с ворами контента. В сегодняшней статье мы покажем вам как задержать появление записи в RSS ленте WordPress.
Зачем задерживать публикацию ленты в WordPress?
Иногда, при написании материала, вы можете допустить грамматическую или орфографическую ошибку. Эта ошибка появится на сайте и уйдет в RSS ленту вашим подписчикам. Если у вас на сайте есть email-рассылка, тогда и эти подписчики заметят ее.
Добавляя задержку между публикацией RSS ленты и материалом на вашем сайте, у вас будет немного времени, чтобы отловить ошибку на сайте и исправить ее.
Также RSS ленты используются сайтами, ворующими контент. Они мониторят ваши материалы и копируют записи как только они публикуются.
Если у вас новый сайт с небольшим весом, то многократное копирование контента может привести к выпадению из результатов поиска.
Добавив задержку публикации статьи в ленту, вы сможете предоставить поисковым системам достаточно времени для индексации вашего сайта как первоисточника.
Давайте же посмотрим как легко добавить задержку от появления записей в RSS ленте WordPress.
Задержка публикации статей в RSS ленте WordPress
Этот способ предполагает добавление небольшого кода в WordPress.
Потребуется вставить код в файл functions.php вашей темы или в плагин для сайта WordPress:
function publish_later_on_feed($where) { global $wpdb; if ( is_feed() ) { // timestamp в WP-format $now = gmdate('Y-m-d H:i:s'); // значение задержки; + device $wait = '10'; // 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 // добавляем SQL-синтакс к дефолтному $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'publish_later_on_feed');
Этот код проверяет, запрошена ли лента WordPress. После этого он устанавливает текущее время и время, которое нужно добавить в качестве задержки между оригинальной датой записи и текущим временем.
В примере мы добавили задержку в 10 минут. Можно менять это значение на свое усмотрение. К примеру, 60 — это 1 час, а 120 — задержка в 2 часа.
Мы надеемся, что эта статья помогла вам научиться добавлять задержку появления записей в RSS ленте WordPress.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.