Структура файлов Sitemap для большого сайта App Engine - PullRequest
0 голосов
/ 29 января 2011

Я думаю о лучшем способе структурирования большого сайта App Engine (+ 1M URL).

Мне нужен файл sitemaps.xml в корневом пути файла домена, который ссылается на файлы sitemap [n] .xml.

Файл sitemaps.xml может содержать до 1000 файлов sitemap [n] .xml, и каждый из этих файлов sitemap [n] .xml имеет до 50K URL-адресов.

Есть ли способ динамически генерировать файлы с URL-адресами 50 КБ?

Есть ли другой способ сделать это, не выбирая 50К объектов одновременно?

Спасибо!

PS: файлы не могут быть статичными, поскольку они должны быть помещены в корневой каталог домена: (

Ответы [ 2 ]

1 голос
/ 29 января 2011

Лучше всего создавать их заранее.Возможно, запустите map-lower для ваших данных и сохраните каждый sitemap[n].xml в BLOB-объекте в отдельной сущности хранилища данных.Затем обработчик (который отображается из - url: /sitemap(.*)) просто возвращает BLOB-объект из соответствующего объекта.

Все это действительно зависит от того, как ваши URL-адреса хранятся и / или генерируются.

Вы также можете сгенерировать все URL-адреса в автономном режиме и поместить их в один огромный файл.Загрузите этот файл в хранилище BLOB-объектов вместе с файлом, который имеет смещения для каждой группы по 50 тыс. URL в этом файле.В обработчике просто возьмите соответствующую группу из 50 тысяч URL-адресов из магазина.

Также поймите, что, вероятно, не так уж полезно (в отношении SEO) иметь такие огромные карты сайта.

0 голосов
/ 29 января 2011

Почему вы не можете добавить запись в ваш app.yaml, чтобы перенаправить туда, куда идут файлы.Robots.txt должен находиться на корневом уровне, но я сохраняю его в / img

- url: /robots.txt  
  static_files: img/robots.txt
  upload: img/robots.txt

Это то же самое, что и любой сканер.

...