Поставил себе на WordPress плагин Google XML Sitemaps и с разочарованием обнаружил что он при генерации дат обновления страниц не учитывает комментарии. Вот, например, есть запись https://slogpost.ru/2011/12/besplatnyj-internet-banking/, если смотреть в админке, то последняя редакция была 2012-03-29 12:34 мск:
в карте сайта соответственно видим 2012-03-29 08:33 GMT, что более менее соответствует действительности:
однако дата последнего комментария к этой записи не учитывается:
Чтобы с комментариями всё было нормально нужно в файле wp-content/plugins/google-sitemap-generator/sitemap-core.php найти строку “//Add it” (номер строки в районе 1870) и добавить вот такой несложный код:
$lastModifiedDate = $this->GetTimestampFromMySql(($post->post_modified_gmt && $post->post_modified_gmt!='0000-00-00 00:00:00'?$post->post_modified_gmt:$post->post_date_gmt)); $latestComment = get_comments('post_id='. $post->ID .'&number=1'); if(count($latestComment)) { $latestCommentDate = $this->GetTimestampFromMySql($latestComment[0]->comment_date_gmt); if($latestCommentDate > $lastModifiedDate) { $lastModifiedDate = $latestCommentDate; } } //Add it //$this->AddUrl($permalink,$this->GetTimestampFromMySql(($post->post_modified_gmt && $post->post_modified_gmt!='0000-00-00 00:00:00'?$post->post_modified_gmt:$post->post_date_gmt)),($isPage?$cf_pages:$cf_posts),$prio); $this->AddUrl($permalink, $lastModifiedDate, ($isPage?$cf_pages:$cf_posts),$prio);
Теперь получается, что дата обновления страницы в карте сайта 2012-09-03 20:50 GMT – это как раз и есть 4 сентября 2012 мск.
При публикации новой записи карта сайта автоматически не перестраивается, возможно, это связано с тем, что плагин предназначен для использования на больших сайтах.
Спасибо большое! Долго искал решение по учтению комментариев для последней модификации страницы в sitemap. Только не совсем понял насчет того, что после публикации карта не перестраивается.
Комментарий by DeZenden — 26 января 2013 @ 8:45
Карту надо всё время вручную перестраивать, что достаточно неудобно.
Комментарий by admin — 26 января 2013 @ 11:15