Google在2019年7月1日就已经正式宣布Google蜘蛛将不再遵守与索引相关的robots.txt指令。依赖Robots.txt Noindex指令的发布者必须在2019年9月1日之前将其删除,并开始使用替代方法。
尽管Google以前从未对此进行正式说明,但在robots.txt文件中添加noindex指令已成为受支持的功能已有十多年了,在robots.txt中结合使用noindex和disallow可以帮助优化抓取效率,其中noindex指令可阻止页面显示在搜索结果中,并且禁止停止抓取页面:
Disallow: /example-page-1/Disallow: /example-page-2/Noindex: /example-page-1/Noindex: /example-page-2/
而且过去有很多SEO大师指出Google大多遵守了robots.txt noindex指令。他们当时的结论是:
“最终,Robots.txt中的NoIndex指令非常有效。在我们测试的12个案例中,有11个起作用。它可能适用于您的网站,并且由于其实现方式,它为您提供了防止爬网以及将其从索引中删除的路径。
这在概念上非常有用。但是,我们的测试并未显示出100%的成功,因此它并不总是有效。”
为什么Google宣布将不再遵守Robots.txt Noindex指令呢?
不支持noindex robots.txt指令的原因是因为它不是官方指令。正如谷歌所说:
为了维护一个健康的生态系统,并为未来可能的开源版本做准备,我们将在2019年9月1日停用所有处理不受支持和未发布规则(如noindex)的代码。
这对于使用Robots.txt Noindex站点意味着什么?
如果你之前在robots.txt文件中使用noindex,谷歌将不再支持它。
如果继续在robots.txt文件中使用noindex,您将在谷歌搜索控制台中看到一个通知。
如果放弃使用Robots.txt Noindex指令,有没有其他可替代的方案
1. 使用“noindex”元标记阻止搜索引擎索引
为了防止搜索引擎爬行器索引页面,可以使用“noindex”元标记并将其添加到页面head标签部分。
< meta name = "robots" content ="noindex">
或者,您可以使用HTTP响应头和一个X-Robots-Tag指示爬虫程序不索引页面
HTTP / 1.1 200 OK(…)X-Robots-Tag: noindex
2. 使用404和410 HTTP状态码
404状态码表示所请求的页面不存在或已被删除!
404状态码表示被请求的资源在服务器上已经不再可用。
410是当目标资源在源服务器上不再可用时返回的状态码。
这两个状态代码都表示该页面不存在,一旦对这些URL进行抓取和处理,就会从Google的索引中删除这些URL。
3. 使用密码保护
您可以在登录之后隐藏页面,因为谷歌不会索引隐藏在付费内容或登录之后的页面。
4. Robots.txt设置禁止Google Bot抓取
您可以使用robots.txt文件中的disallow指令来指示搜索引擎不允许对所选页面进行索引,这仅仅意味着告诉搜索引擎不要抓取特定的页面。
5. 使用谷歌站长工具Google Search Console删除URL工具
您可以使用谷歌站长工具Google Search Console删除URL工具从搜索结果中临时删除URL,将持续90天。如果希望永久删除,则可以使用上面建议的四种方法中的任何一种。
如果您有使用或打算继续使用Robots.txt Noindex,建议您尽早放弃使用!因为借用这种方法来禁止谷歌蜘蛛抓取已经完全失效。