谷歌忽略我的robots.txt文件

3

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

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

如您所见,我明确禁止所有机器人索引文件夹imagesuploadadmin。问题在于我的一个客户请求从图片文件夹中删除内容,因为来自images文件夹的.pdf文件出现在谷歌搜索结果中。请问有人能解释一下我做错了什么,以及为什么谷歌索引了我的文件夹吗?
谢谢!

2
这与编程无关,最好在http://webmasters.stackexchange.com/上提问。 - Clément Malet
即使我们应用了robot.txt,谷歌仍会搜索文件夹。我们需要用密码限制目录。最好在所有目录中放置index.html文件以避免列出文件。 - sugunan
1个回答

7

引用谷歌站长文档

如果我使用robots.txt的disallow指令阻止Google爬取某个页面,那么它会从搜索结果中消失吗?

阻止Google爬取某个页面可能会导致该页面的排名降低或者最终被完全移除。同时,这也可能会减少在搜索结果下方提供给用户的详细信息。这是因为没有页面内容,搜索引擎就会缺乏更多的信息来处理。

--

然而,robots.txt的Disallow不能保证页面不会出现在搜索结果中:Google可能仍然认为它是相关的,基于外部信息如入站链接。如果您希望明确地阻止页面被索引,您应该使用noindex机器人meta标签或X-Robots-Tag HTTP头。在这种情况下,您不应该在robots.txt中禁止页面,因为必须爬行页面才能看到和遵守标记。在文件夹中为所有文件设置X-Robots-Tag头,使用web服务器配置为文件夹设置此头。https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag?hl=de
  1. 在Apache配置文件中为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]

你的评论真的很有帮助。谢谢! - MrD
如何禁止所有文件,而不仅仅是 .pdf 文件? - MrD
第二个问题是这些文件夹应该是公开可访问的,但我们只想阻止搜索引擎对其进行索引。 - MrD
好的,我已经添加了第三个示例,它使用BrowserMatch和“deny from env”检查来测试浏览器请求目录。如果它是由go_away_badbots引用的BrowserMatches之一,则拒绝访问。将“go_away_badbots”视为列表并扩展BrowserMatches。您可以在Web服务器访问日志中或在**http://user-agents.org/**的列表中看到蜘蛛/爬虫/机器人的正确浏览器名称。唯一的问题是不遵守robots.txt并且不告诉其名称或伪造其名称的机器人..那么你就没办法了。 - Jens A. Koch
您已添加了此行以供pdf文件使用 <Files〜".pdf$"> Header set X-Robots-Tag“noindex,nofollow” </Files>但我想为这些文件夹中的所有文件类型添加标头。 - MrD
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接