dem*_*mos 4 sitemap google-app-engine large-data-volumes
我有一个大约有100,000个独特页面的网站.
(1)如何为所有这些链接创建Sitemap?我应该在大型站点地图协议兼容文件中列出它们吗?
(2)需要在Google App Engine上实现此功能,其中有1000个项目查询限制,并且我的所有单个站点URL都存储为单独的条目.我该如何解决这个问题?
网站地图不得超过10MB,列出的网址不得超过50,000个,因此您需要以某种方式对其进行细分.
你需要某种分片策略.我不知道您的数据是什么样的,所以现在让我们说每次创建页面实体时,都会为它分配1到500之间的随机整数.
接下来,创建一个Sitemap索引,并为每个索引值吐出一个站点地图链接:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://example.appspot.com/sitemap?random=1</loc>
</sitemap>
<sitemap>
<loc>http://example.appspot.com/sitemap?random=2</loc>
</sitemap>
...
<sitemap>
<loc>http://example.appspot.com/sitemap?random=500</loc>
</sitemap>
</sitemapindex>
Run Code Online (Sandbox Code Playgroud)
最后,在您的站点地图页面上,查询页面并过滤随机索引.如果您有100,000页,这将为每个站点地图提供大约200个网址.
这里稍微不同的策略是为每个页面提供一个自动递增的数字ID.为此,您需要一个事务锁定的计数器对象,并在每次创建新页面时递增.这样做的缺点是您无法并行创建新的页面实体.好处是您可以更好地控制页面的布局方式,因为您的第一个站点地图可能是1-1000页,依此类推.
| 归档时间: |
|
| 查看次数: |
1355 次 |
| 最近记录: |