大型App Engine站点的站点地图结构

时间:2011-01-28 21:44:34

标签: google-app-engine sitemap large-data-volumes

我正在考虑构建大型App Engine站点的最佳方法(+ 1M网址)。

我需要在域文件的根路径中有一个sitemaps.xml文件,该文件链接到sitemap [n] .xml文件。

sitemaps.xml文件最多可链接1000个sitemap [n] .xml文件,每个sitemap [n] .xml文件最多可包含50K网址。

有没有办法用50K网址动态生成文件?

如果没有一次获取50K实体,还有其他任何方法吗?

谢谢!

PS:文件不能是静态的,因为它们必须放在域的根路径中:(

2 个答案:

答案 0 :(得分:1)

你最好的选择是提前生成它们。也许对您的数据运行map-reduce并将每个sitemap[n].xml存储在一个单独的数据存储区实体中的blob中。然后处理程序(从- url: /sitemap(.*)映射)只返回相应实体的blob。

所有这些都取决于您的网址的存储和/或生成方式。

您还可以离线生成所有网址并将它们放在一个巨大的文件中。将该文件上传到blobstore以及一个文件,该文件具有该文件中每组50k URL的偏移量。在处理程序中,只需从blobstore中获取相应的50k url组。

还要意识到拥有如此庞大的站点地图可能没那么有用(关于搜索引擎优化)。

答案 1 :(得分:0)

为什么无法在app.yaml中添加条目来重定向文件所在的位置。 Robots.txt应该在根级别,但我将它保存在/ img

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

与任何抓取工具完全相同。