【问题标题】:Magento - robots.txt may be blocking URLs on Google Webmaster ToolsMagento - robots.txt 可能会阻止 Google 网站管理员工具上的 URL
【发布时间】:2014-04-26 20:33:52
【问题描述】:

基本上,我的客户 Magento 网站在 Google 网站管理员工具上显示了一些非常奇怪的结果,我们注意到,在 Indexed Status 页面上,我们有 1,911 个页面 被编入索引。现在这一点看起来是正确的,但是当我们点击 高级 标签时,它显示我们已经阻止了 6,947 个 URL。现在我要问的问题是,当网站只有大约 1,911 个被索引的页面时,如何阻止 6,947 个 URL?

现在我在某处读到被阻止的 URL 可能是 Magento 中的重复图像。对我来说这是有道理的,因为我们的系统中确实有很多重复的图像,但我不确定这是否是阻止 URL 的原因。

另一个问题可能与 robots.txt 文件本身有关。所以我决定查看该文件,一切看起来都很好,但每一行如 'Disallow: /404/' 可能指向错误的方向。

客户网站基于服务器的根目录,因此在网站的 'public_html' 部分中,我认为 '/404/' 部分可能成为根。那么我是否必须将网站文件夹名称添加到 robots.txt 文件中每一行的开头,例如:/[Folder_Name]/404/?

任何解决此问题的帮助将不胜感激,我觉得我碰壁了。如果有帮助的话,我认为 Magento 版本是 1.5。

再次感谢您的帮助。

ROBOTS.TXT 文件代码

User-agent: *

Allow: /
Sitemap: http://www.websitename/sitemap.xml

# Directories
Disallow: /404/
Disallow: /app/
Disallow: /cgi-bin/
Disallow: /downloader/
Disallow: /includes/
Disallow: /js/
Disallow: /lib/
Disallow: /magento/
Disallow: /pkginfo/
Disallow: /report/
Disallow: /skin/
Disallow: /stats/
Disallow: /var/
# Paths (clean URLs)
Disallow: /index.php/
Disallow: /catalog/product_compare/
Disallow: /catalog/category/view/
Disallow: /catalog/product/view/
Disallow: /catalogsearch/
Disallow: /checkout/
Disallow: /control/
Disallow: /contacts/
Disallow: /customer/
Disallow: /customize/
Disallow: /newsletter/
Disallow: /poll/
Disallow: /review/
Disallow: /sendfriend/
Disallow: /tag/
Disallow: /wishlist/
# Files
Disallow: /cron.php
Disallow: /cron.sh
Disallow: /error_log
Disallow: /install.php
Disallow: /LICENSE.html
Disallow: /LICENSE.txt
Disallow: /LICENSE_AFL.txt
Disallow: /STATUS.txt
# Paths (no clean URLs)
Disallow: /*?p=*&
Disallow: /*?SID=
Disallow: /*?invis=
Disallow: /*?tag=
Disallow: /*?osCsid=
Disallow: /*?manufacturers_id=
Disallow: /*?currency= 

【问题讨论】:

  • webmasters.stackexchange.com 网站上可能会有更多的运气。
  • 登录网站管理员工具后,转到抓取下的屏蔽网址部分,在那里您可以准确找到 robots.txt 中的哪一行导致您的网站发生了什么。
  • 你真的应该去看看你的 robots.txt,里面有很多甚至不需要的规则。
  • 嗯...Disallow: /catalog/category/view/ Disallow: /catalog/product/view/ 可能会让网站无法访问。

标签: magento robots.txt google-search-console


【解决方案1】:

您的服务器如何处理文件夹并不重要。

如果您的 robots.txt 可以从 http://example.com/robots.txt 访问,类似 Disallow: /404/ 的规则将阻止

  • http://example.com/404/
  • http://example.com/404/foo
  • http://example.com/404/foo/bar

还要注意,记录中不能有换行符,所以这个

User-agent: *

Allow: /
Sitemap: http://www.websitename/sitemap.xml

# Directories
Disallow: /404/

应该是:

User-agent: *
Allow: /
Sitemap: http://www.websitename/sitemap.xml
# Directories
Disallow: /404/

而且您似乎不需要Allow: /(它不是原始robots.txt 规范的一部分,但即使对于理解Allow 的解析器,默认情况下允许任何未被禁止的内容)。


现在我要问的问题是,当网站只有大约 1,911 个页面被索引时,怎么会有 6,947 个 URL 被屏蔽?

我不能在这里跟着你。虽然 Google 可能仍会索引但不会抓取被阻止的 URL,但并非所有被阻止的 URL 都会发生这种情况。因此,索引 URL 的数量通常不会包括所有被阻止的 URL。由于不允许 Google 访问/抓取被阻止的 URL,它不可能知道这些 URL 是否存在或存在多少。 Google 会在查找这些 URL 的链接时了解它们(从您的网站内部以及从外部网站)。

因此,如果有 100 个指向路径以 /poll/ 开头的不同 URL 的链接,Google 可能会将这 100 个 URL 列为已阻止。

【讨论】:

  • 您认为被阻止的 URL 可能是由 robots.txt 文件中的某些内容引起的吗?我不会在 Magento 中使用 robots 文件,并且某些页面需要阻止等。
  • @LeeEaseman:每个Disallow 规则行都可能导致这种情况;这就是使用Disallow 的全部意义,不是吗?
【解决方案2】:

您的站点地图可能与 robots.txt 文件冲突。

Google 尝试将 sitemap.xml 文件中的所有内容编入索引,但发现无法索引被 robots.txt 文件阻止的页面。

在我的情况 www.workwearwebshop.nl 中,站点地图包含以 /catalog/product/view 开头的页面,这些页面被 robots.txt 阻止。 如果您在 robots.txt 中注释掉该行,Google 可以抓取这些产品。 剩下的问题是 magento 应该有比这些更好的 url(从类别名称而不是 /catalog/product/view 开始)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-19
    • 2013-12-02
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 2016-01-16
    相关资源
    最近更新 更多