我正在运行一个允许用户创建子域的站点。我想通过站点地图将这些用户子域名提交给搜索引擎。但是,根据站点地图协议(和Google网站站长工具),单个站点地图只能包含来自单个主机的网址。
最好的方法是什么?
目前,我有以下结构:
-
User-agent: *
Allow: /
Sitemap: http://example.com/sitemap-subdomain.xml
-
我认为此方法符合站点地图协议,但是,Google网站管理员工具会为子域站点地图提供错误:“不允许使用此网址。此站点上的站点地图不允许使用此网址。”
我还检查了其他网站是如何做到的。例如,Eventbrite生成包含来自多个子域的URL的站点地图(例如,请参阅http://www.eventbrite.com/events01.xml.gz)。但是,这不符合站点地图协议。
您建议使用站点地图的哪种方法?
答案 0 :(得分:6)
我最近在努力解决这个问题并最终实现了它。有关更多详细信息,请参阅此主题:
要点:
答案 1 :(得分:2)
是的,子域名限制在sitemaps.org规范中,但是,Google已经提出了一些例外情况:
验证您的Google网站站长工具帐户中的所有子域 http://www.google.com/support/webmasters/bin/answer.py?answer=75712 通过Google网站管理员工具交叉提交站点地图XML - 如果通过您网域的根目录提交 - 不会为Google带来错误
在子域的robots.txt中,您可以指向其他域上的sitemaps XML。对于Google
答案 2 :(得分:1)
如果您的网站允许用户在您的网站中创建子域,则最好通过创建单个站点地图为每个子域创建和提交站点地图来简化流程。这包括所有子域网站的站点地图网址,并将此站点地图保存到一个位置。但是,要执行此操作,必须在网站管理员工具中验证所有网站。您可以将一个站点地图定义为:
http://example.com/sitemap.xml
在此文档树下定义所有子域网址的所有子域站点地图。
您可以为每个站点地图定义多个站点地图文件,最多50,000个网址和10兆字节文件大小。可以使用gzip压缩站点地图以减少带宽。因此,通过这种方式定义站点地图没有任何问题。