sitemap из php-скрипта

mstdmstd

Новичок
Не подскажите,
для генерации sitemap.xml- файла используется php-script.
Появилось идея в robots.txt перенаправить сайтмап на этот скритп и в нем все данные выводить в output.
Перед началом вывода данных вызывается
Код:
    header("Content-type: text/xml");
и браузер нормально отображает xml-данные и в сорсе этого файла вроде

Код:
<?xml version="1.0" encoding="UTF-8"?><sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84"> 
  <sitemap><loc>sitename.com/Addington-Highlands-homes-for-sale/-Weslemkoon-Lake-Rd</loc><lastmod>2015-07-08 07:48:41</lastmod></sitemap>
  <sitemap><loc>sitename.com/Addington-Highlands-homes-for-sale/100B-Grannys-Lane</loc><lastmod>2015-07-08 07:48:41</lastmod></sitemap>
  ...
</sitemapindex>
Вопрос в том что тут http://www.sitemaps.org/faq.html#faq_sitemap_size
написано
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. 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). You can also use gzip to compress your Sitemaps.
Если этот вывод перенаправить в файл - то получается файл порядка 3.2 MB из порядка 44000 строк. То есть близко к пределу.
Может ли это вызвать проблемы и как лучше сделать чтобы не было проблем?
 

shureen

Милорд Лось Кристофер
Давно этим не занимался, но точно помню, что можно раздербанить этот файл, а основной файл должен содержать ссылки на все части. Погугли в общем
 

mstdmstd

Новичок
Этот совет полезен когда сайтмап один файл и он лежит на диске Тогда да он делитсЯ на несколько файлов на которые ссылки в robots.txt
У меня же вызывается скрипт и содержимое выводится в оутпут - тут непонятно...
 

shureen

Милорд Лось Кристофер
А в чём проблема то php скриптом генерить несколько файлов периодически и складывать их на диск, а не отдавать прямиком?
 

mstdmstd

Новичок
Клиенту так захотелось - увидел такую штуку у конкурентов :)
М все бы хорошо если бы данных было немного - а не на пределе как сейчас...
 

WMix

герр M:)ller
Партнер клуба
М все бы хорошо если бы данных было немного - а не на пределе как сейчас...
Код:
$ crontab -e
0 0 * * * wget http://site.ru/sitemap.php?page=1 /var/www/site.ru/sitemap-1.xml
0 0 * * * wget http://site.ru/sitemap.php?page=2 /var/www/site.ru/sitemap-2.xml
0 0 * * * wget http://site.ru/sitemap.php?page=3 /var/www/site.ru/sitemap-3.xml
 

AnrDaemon

Продвинутый новичок
Клиенту так захотелось - увидел такую штуку у конкурентов :)
М все бы хорошо если бы данных было немного - а не на пределе как сейчас...
Он что, к конкурентам в код сайта залезал?
Нет никакого смысла [цензура] процессор бессмысленной нагрузкой. Сайтмап надо генерить только когда релевантное содержимое сайта меняется.
В остальное время - отдавать с диска и не париться.
 

mstdmstd

Новичок
Он что, к конкурентам в код сайта залезал?
Нет никакого смысла [цензура] процессор бессмысленной нагрузкой. Сайтмап надо генерить только когда релевантное содержимое сайта меняется.
В остальное время - отдавать с диска и не париться.
Да, я согласен.
И кроме перегрузок остается возможность dos атаки, как я понимаю,
Пытаюсь сформулировать для клиента.
 

mstdmstd

Новичок
Код:
$ crontab -e
0 0 * * * wget http://site.ru/sitemap.php?page=1 /var/www/site.ru/sitemap-1.xml
0 0 * * * wget http://site.ru/sitemap.php?page=2 /var/www/site.ru/sitemap-2.xml
0 0 * * * wget http://site.ru/sitemap.php?page=3 /var/www/site.ru/sitemap-3.xml
А вот технический вопрос : а как быть в случае резкого увеличивания/уменьшения объема данных ?
предположим я делаю разбивку по 20 000 строк на один файл и при объеме данных в 44 000 строк получается 3 файла ссылки на которые
прописаны в robots.txt. Если данных резко увеличилочь вдвое, то это будет 5 файлов - ну скрипт то их сгенерирует, а как править robots.txt. В том же скрипте(?).
Я смог придумать высылать отчет админу с кол-вом файлов .
Может быть и обратная ситуация с резким уменьшением данных...

А если тупо делить скриптом данные на несколько частей - то может оказаться что фалы будут очень большими...
 

AnrDaemon

Продвинутый новичок
Чего формулировать? Сделай так, чтобы работало. Если клиент не понимает, чего просит, не надо его разубеждать.
Пусть пребывает в блаженном неведении.
 

mstdmstd

Новичок
Чего формулировать? Сделай так, чтобы работало. Если клиент не понимает, чего просит, не надо его разубеждать.
Пусть пребывает в блаженном неведении.
Вы всегда так и делаете?
Я обьяснил клиенту - он согласился. Ну этот клиент вменяем :)
 

mstdmstd

Новичок
А вот технический вопрос : а как быть в случае резкого увеличивания/уменьшения объема данных ?
предположим я делаю разбивку по 20 000 строк на один файл и при объеме данных в 44 000 строк получается 3 файла ссылки на которые
прописаны в robots.txt. Если данных резко увеличилочь вдвое, то это будет 5 файлов - ну скрипт то их сгенерирует, а как править robots.txt. В том же скрипте(?).
Я смог придумать высылать отчет админу с кол-вом файлов .
Может быть и обратная ситуация с резким уменьшением данных...

А если тупо делить скриптом данные на несколько частей - то может оказаться что фалы будут очень большими...
Кто с таким сталкивался, поделитесь опытом.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
<sitemap><loc>...</sitemap>
<sitemap><loc>...
это невалидный sitemap

там формат
Код:
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://www.site.ru/</loc>
<lastmod>2015-07-08 07:48:41</lastmod>
<changefreq>hourly</changefreq>
<priority>0.8</priority>
</url>
...
</urlset>
 

antson

Новичок
Партнер клуба
во всем этом деле для меня самый спорный момент частота генерации сайта мепа.
Конечно хочется скормить, все самое актуальное.Вот только яндекс имхо работает в большинстве случаев с лагом в месяц. Раз в две недели его запрашивает, а потом еще столько же их неспешно обрабатывает.
Гуру поправьте, если я сильно неправ.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
яндекс запрашивает sitemap регулярно и сканирует непрерывно, а индекс перестраивается с лагом
 

antson

Новичок
Партнер клуба
яндекс запрашивает sitemap регулярно и сканирует непрерывно, а индекс перестраивается с лагом
вот и я в принципе о том же , зачем генерировать сайтомап каждую минуту, если поисковики его кушают раз в две недели ?
Кто-то может привести проекты не из первой сотни по посещаемости, у которых запрос карты от яши хотя бы 2 раза в день ?
 

AnrDaemon

Продвинутый новичок
Вопрос неправильно стоит.
Зачем генерировать сайтмап, если на сайте ничего не меняется?
 

antson

Новичок
Партнер клуба
сайт визитка и обычный бизнес промо проживет и без карты.
Смысл юзать когда плюсом идет ежедневно некоторое количество материалов и ждать , что поисковик их найдет фулл ресканом не оптимально.
Н-р новостной портал (10к страниц архива за 3-4 года) и ежедневный прирост в 10-50 записей.
смотрим н-р фишки.нет - генерят карту ночью в момент минимальной нагрузки размазав процесс на 6 часов
gazeta.ru c мая забила на это дело или не заметили, что сломалось
rbc - публичного не видно
lenta.ru генерит раз в час
 
Сверху