【问题标题】:Google is ignoring my robots.txt [closed]谷歌忽略了我的 robots.txt [关闭]
【发布时间】:2014-11-04 01:27:14
【问题描述】:

这是我的 robots.txt 文件的内容:

User-agent: *
Disallow: /images/
Disallow: /upload/
Disallow: /admin/

如您所见,我明确禁止所有机器人索引文件夹images、upload 和admin。问题是我的一位客户发送了从图像文件夹中删除内容的请求,因为来自images 文件夹的 .pdf 文档出现在谷歌搜索结果中。谁能解释一下我在这里做错了什么,以及为什么谷歌将我的文件夹编入索引?

谢谢!

【问题讨论】:

  • 这与编程无关,最好在webmasters.stackexchange.com上询问。
  • 即使我们应用robot.txt google 也会搜索该文件夹。我们需要用密码限制目录。最好将 index.html 文件放在所有目录中,以避免列出文件。

标签: php seo robots.txt google-search


【解决方案1】:

引用Google Webmaster Docs

如果我阻止 Google 使用 robots.txt 禁止抓取网页 指令,它会从搜索结果中消失吗?

阻止 Google 抓取网页可能会降低该网页的 排名或导致它随着时间的推移完全退出。它也可能 减少在下面的文本中提供给用户的详细信息 搜索结果。这是因为没有页面的内容,搜索 引擎可以处理的信息要少得多。

--

但是,robots.txt Disallow 并不能保证页面不会 出现在结果中:Google 可能仍会根据外部 相关的信息,例如传入链接。如果你希望 要明确阻止页面被索引,您应该改用 noindex 机器人元标记或 X-Robots-Tag HTTP 标头。在这种情况下, 您不应该在 robots.txt 中禁止该页面,因为该页面必须 被抓取以便标签被看到和遵守。

为文件夹中的所有文件设置带有 noindex 的 X-Robots-Tag 标头。从您的网络服务器配置中为文件夹设置此标头。 https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag?hl=de

  1. 从 Apache Config 为 pdf 文件设置标题:

    <Files ~ "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </Files>

  2. 禁用此文件夹的目录索引/列表。

  3. 添加一个带有“noindex”机器人元标记的空 index.html。

    <meta name="robots" content="noindex, nofollow" /> <meta name="googlebot" content="noindex" />

  4. 使用网站管理员工具手动强制删除索引页面。


评论中的问题:如何禁止文件夹中的所有文件?

// 1) Deny folder access completely
<Directory /var/www/denied_directory>
    Order allow,deny
</Directory>

// 2) inside the folder, place a .htaccess, denying access to all, except to index.html
Order allow,deny
Deny from all
<FilesMatch index\.html>
        Allow from all
</FilesMatch>

// 3) allow directory, but disallow specifc environment match
BrowserMatch "GoogleBot" go_away_badbot
BrowserMatch ^BadRobot/0.9 go_away_badbot

<Directory /deny_access_for_badbot>
order allow,deny
allow from all
deny from env=go_away_badbot
</Directory>  

// 4) or redirect bots to main page, sending http status 301
BrowserMatch Googlebot badbot=1
RewriteEngine on
RewriteCond %{ENV:badbot} =1
RewriteRule ^/$ /main/  [R=301,L]

【讨论】:

  • 您的评论真的很有帮助。谢谢!
  • 如何禁止所有文件,而不仅仅是.pdf?
  • 我在答案中添加了两个示例。基本上它拒绝通过 Apache Config 文件访问目录。一个好的方法是将文件夹列入黑名单(全部拒绝),然后添加例外,将要显示的文件列入白名单(全部允许)。
  • 第二个问题是这些文件夹应该可以公开访问,但我们只是想阻止搜索引擎对其进行索引。
  • 好的,我添加了第三个示例,它使用 BrowserMatch 和“拒绝 env”检查来测试浏览器请求目录的内容。如果它是 go_away_badbots 引用的 BrowserMatch 之一,则拒绝访问。将“go_away_badbots”视为一个列表并扩展 BrowserMatches。您可以在网络服务器访问日志或 user-agents.org 的列表中看到蜘蛛/爬虫/机器人的正确浏览器名称。唯一的问题是机器人不尊重 robots.txt 并且不告诉他们的名字或伪造他们的名字..那么你就不走运了。
猜你喜欢
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 2011-12-30
  • 1970-01-01
  • 2013-03-05
  • 1970-01-01
相关资源
最近更新 更多