0

我在根域中有一个 wordpress 站点。现在,我在 mydomain/forum 子文件夹中添加了一个论坛,它使站点地图如下:mydomain/forum/sitemap_index.xml。将该站点地图提交给谷歌,听起来谷歌无法访问带有“网址被 robots.txt 阻止”消息的子站点地图 - 值:mydomain/forum/sitemap-forums.xml?page=1 --- 值:mydoamin /forum/sitemap-index.xml?page=1。

这是我的 robots.txt:

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: /category/*/*
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /*?*
Disallow: /*?
Allow: /wp-content/uploads


# Google Image
User-agent: Googlebot-Image
Disallow:
Allow: /*

Sitemap: mydomain/sitemap_index.xml
Sitemap: mydomain/forum/sitemap_index.xml

我应该在 robots.txt 中添加什么?任何帮助将不胜感激。提前致谢

4

1 回答 1

1

澄清一下,我假设您的示例中的“mydomain”是该方案加上完全限定域名的替代,对吗?(例如“ http://www.whatever.com ”,而不是“whatever.com”或“www.whatever.com”)我认为这一定是这种情况,因为您在 Google 错误消息中以相同的格式显示了它。

该错误消息表明 Google 正在从您的 robots.txt 文件之外的其他位置获取 URL。robots.txt 文件将站点地图 URL 列为:

mydomain/forum/sitemap_index.xml

但错误消息显示 Google 正在尝试加载 URL:

mydomain/forum/sitemap-index.xml?page=1

第二个 URL 被阻止,因为您的 robots.txt 文件阻止了任何包含问号的 URL:

Disallow: /*?*
Disallow: /*?

(顺便说一句,这两行的作用完全相同。您可以安全地删除第一行)但是,Google 应该仍然能够使用更简单的 URL 读取站点地图文件,因此页面可能仍会被抓取。如果您真的想摆脱错误消息,您可以随时添加:

Allow: /forum/sitemap-index.xml?page=1

这将覆盖仅站点地图 URL 的不允许。(这至少适用于谷歌 - 任何其他搜索引擎的 YMMV)

于 2013-08-13T00:36:17.887 回答