Обновление контента сайта с помощью datePublished и dateModified

обновление контента сайта

Думаю, что ни для кого не секрет, что поисковые системы любят частое обновление контента сайта. Существуют даже несколько теорий, основанных на опыте вебмастеров, о том, с какой периодичностью нужно публиковать контент. Поисковые системы не имеют инструкции для периодичности и частоты публикации, Яндекс, например, открыто говорит о том, что публикации должны имеет периодичность заявленную на сайте, а обращение робота осуществляется каждые 5 минут (Яндекс Новости).

И если с публикаций всё достаточно просто: пишите и публикуйте полезный информативный контент постоянно, то что же делать со старыми материалами?

В большинстве тематик информации имеет свой период актуальности, так в теме seo моя статья о микроразметке, написанная 15 июня, была обновлена за два месяца дважды. И каждое обновление сообщало поисковым системам об актуальности информации.

Как сообщить поисковым системам, что контент обновился

Я разберу на примере блога на WordPress и предложу код, который поможет вам сообщать поисковым системам об обновлении.

За дату публикации контента в WordPress отвечает функция, которая время публикации поста в указанном формате:

<?php get_the_time() ?>

Дата обновления контента (при перезаписи материала в базе данных) выводится с помощью функции:

<?php the_modified_date() ?>

Следует отметить, что алгоритмы поисковых систем считывают информацию о датах с помощью дополнительных сведений, как даты в url или заголовках материала.

дата в заголовке материала

Статья «Авторство в Google» опубликована 22 марта 2015 года, последний комментарий 2015-07-19, Яндекс показывает дату 24 июня 2014 года, взятую из заголовка статьи.

Существует несколько эффективных способов оповестить поисковые системы о том, что контент обновился.

Sitemap.xml с выводом даты последнего комментария поста в Last modified

К сожалению данный способ оповещает поисковые системы о обновлении с периодичностью 2 — 3 недели. И если Google часто обращается к sitemap сайта, то Яндекс может узнать о изменениях в течение месяца.

Такая проблема наблюдается с плагином Google XML Sitemaps, который создаёт для каждого месяца собственный дочерний файл sitemap с момента публикации первого материала с начала месяца. Да и сам функционал плагина не позволяет выводить дату обновления с появлением комментария.

Функционал вывода даты последнего комментария в Last modified поддерживается в плагине Yoast WordPress SEO, но данная карта сайта считается невалидной для роботов Яндекс, которые отказываются обрабатывать сведения о медиа-контенте (дополнительный функционал плагина).

Остаётся либо создавать собственный sitemap.xml, либо же использовать другие инструменты.

Пинги поисковым системам

Многим из вас знаком плагин Яндекс.ПДС пингер, который отправляет роботам Яндекс информацию о обновлении контента. Такие же пинги получают роботы из rss вашего блога, если она корректно работает и участвуете в поиске по блогам Яндекс.

Свойства микроразметки datePublished и dateModified

Два свойства микрораметки, которые помогают поисковым системам узнать, когда контент обновился и был добавлен.

Указанные мной в начале статьи функции помогут вывести авторам блога на WordPress данные элементы:

Обязательное для сущностей Article, Blog и BlogPosting свойство datePublished выводится с помощью строчки, добавленной в single.php или page.php с подключенной микроразметкой:

<meta itemprop="datePublished" content="<?php get_the_time() ?>">

Свойство dateModified — дата обновления контента:

<meta itemprop="dateModified" content="<?php the_modified_date() ?>">

Обновление контента сайта с помощью даты последнего комментария

В своей микроразметке я использую хитрый трюк, с помощью которого вывожу дату обновления статьи с помощью функции:

global $post;
if( $comms = get_comments( array('post_id' => $post->ID, 'status' => 'approve' ) ) ){
$comm = array_shift( $comms );
$date = mysql2date('Y-m-d', $comm->comment_date );
echo $date;}
elseif( $pst = get_post() ){
$date = mysql2date('Y-m-d', $pst->post_date );
echo $date;}

Которая выводит дату последнего комментария (последняя дата обновления контента), если же комментариев нет, выводится дата публикации. Каждый новый комментарий сообщает поисковым системам о том, что мой контент обновился, и его следует переиндексировать.

Где обязательные аргументы:

'post_id' => $post->ID // пост, в котором опубликован комментарий
'status' => 'approve' // только одобренные (опубликованные) комментарии

С уважением,
  1. Анастасия

    Многим из вас знаком плагин Яндекс.ПДС пингер, который отправляет роботам Яндекс информацию о обновлении контента.

    Обнови, что пингер вроде больше не выпускается — Яндекс на новую систему перешел

    Ответить
  2. ddv5

    Спасибо за статью. Я этими методами ещё не пользовался.Теперь, после прочтения, внедрил в свой сайт на вордпресс. Остается ждать и наблюдать, как яндекс отреагирует на эти нововведения.

    Ответить

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *