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

标签 search-engine sitemap robots.txt google-search-console

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

最好的方法是什么?

目前我有以下结构:

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

  • --
    User-agent: *
    Allow: /
    
    Sitemap: http://example.com/sitemap-subdomain.xml
    

    --

    我认为这种方法符合站点地图协议(protocol),但是,Google 网站管理员工具会为子域站点地图提供错误:“URL 不允许。此 url 不允许用于此位置的站点地图。”

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

    您推荐什么方法用于站点地图?

    最佳答案

    我最近一直在努力解决这个问题,终于让它工作了。有关更多详细信息,请参阅此线程:

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

    概括:

  • 使用DNS verification一举验证您的网站及其所有子域
  • 使您所有子域上的 robots.txt 指向您 www 域上的主站点地图
  • 您可能需要等待几天,以便 Google 更新您所有子域中的 robots.txt 缓存副本。在那之前它仍然会显示错误。
  • 关于search-engine - 具有大量动态子域的站点的站点地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3880621/

    相关文章:

    ios - 用于抓取网页或调用 API(尤其是 iTunes)的最快服务?

    没有关联对象的 Django 站点地图(只是一个 View )

    wordpress - 更改站点地图 Yoast 的名称

    scrapy - yahoo finance 是否禁止 web scrapy?

    cpu-usage - BingBot 和百度蜘蛛不尊重 robots.txt

    seo - 如何在 Google 搜索预览中显示您网站的内容

    html - 识别 URL 查询字符串中的内容定义键

    mysql - MYSQL 引擎在查询中如何工作

    django - “Post”对象没有属性 'get_absolute_url' Django

    php - Google 如何知道我的网页链接,因为我想创建一个多语言网站,但 SEO 挡住了我的路