Карта сайта для гугла

O9
На сайте с 12.06.2010
Offline
79
569

Добрый вечер, очень нужен совет как сделать на сайте карту сайта для гугл, дело в том что на моем сайте больше 50 000 тысяч страниц, страницы постоянно прибавляются и обновляются, а вот как сделать карту для такого объема да еще и как говорится "живую" чтобы карта сайта постоянно обновлялась я нигде не нашел.

Не знаешь где продать свой сайт дорого? Тогда тебе сюда Биржа сайтов Telderi (http://www.telderi.ru/?pid=0aaaf1) Заказать текст для своего сайта можно здесь Etxt биржа контента (http://www.etxt.ru/toissobl.html)
sergey885
На сайте с 19.08.2002
Offline
248
#1

разбить на несколько карт

интернет-маркетинг. стратегии развития веб-проектов.
Y1
На сайте с 14.02.2010
Offline
65
#2

разбить на множество карт, например по 5000 ссылок каждую, каждые сутки (можно чаще) запускать по крону скрипт, который будет формировать обновленные карты. Тем самым уменьшите нагрузку на сервер и Гугл будет получать всегда свежие карты.

O9
На сайте с 12.06.2010
Offline
79
#3

а что за скрипт, можно поподробнее? :)

Y1
На сайте с 14.02.2010
Offline
65
#4

oleg9111, это уже персональное, я сам писал под свой проект. Так что программист Вам в помощь. Суть высказана выше. Хотя у меня хорошее настроение, выложу как сделал у себя:


//параметры
$host_sitemap = 'site.com';
$limit_sitemap = 5000; //УРЛ-ов в одном файле sitemap
$dir_sitemaps = "$DOCUMENT_ROOT/sitemaps/";

//получаем массив всех новостей и дробим порциями по 5000
$i=0;
$it=0;
$maps = Array();
$query_items = mysql_query("SELECT * FROM news ORDER BY date DESC");
while($row_items = mysql_fetch_array($query_items)){
if(!($i % $limit_sitemap)) ++$it;
++$i;
$maps[$it][] = $row_items[href];
}

//удаляем сайтмапы перед обновлением
if(count($maps)){
$dir = opendir($dir_sitemaps);
while($file = readdir($dir)){
if(preg_match("/^sitemap(\d+)\.xml$/i",$file)){
unlink("$dir_sitemaps$file");
}
}

//формируем сайтмапы

foreach ($maps as $id_map => $val_map){
$xml[$id_map] = new DOMDocument("1.0", "UTF-8");
$xml_urlset[$id_map] = $xml[$id_map]->createElement("urlset");
$xml_urlset[$id_map]->setAttribute("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
foreach ($val_map as $id_item => $val_item){
$xml_url[$id_map] = $xml[$id_map]->createElement("url");
$xml_loc[$id_map] = $xml[$id_map]->createElement("loc", "http://$host_sitemap/$val_item");
$xml_url[$id_map]->appendChild($xml_loc[$id_map]);
$xml_urlset[$id_map]->appendChild($xml_url[$id_map]);
}
$xml[$id_map]->appendChild($xml_urlset[$id_map]);
$fp[$id_map] = fopen($dir_sitemaps.'sitemap'.$id_map.'.xml', 'w');
fwrite($fp[$id_map], $xml[$id_map]->saveXML());
fclose($fp[$id_map]);
}
}

В итогде получим файлы sitemap1.xml, sitemap2.xml и т.д.

Ну думаю главный индексный файл сайтмап догадаетесь как сделать, там скрипт на пару строчек.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий