minimalistic_clock_wallpaper_by_italankin-d8hclpd

Как задержать посты от появления в RSS фидах WordPress

Задержка постов в RSS фиде может спасти вас от случайных публикаций и помочь справиться со скраперами контента. В этой статье вы узнаете как задержать посты от их появления в RSS фиде.

Зачем задерживать посты в RSS фиде?

Иногда в ваш пост может закрасться грамматическая или смысловая ошибка и это сразу же увидят ваши подписчики в RSS.

WordPress

Создав задержку между появлением вашего контента на сайте и его появлением в RSS фиде, вы можете выиграть немного времени, чтобы найти незамеченную ошибку и исправить ее. Также RSS фиды популярны среди сайтов, ворующих контент. Если у вашего ресурса невысокий авторитет в глазах поисковиков, то сайты-грабители могут выбить ваше место в поисковой выдаче. Сделав паузу между появлением вашего поста в фиде, вы даете поисковикам достаточно времени, чтобы проиндексировать ваш контент.

Задержка постов в фиде

Вам надо добавить следующий код в файл functions.php вашего шаблона.

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 = '10'; // integer

		// https://dev.mysql.com/doc/refman/8.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');

Этот код проверят запрос WordPress фида. После этого он устанавливает текущее время и время, которое вы хотите использовать в качестве задержки между оригинальной датой поста и текущим временем.

После этого там добавляется временную разницу. В этом коде мы использовали 10 минут в качестве времени задержки. Чувствуйте себя свободно, чтобы поменять это число на любое кол-во минут какое хотите. Например, на 60 или 120.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий