Все знают, что карта сайта в формате XML играет важный роль для быстрой индексации всех страниц ресурса и к счастью, в DataLife есть прекрасный модуль, который создает и обновляет такую карту.
Перед тем, как индексировать сайт, поисковая система анализирует файл Sitemap и XML теги которые используются:
loc - URL-адрес
priority - приоритет страницы
lastmod - дата последнего обновления страницы
changefreq – периодичность изменения страницы
Если приоритет
(priority) одинаковый для всех страниц, то робот будет анализировать последние обновленные страницы
(lastmod).Проблема в том, что иногда нужно редактировать новости и когда обновляем карту сайта через Панель Управления, тег
lastmod не изменяет значение, но остается тот же самый. То есть если 23 мая 2009 Вы добавили новость и потом редактировали её 5 августа 2009, поисковый робот может узнать об этом и через месяц, а может и больше. Так как в файле sitemap.xml директива
lastmod будет иметь значенье 2009-05-23 (23 мая 2009) вместо 2009-08-05.
Для того чтобы модуль
Google Sitemap указал дату последнего изменению, рекомендую менять пару строчек в файле
/engine/classes/google.class.phpНаходим строку:SELECT id, date, alt_name, category, flag FROM
И меняем на:SELECT id, date, alt_name, category, flag, editdate FROM
Дальше находим строку:$row['date'] = strtotime( $row['date'] );
И меняем на:if ($row['editdate'] !=""){
$row['date'] = strtotime(date("Y-m-d", $row['editdate']));
}
else {
$row['date'] = strtotime($row['date']);
}
Вот и всё!
А если хотите чтобы при каждом обновлением
Google узнал об этом
(не рекомендуется обновлять чаще чем раз в час),
Найдите в файле /engine/inc/googlemap.php строку:if ($_POST['action'] == "create") {
И добавите ниже:if ($config['allow_alt_url'] == "yes"){
$SiteMapLocation = $config['http_home_url']."sitemap.xml";}
else {
$SiteMapLocation = $config['http_home_url']."uploads/sitemap.xml";
}
echo <<
HTML;