具有大量动态子域的站点的站点地图

bar*_*ekb 10 sitemap search-engine robots.txt google-webmaster-tools

我正在运行一个允许用户创建子域的站点.我想通过站点地图将这些用户子域名提交给搜索引擎.但是,根据站点地图协议(和Google网站站长工具),单个站点地图只能包含来自单个主机的网址.

什么是最好的方法?

目前我有以下结构:

  1. 站点地图索引位于example.com/sitemap-index.xml,列出了每个子域的站点地图(但位于同一主机上).
  2. 每个子域都有自己的站点地图,位于example.com/sitemap-subdomain.xml(这样站点地图索引仅包含来自单个主机的URL).
  3. 子域的站点地图仅包含子域中的URL,即subdomain.example.com/*
  4. 每个子域都有subdomain.example.com/robots.txt文件:

-

User-agent: *
Allow: /

Sitemap: http://example.com/sitemap-subdomain.xml
Run Code Online (Sandbox Code Playgroud)

-

我认为此方法符合站点地图协议,但是,Google网站管理员工具会为子域站点地图提供错误:"不允许使用此网址.此站点地图不允许使用此网址."

我还检查了其他网站是如何做到的.例如,Eventbrite生成包含来自多个子域的URL的站点地图(例如,参见http://www.eventbrite.com/events01.xml.gz).但是,这不符合站点地图协议.

您为站点地图建议采用什么方法?

Bri*_*ong 7

我最近一直在努力解决这个问题,最终让它发挥作用.有关详细信息,请参阅此主题:

http://www.google.com/support/forum/p/Webmasters/thread?tid=53c3e4b3ab8d9503&hl=en&fid=53c3e4b3ab8d9503000497bd04ba63cf

摘要:

  • 使用DNS验证一举验证您的网站及其所有子域名
  • 使所有子域上的robots.txt指向www域上的主站点地图
  • 您可能需要等待几天才能让Google在所有子域上更新robot.txt的缓存副本.在此之前它仍会显示错误.


Fra*_*fer 2

是的,子域名限制在 sitemaps.org 规范中,但是 Google 已经制定了一些例外情况:

  1. 验证您的 Google 网站管理员工具帐户中的所有子域 http://www.google.com/support/webmasters/bin/answer.py?answer=75712 通过 Google 网站管理员工具交叉提交站点地图 XML - 如果通过您的 Google 网站管理员工具的根目录提交域 - 不会为 Google 抛出错误

  2. 在子域的 robots.txt 中,您可以指向其他域上的站点地图 XML。不会出现交叉提交错误 - 对于 Google