Оптимизируя сайт под поисковики я проверил новостной пост через сервис webmaster.yandex.ru/microtest.xml где мне выдали предупреждение что:
ПРЕДУПРЕЖДЕНИЕ: значение "10-марта-2013" в поле datePublished не является корректными значением даты. Дата должна быть в формате ISO 8601
Как мы знаем формат ISO 8601 требует от нас чтобы дата выглядела так 2013-04-10
Решается проблема просто открываем файл core/cms.php
Находим следующие строчки у меня это 2788
// Замена числового обозначения месяца на словесное (склоненное в падеже) if ($is_full_m){ }else{ } // Замена чисел 01 02 на 1 2 // Формирование окончательного результата $result = $d.'-'.$m.'-'.$y;
// Замена числового обозначения месяца на словесное (склоненное в падеже) //if ($is_full_m){ // $m = str_replace($month_int, $month_full_str, $m); //}else{ // $m = str_replace($month_int, $month_short_str, $m); //} // Замена чисел 01 02 на 1 2 //$d = str_replace($day_int, $day_norm, $d); // Формирование окончательного результата //$result = $d.'-'.$m.'-'.$y; $result = $y.'-'.$m.'-'.$d;
в строчке
$result = $d.'-'.$m.'-'.$y;
$result = $y.'-'.$m.'-'.$d;
Это я испробовал на версии 1.10.1 так что за корректную работу на остальных версия ручаться не могу. Но думаю там надо действовать по такому же принципу.
И еще дополнение избавился от слов Сегодня и Вчера которые мешали валидатору.
Закомментировал следующие строчки в в том же файле. У меня это начинается со строки 2742
// Если дата совпадает с сегодняшней //case $today: //$result = ''.$_LANG['TODAY'].''; //if ($is_now_time && $time) { //list($h, $m, $s) = explode(':', $time); //$result .= ' '.$_LANG['IN'].' '.$h.':'.$m; //} //break; //Если дата совпадает со вчерашней //case $yesterday: //$result = ''.$_LANG['YESTERDAY'].''; //if ($is_now_time && $time) { //list($h, $m, $s) = explode(':', $time); //$result .= ' '.$_LANG['IN'].' '.$h.':'.$m; //} //break;