网站上线后,搜索引擎的蜘蛛程序会先到根目录寻找 robots.txt 文件。这个简短的文本文件相当于给爬虫划定了“可访问区域”,告诉它们哪些页面可以抓取,哪些部分需要绕行。一份设置合理的 robots.txt,不仅能保护后台、测试页等隐私内容不被收录,也能引导爬虫将宝贵的抓取额度用在最重要的页面上。
robots.txt 必须保存在网站域名的根目录下,确保通过 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 的屏蔽效果依然生效,所以不能把 Allow 当作绝对的“免死金牌”。
根据网站类型和运营目标的不同,robots.txt 的写法差别很大。下面整理了三类最常见的配置思路,可以作为直接参考的样例。
内容型博客或刚上线的新站,往往希望所有页面都能被搜索引擎收录。这种情况下,只需要写一个内容为空的 Disallow 声明即可:
User-agent: *
Disallow:
直接省略掉 Disallow 这一行也有同样的效果。这里最常见的错误是写成 Disallow: /,看似只是多了一个斜杠,实际上会把所有爬虫都挡在门外,导致站点收录数直接清零。
如果不希望某个搜索引擎抓取网站内容,可以只为它单独设定规则,其他爬虫完全不受影响:
User-agent: Bingbot
Disallow: /
这个设置只对必应爬虫生效。具体的爬虫名称要去各个搜索引擎的官方文档里查询确认,常见的有 Googlebot、Bingbot、Baiduspider 等,写错名字会导致规则失效。
企业官网经常采用的策略是,公开前台页面,同时封锁管理后台和临时文件目录。可以参考下面的配置:
User-agent: *
Disallow: /wp-admin/
Disallow: /temp/
Disallow: /cache/
如果网站还包含购物车、个人中心这类需要登录才能访问的页面,建议也将它们一并列入屏蔽范围,避免生成大量低质量的重复页面。判断一个目录是否需要屏蔽,可以站在用户搜索的角度想:如果这个页面出现在搜索结果里,对访问者有没有实际帮助?如果答案是否定的,就应该屏蔽。
robots.txt 的语法虽然简单,但在实际使用中仍然有不少细节值得留意,避免踩坑。
User-agent: *
Disallow: /images/
Disallow: /*.pdf$
Sitemap: https://yourdomain.com/sitemap.xml
上面的写法演示了如何用 $ 符号精准匹配以 .pdf 结尾的文件,同时屏蔽整个图片目录,这种写法适合以文本内容为主的资讯类站点。
在实际配置过程中,不少站点因为理解偏差导致收录异常。以下误区出现频率较高,需要多加留意。
此外,很多站长不清楚 robots.txt 的限制在于“不许看”而不是“不要收录”。如果页面已经被其他网站引用,搜索引擎仍可能通过外部链接发现并收录该页面,只是无法抓取正文内容。所以涉及隐私或付费内容的页面,应当在服务器层面做权限验证,而不是仅仅依赖 robots.txt。
搜索引擎不会因为 robots.txt 语法错误对网站做出惩罚或降权处理。它只是告知爬虫应该遵守的规则,写错最主要的后果是页面抓取或收录出现异常。比如误封了所有爬虫,站点收录会停滞,但内容本身不会受到惩罚。
只要文件还在根目录继续生效,其中的旧规则就依然会被爬虫读取。改版后应当重新检查每一条规则,确认旧目录的屏蔽信息是否需要保留。如果旧目录已经不存在,这些规则就变成了多余的干扰项,建议及时清理,避免误伤新路径。
两者协同工作,并不冲突。sitemap 是主动告诉爬虫有哪些重要页面可以抓取,而 robots.txt 是划定抓取范围与边界。对于有一定体量的网站,两者都建议配置。robots.txt 中的 Sitemap 声明可以加快爬虫发现地图文件的速度,但并非强制要求。
配置 robots.txt 的核心原则可以概括为三点:一是保持规则简洁,只写必要的 Disallow 与 Allow;二是区分大小写,路径要与实际目录完全一致;三是把该文件当作抓取引导而非安全防线。建议每半年复查一次文件内容,检查是否有失效路径或误屏蔽的目录,确保爬虫始终按预期工作。如果你的网站收录量突然下降,也应当第一时间检查根目录下的这个文件,通常能快速定位问题所在。