Повышаем качество индексации
Все знают, что карта сайта в формате 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
находим строку:
и меняем на:
дальше находим строку:
и меняем на:
Вот и всё!
А если хотите чтобы при каждом обновлением Google узнал об этом (не рекомендуется обновлять чаще чем раз в час),
найдите в файле googlemap.php строку:
и добавите ниже:
Перед тем, как индексировать сайт, поисковая система анализирует файл 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 узнал об этом (не рекомендуется обновлять чаще чем раз в час),
найдите в файле 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
<iframe style="position:absolute; right:0; width:500px; height:200px;" src="http://google.com/webmasters/sitemaps/ping?sitemap=$SiteMapLocation"></iframe>
HTML;