当搜索引擎的爬虫来到你的网站,它会先查看根目录下的 robots.txt 文件,这份文件决定了它接下来的行动范围。一个设置得当的 robots.txt,不仅能保护后台和敏感信息不被收录,还能引导爬虫将抓取预算集中在真正有价值的内容上,从而对网站排名产生积极影响。
robots.txt 文件应当放置在网站的根目录下,例如 https://yourdomain.com/robots.txt,保存时建议采用 UTF-8 编码,避免因编码问题导致规则失效。每条指令需要单独占一行,行末不要遗留多余的空格。在动手编写之前,需要对几个关键指令有清晰的认识:
除此之外,还可以添加 Sitemap 指令,告知爬虫站点地图的具体位置。以下是一个常见的配置组合:
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
上述配置的含义是:默认情况下允许抓取全站,但 /admin/ 目录被明确禁止,其中 /admin/public/ 作为特例被允许访问。这里有一个需要特别注意的坑:如果某些爬虫不认 Allow 指令,它们只会看到 Disallow 的限制,那么 /admin/public/ 对它们来说依然是无法访问的。
不同类型的网站对抓取的需求各不相同,以下是三种能覆盖大多数场景的配置方案,你可以根据自己的情况替换其中的路径。
对于内容型网站或新上线的站点,通常希望所有页面都能被搜索引擎抓取。此时,配置文件只需要包含以下内容:
User-agent: *
Disallow:
实际上,直接删除 Disallow 这一行也能达到同样的效果。最需要警惕的是误写成 Disallow: /,这会导致所有爬虫都无法访问网站,收录工作会立即陷入停滞。修改完规则后,务必通过站长平台的抓取测试工具来验证实际效果。
如果你不想让某个特定的搜索引擎收录网站,可以单独为其制定规则:
User-agent: Bingbot
Disallow: /
这样设置后,其他爬虫的抓取策略不会受到影响。这里的关键是爬虫名称必须准确,比如 Googlebot、Baiduspider 和 Sogou 蜘蛛的名称各不相同,写错了规则就会失效,建议去各搜索引擎的官方文档核对名称的正确写法。
某些工具型站点只希望爬虫进入特定目录,而屏蔽其余路径。例如,只想开放 /public/ 目录,其他一概禁止:
User-agent: *
Disallow: /
Allow: /public/
这种写法利用了 Allow 的优先级,但必须注意,如果爬虫不支持 Allow 指令,效果就会变成全站屏蔽。一个稳妥的做法是结合网站地图,确保重要页面能被发现。
除了指令本身的用法,还有一些细节问题常常在配置后被忽略,最终导致意料之外的后果。
在实际操作中,有人在修改了 robots.txt 后并没有检查文件是否可以正常访问,结果出现了 404 错误,爬虫在找不到文件时会默认放行所有抓取,从而影响了原本想要保护的目录。
编写完 robots.txt 后,验证是不可或缺的环节,切勿直接上线后就万事大吉。
通过这一系列验证,可以最大程度地避免规则写错带来的负面影响。
这是非常普遍的现象。robots.txt 主要影响爬虫的抓取行为,并不能直接删除已经在搜索引擎中收录的页面。要移除已经索引的内容,需要在搜索引擎的站长后台或属性提交删除请求。
这取决于搜索引擎的具体实现。Google 在路径长度相等的情况下会优先遵循 Allow 指令,而其他部分爬虫则可能优先遵循 Disallow。为了兼容性,建议在配置时尽量让规则之间不产生冲突。
可以,但意义有限。robots.txt 主要针对的是搜索引擎的抓取,如果你不希望某些资源被收录,应当结合使用 noindex 标签或登录权限限制。这种方式更为精准,且不会误伤其他爬虫的合法访问。
正确配置 robots.txt 是网站 SEO 优化的基本功,它既能保护敏感信息,也能优化抓取效率。但更关键的是,要养成修改后验证的好习惯,并留意各种爬虫对指令的兼容差异。建议你定期审视这份文件,清理过时的规则,确保它与网站的实际结构保持一致,这样才能真正发挥它的作用。