CONTEXT
假设我的网站包含跨国家,州,城市和地区组织的商店列表。每个商店都有一个动态生成的网页。商店总数最终将达到约150万。我使用NDB来存储商店数据。我计划使用XML站点地图并手动将它们提交给搜索引擎。我使用GAE Python。
问题
我想在站点地图中维护(生成并保持更新)所有商店页面的URL链接。
商店页面的每个唯一网址链接包含以下内容:
国家,州,城市,地区,商店名称,唯一索引
例如,wwww.example.com/country--state--city--locality--shop_name--unique_index
可以添加,删除商店或者可以更改他们的数据(例如,他们的姓名或城市等)。 我需要设计一个解决方案,帮助我获得最新的站点地图,其中包含所有商店的更新链接。我打算在添加/删除/更新任何商店后尽快提交新的站点地图。
我的方法
方法1
通过查询NDB模型中的信息,即时生成站点地图
方法1的缺点
方法2
使用程序(例如X,由我在Perl / Python中编写)在我的笔记本电脑上生成并存储站点地图。每当在我的网站上添加/删除/更新商店时,我都会使用以下助记符更新GCS(Google云端存储)存储文件:
ADD < shop data like name, etc >
DELETE < shop data like name, etc >
UPDATE < shop data like name, etc >
我会将此文件下载并提供给我的本地程序X,以通过更新旧版存储的站点地图文件来生成站点地图。
方法2的缺点
方法3
sitemap.xml文件将包含:
包含基于国家/地区的其他站点地图索引文件的网址的条目。 这些国家/地区站点地图文件将包含State的URL条目 站点地图文件。同样,状态站点地图文件将包含条目 用于城市站点地图文件的URL。同样,城市站点地图文件也会 包含位置站点地图文件的URL条目。地点网站地图 文件将包含商店页面URL的条目。
包含所有静态网页的网址的条目(例如,常见问题解答,关于我们等)。
方法3的优点
对方法3的怀疑
我可以将所有sitemap.xml文件存储在GCS中吗?你预见到了吗? 这个问题?
是否允许多个级别的站点地图索引文件指向 到其他站点地图索引文件?
我无法找到一个好的解决方案。我在SO和Nick的博客上看过类似的问题,但是徒劳无功。 如果可能的话,我希望保持在免费配额范围内。 请提供您的建议。
答案 0 :(得分:2)
我过去使用过以下解决方案:
这个解决方案的前提是几个警告:
有几个积极因素
如上所述,there are limitations on sitemap files表示您希望分解为许多站点地图文件和站点地图索引。这些限制大约是每个文件最多50K条目和10mb文件。鉴于您可能要处理大量数据存储条目,我会优化生成文件(即处理时间和最佳批处理/块大小),而不必担心将每个索引文件填满其极限。
答案 1 :(得分:1)
您可以对站点地图进行分片,因为如果每个Sitemap formats and guidelines超过50,000个网址,您将不得不这样做,并减少您必须为方法2做的重写量,不得不进行更新,说“国家 - 州 - 城市”部分和Sitemap index file。