Как правильно форматировать время последнего изменения (lastmod) для XML sitemaps

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

в соответствии с лучшими практиками Google <lastmod></lastmod> тег должен быть отформатирован следующим образом:

<lastmod>2011-06-27T19:34:00+01:00</lastmod>

мой вопрос касается самого форматирования времени. Я понимаю 2011-06-27T19:34:00 часть. Чего я не понимаю, так это +01:00, который я предполагаю, является +/- UTC.

это правильно предположение?

моя таблица часовых поясов выглядит так:

enter image description here

так что если сайт был основан в # 4 Афганистан правильное время будет: 2011-06-27T19:34:00+04:00

и если сайт был основан в #6 стандартное время Аляски правильное время будет: 2011-06-27T19:34:00-09:00

правильно ли мое предположение или я неправильно понимаю +01:00?

5 ответов


на lastmod тег является необязательным в sitmaps, и в большинстве случаев он игнорируется поисковыми системами, потому что веб-мастера делают ужасную работу, сохраняя его точным. В любом случае, вы можете использовать его, и формат зависит от Ваших возможностей и требований; вам фактически не нужно предоставлять смещение часового пояса, если вы не можете или не хотите, вы можете выбрать простой гггг-ММ-ДД.

С раздел определения Lastmod sitemaps.org:

дата последнего изменения файла. Эта дата должна быть в datetime консорциума W3C. Этот формат позволяет при желании опустить временную часть и использовать гггг-ММ-ДД.

Если вы хотите перейти к этой детализации и предоставить смещение часового пояса, вы правы, это UTC +/-. От datetime консорциума W3C:

время выражается в локальном времени вместе с часовым поясом смещение в часах и минутах. Смещение часового пояса " +hh: mm "указывает, что дата/время использует локальный часовой пояс, который является" HH "часами и" mm " минутами раньше UTC. Смещение часового пояса " - hh: mm "указывает, что дата/время использует локальный часовой пояс, который находится в часах" hh "и минутах" mm " за UTC.

и пример, еще из W3C:

1994-11-05T08:15:30-05:00 соответствует 5 ноября 1994 года, 8: 15: 30 утра, Восточный стандарт США Время.


правильно форматировать последнее измененное (lastmod) время для XML sitemaps в C#

var ss = DateTime.Now.ToString("yyyy-mm-ddThh:mm:ss:zzz");

в PHP, вы можете использовать :

$lastmod = date("Y-m-d\Th:m:s+00:00");

появится что-то вроде:

2018-02-14T08:02:28+00:00

PHP должен быть:

date('Y-m-d\TH:i:s+00:00');

формат lastmod поле в Google Sitemaps XML для C# следующий:

var lastmod = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz");

Он предоставляет такие значения, как <lastmod>2018-08-24T09:18:38-04:00</lastmod> что это datetime консорциума W3C.