Про сайтмапы

Post Reply
xawm
Posts: 542
Joined: Tue Dec 25, 2012 6:37 pm

Про сайтмапы

Post by xawm »

Привет, ни для кого не секрет что на смарте делают большие сайты с кучей галер. Для того чтобы куча галер лучше индексировалась надо делать сайтмапу. Из FAQ по сайтмапе:
Q: How big can my Sitemap be?
Sitemaps should be no larger than 10MB (10,485,760 bytes) and can contain a maximum of 50,000 URLs. These limits help to ensure that your web server does not get bogged down serving very large files. You can also use gzip to compress your Sitemaps.

Выгнать даже сайт мапу на 5000 тысяч галер уже занимает какое-то время у сервера. Периодически вижу что поискових фейлится забирая Сайтмапу...

Предложение: Может давайте генерить Сайтмапу кроном? И не в xml виде, а уже гзипнутую?

Также с FAQ:
This means that if your site contains more than 50,000 URLs or your Sitemap is bigger than 10MB, you must create multiple Sitemap files and use a Sitemap index file. You should use a Sitemap index file even if you have a small site but plan on growing beyond 50,000 URLs or a file size of 10MB. A Sitemap index file can include up to 1,000 Sitemaps and must not exceed 10MB (10,485,760 bytes).

Ну то есть если лень делать то что я написал выше, мы можем создавать много сайтмап и их индексы. Но как-то для больших сайтов делать 100-200 сайтмап темплитов, не камильфо :(

Спасибо,
Высказался :)
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: Про сайтмапы

Post by admin »

А с сайтмапом может делать так же пагинацию

например sitemap.php?page=2 и тп - подходит такой вариант ?
Don't forget to run script update
SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Re: Про сайтмапы

Post by SpyCam »

xawm wrote:Предложение: Может давайте генерить Сайтмапу кроном? И не в xml виде, а уже гзипнутую?
Очень хорошое предложение, так надо и делать!

Админ, пагинация тут непоможет.

У меня 3к моделей и 1к категорий. Генерирую до 100 страниц.
Всё в один сайтмап невлезает (так как до 50к УРЛов). Надо делать один сайтмап как индекс с линками на другие сайтмапы где будет до 50к УРЛов, типа один дла моделей, другой для категорий и т.п.

С теперешним сайтмап генератором ето неработает, его открыть невозможно.
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: Про сайтмапы

Post by admin »

какой конкретно темплейт открыть невозможно ? с 50к урлов ?
а если сделать 10к ?
Don't forget to run script update
SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Re: Про сайтмапы

Post by SpyCam »

http://www.lazymike.com/scj/sitemap.php

надо же все страницы в хмл индекс добавить, а не 10к.
Вот коллега конкретный фич посоветовал
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: Про сайтмапы

Post by admin »

те все равно в 1 они не влезут.
Ок, допустим по крону нагнерили 150 файлов
чем это отличается от пагинации ?
Don't forget to run script update
xawm
Posts: 542
Joined: Tue Dec 25, 2012 6:37 pm

Re: Про сайтмапы

Post by xawm »

В общем темплит такой:

Code: Select all

<? echo '<?xml version="1.0" encoding="UTF-8"?>'  ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>http://<?=$_SERVER['HTTP_HOST']?>/</loc>
    <lastmod><? echo date("Y-m-d");?></lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
<!--default_1-5000-->
</urlset>
Проблема вот в чём с технической точки зрения:
1. Этот темплит дёргается только поисковыми системами. То есть единственный кто может положить этот темплит в кеш это Робот поисковой системы.
2. Файл этот генерируется довольно долго.
3. У Поисковиков походу есть ограничение на время скачивания сайтмапы.

Что происходит:
Когда Сайтмапа экспайрится, никто кроме поисковика её не дёргает и не ложит в кеш. И вот когда Поисковик дёргает и не дожидается пока слабый сервер сгенерит такой не простой по размеру темплит. Итого Фэйл Сайтмап скачивание.

Вроде всё понятно рассписал.
SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Re: Про сайтмапы

Post by SpyCam »

Да, именно так!

И РСС фид и сайтмап надо бы с кэша грузить, т.е. скажим раз в час генеритса ети оба фаила.
SpyCam
Posts: 736
Joined: Fri Oct 26, 2012 9:52 am

Re: Про сайтмапы

Post by SpyCam »

И я бы сказал, что надо делать несколько сайтмапов, чтоб каждый был по макс 50к линков, иначе будут проблемы.

И делать сайтмап индекс файл, в котором будут перечисленны все саитмапы.
Копия с google webmaster tools:
The XML format of a Sitemap index file is very similar to the XML format of a Sitemap file. The Sitemap index file uses the following XML tags:

<sitemapindex> - the parent tag surrounds the file.
<sitemap> - the parent tag for each Sitemap listed in the file (a child of <sitemapindex>)
<loc> - the location of the sitemap (a child of <sitemap>)
<lastmod> - the last modified date of the sitemap (optional)

See the Sitemap Protocol for more information.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
   <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
      <loc>http://www.example.com/sitemap1.xml.gz</loc>
      <lastmod>2004-10-01T18:23:17+00:00</lastmod>
   </sitemap>
   <sitemap>
      <loc>http://www.example.com/sitemap2.xml.gz</loc>
      <lastmod>2005-01-01</lastmod>
   </sitemap>
   </sitemapindex>
When you've created your Sitemap index file, save it and submit it to Google. As long as you've uploaded and saved all your Sitemaps, you don't need to submit each Sitemap individually. Just submit the Sitemap index file and you're good to go. You can submit up to 500 Sitemap index files for each site in your account.
https://support.google.com/webmasters/b ... wer=183668
https://support.google.com/webmasters/b ... swer=71453
admin
Site Admin
Posts: 37202
Joined: Wed Sep 10, 2008 11:43 am

Re: Про сайтмапы

Post by admin »

Делается просто

1. sitemap_index

в нем

<!--

<thumb num=1-1000>

-->

дабы не было видно самих тумб но при этом получить пагинацию.

и ниже перечисляем линки на конкретные старницы где будет по 1000 линков которые сгенерятся без проблем

<?
$total_pages = ceil(<!--TOTAL_ITEMS-->/1000);

for ($i = 1; $i <= $total_pages; $i++) {

echo "<a href='/?force_template=sitemap_link&page={$i}'>{$i}</a>";

}
?>

2. /?force_template=sitemap_link&page= оборачиваем в реврайт или делает sitemaplist.php

http://smartcj.com/wiki/doku.php?id=ru: ... parameters

3. при желании экспериментируем с бОльщим кол-во на старницу
Don't forget to run script update
Post Reply