这是我的robots.txt文件内容:
User-agent: *
Disallow: /images/
Disallow: /upload/
Disallow: /admin/
如您所见,我明确禁止所有机器人索引文件夹
images
、upload
和admin
。问题在于我的一个客户请求从图片文件夹中删除内容,因为来自images
文件夹的.pdf文件出现在谷歌搜索结果中。请问有人能解释一下我做错了什么,以及为什么谷歌索引了我的文件夹吗?谢谢!
这是我的robots.txt文件内容:
User-agent: *
Disallow: /images/
Disallow: /upload/
Disallow: /admin/
images
、upload
和admin
。问题在于我的一个客户请求从图片文件夹中删除内容,因为来自images
文件夹的.pdf文件出现在谷歌搜索结果中。请问有人能解释一下我做错了什么,以及为什么谷歌索引了我的文件夹吗?引用谷歌站长文档
如果我使用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在Apache配置文件中为pdf文件设置头部:
<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>
禁用此文件夹的目录索引/列表。
添加一个带有“noindex”机器人元标记的空index.html文件。
<meta name="robots" content="noindex, nofollow" />
<meta name="googlebot" content="noindex" />
通过手动使用网站管理员工具强制删除已索引的页面。
评论中的问题:如何禁止文件夹中的所有文件?
// 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]