robots.txt
User-agent: *
Disallow: /
这将阻止所有搜索引擎机器人进行索引。
更多信息请参见: http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=40360
请记住,防止Google爬取您的网页并不意味着您可以保护您的内容。
我的回答基于以下几个来源:https://developers.google.com/webmasters/control-crawl-index/docs/getting_started https://sites.google.com/site/webmasterhelpforum/en/faq--crawling--indexing---ranking
robots.txt
文件控制爬取,但不控制索引!这两个操作是完全不同的,分别进行。有些页面可能被爬取但没有被索引,而有些页面甚至可能被索引但从未被爬取。非爬取的页面的链接可能存在于其他网站上,这将导致Google索引器遵循它并尝试进行索引。
问题是关于索引,即收集有关页面的数据,以便通过搜索结果可用。可以添加元标记来阻止索引:
<meta name="robots" content="noindex" />
或者在响应中添加HTTP头:
X-Robots-Tag: noindex
如果问题是关于网络爬虫的,那么你当然可以创建robots.txt
文件并放入以下行:
User-agent: *
Disallow: /
爬取是一种收集有关特定网站结构信息的操作。例如,您已经通过Google网站管理员工具添加了该网站。网络爬虫会考虑这一点,并访问您的网站,搜索 robots.txt
文件。如果找不到任何文件,则假定可以爬取任何内容(非常重要的是也要有 sitemap.xml
文件来帮助进行此操作,并指定优先级并定义更改频率)。如果它找到该文件,就会按照规则进行。成功爬取后,爬取的页面将在某个时间点上运行索引,但您无法确定何时运行...
重要提示: 这意味着尽管存在robots.txt
,您的页面仍可能显示在Google搜索结果中。
有几种方法可以阻止包括Google在内的爬虫对您的网站进行抓取和索引。
通过标头在服务器级别上停止
Header set X-Robots-Tag "noindex, nofollow"
User-agent: *
Disallow: /
<meta name="robots" content="nofollow" />
然而,我必须说如果你的网站有过时或不存在的页面/链接,那么你应该等待一段时间,Google会在下一次抓取中自动去除这些链接-阅读https://support.google.com/webmasters/answer/1663419?hl=en
完成后,您可以通过验证返回的Apache标头来测试它。Header set X-Robots-Tag "noindex, nofollow"
curl -I staging.mywebsite.com HTTP/1.1 302 Found Date: Sat, 26 Nov 2016 22:36:33 GMT Server: Apache/2.4.18 (Ubuntu) Location: /pages/ X-Robots-Tag: noindex, nofollow Content-Type: text/html; charset=UTF-8
你也可以通过以下方式添加meta robots:
<head>
<title>...</title>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
</head>
另外一个额外的层是修改 .htaccess,但你需要深入检查它。
使用nofollow元标签:
<meta name="robots" content="nofollow" />
要在链接级别上指定nofollow,请将属性rel和值nofollow添加到链接中:
<a href="example.html" rel="nofollow" />
<meta name="googlebot" content="noindex, nofollow">