搜索引擎蜘蛛在抓取任何网站前,都会先检查网站根目录下的 robots.txt 文件。这个文件相当于给爬虫的来访须知,明确划定了哪些区域允许抓取,哪些区域禁止进入。一份精心设计的 robots.txt,既能防止后台、临时文件等隐私内容进入搜索结果,又能让爬虫把有限的抓取额度集中在网站的优质页面上,从而促进核心内容的索引速度。
robots.txt 的存放位置没有任何灵活性,必须放置在站点根目录下,例如 https://yourdomain.com/robots.txt,否则搜索引擎将完全无视它的存在。文件需要保存为纯文本格式,编码统一使用 UTF-8,文件名必须全小写,并且文件内的所有路径都严格区分大小写,这些细节常常被人忽略。
文件内容由多个规则组构成,每一组针对不同的爬虫制定策略。最关键的指令只有三条,掌握后即可应对绝大多数场景:
文件末尾建议额外添加一行 Sitemap 声明,帮助爬虫更快地获取网站地图的位置。
例如,下面是一份典型的配置:
User-agent: *
Disallow: /admin/
Disallow: /cache/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml
这份配置说明了:所有爬虫都被禁止进入 admin 和 cache 两个目录,但 admin 目录下的 public 子页面是特例,仍允许被访问。这里有一个容易出错的点——路径匹配遵循前缀原则,即 Disallow: /admin/ 会连带拦截该目录下的所有深层链接,除非在下方有更具体的 Allow 指令将其覆盖。
不同性质的网站,其运营目标差异很大,直接套用别人的配置往往会造成负面影响。根据网站的类型,可以参考下述配置思路。
博客、新闻媒体或产品展示站,自然是希望被索引的页面越多越好。这类站点的配置应力求简洁,明确表达不拦截任何内容:
User-agent: *
Disallow:
也可以直接省去 Disallow 这一行。操作上最大的风险是错误的写成 Disallow: /,这相当于对所有爬虫关闭了大门,轻则在短期内积累的排名逐渐下滑,重则导致页面彻底从索引中消失,事后恢复收录往往要花费很长时间。修改完成后,务必通过浏览器访问根目录地址,确认文件内容正常展示。
视频站、图片库或数据下载站,服务器的带宽与计算资源常常被搜索引擎的深度抓取所占据。这类网站需要针对高消耗目录进行拦截,以保障真实用户的访问体验:
User-agent: *
Disallow: /video/play_url
Disallow: /download/temp
Disallow: /search?
Disallow: /tag/
这里的关键在于明白哪些资源值得被封锁。不要盲目禁止所有包含参数或标签的链接,因为有些生成页面对收录有帮助。重点应放在会消耗大量带宽的文件路径(如视频流地址、压缩包)以及无实际价值的动态搜索结果页上。定期查看服务器访问日志,识别出那些频繁请求但转化率为零的路径,然后将其纳入拦截名单。
在线商城需要避免重复内容刷屏,同时还要确保商品详情页能被充分收录。典型做法是把购物车、结算等流程页面封闭,并允许多规格商品页通过:
User-agent: *
Disallow: /cart
Disallow: /checkout
Disallow: /account
Disallow: /filter?price=
Allow: /product/*
实施前建议先梳理站点 URL 结构,分清哪些是功能性页面(如账户、支付),哪些是收录价值高的页面(如静态商品页),哪些是可能造成重复的页面(如排序参数组合)。对于筛选或排序参数的组合页面,如果不是特意希望其被索引,最好一并拦截。
很多站长在配置时只关注了指令本身,却忽视了周边环境,导致问题频发。以下是几个典型的误区:
另外,几乎每家搜索引擎都提供官方验证工具。谷歌的 Search Console 和百度搜索资源平台均支持 robots.txt 测试功能,可以模拟抓取场景,判断某条具体链接是否被允许访问。每次修改后都应该用工具自检一遍,而不是等排名掉了才回头看配置。
robots.txt 一旦写错,问题往往不会立即显现,而是延迟反映在收录数量或流量变化上。遇到下列状况时,可以按照对应思路进行排查。
排查问题的基本方法,是先通过搜索平台的抓取诊断工具观察爬虫的真实行为反馈,再回头逐行审查 robots.txt 的逻辑,结合日志确认爬虫是否真的访问了该文件。切忌在未确认原因的情况下盲目叠加规则,那样只会让问题更复杂。
不能完全阻止。robots.txt 只负责告知爬虫不要抓取某路径,但如果其他网站发布了指向该链接的内容,搜索引擎仍可能基于外部描述建立索引条目。想彻底从搜索结果中移除页面,应结合使用 noindex 标签或直接在平台提交删除请求。
有一定帮助。它让搜索引擎爬虫更高效地发现你的网站地图位置,但并不是强制性的。正确的做法是在该文件中为每一种协议(http 和 https)分别声明对应的 Sitemap 地址,同时确保填写的 URL 是完整且可访问的。
可以查阅各大搜索引擎的官方开发者文档,里面往往附有语法参考,但不要直接复制使用他人的具体屏蔽路径。每个网站的目录结构差异很大,最好是基于自己的站点日志和实际收录情况来定制规则,否则容易拦截掉本应收录的价值页面。
配置 robots.txt 并不复杂,核心在于“按需放行,明确拦截”。动手前先梳理站点的 URL 结构,划分出必须保护、值得抓取和毫无价值的三类路径,然后据此写规则。每次修改后,务必使用官方验证工具核对状态,并结合抓取日志观察效果。记住,合理的配置远比复杂的规则更有价值,保持简单清晰,才能让搜索引擎更顺畅地理解你的网站。建议每季度复查一次该文件,随着站点结构调整及时更新,避免陈旧规则成为收录的绊脚石。