当搜索引擎的爬虫第一次来到你的网站时,它首先会去根目录寻找 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/ 对它们来说仍然是禁区。
不同网站的运营目标不同,robots.txt 的内容也各不相同。下面列举三种最常用的配置方式,基本覆盖了大多数普通网站的需求,可以对照自己的路径直接调整。
对于内容型网站或新上线的站点,通常希望所有页面都被搜索引擎收录。此时只需要配置最简单的规则:
User-agent: *
Disallow:
其实把 Disallow 这一行直接删掉,效果完全一样。最需要避免的是手滑写成 Disallow: /,这会直接堵死所有爬虫的入口,网站收录量会迅速清零。修改之后,记得用搜索引擎的站长工具里的抓取测试功能,实际验证一下效果。
如果不想让某一家搜索引擎收录你的网站,可以只针对那一款爬虫单独加规则:
User-agent: Bingbot
Disallow: /
这种写法不会影响其他爬虫的正常抓取。需要注意爬虫的名称必须一字不差,比如 Bingbot 不能写成 Bing 或 BIngbot,否则规则不会生效,对方依然会正常抓取。
电商网站或论坛经常会产生大量带参数的链接,比如排序、筛选等 URL,这类页面内容高度重复,白白浪费抓取资源。可以用下面这种方式限制:
User-agent: *
Disallow: /*?sort=
Disallow: /*&page=
建议在屏蔽参数前,先通过站长工具的抓取统计看看哪些 URL 真正消耗了抓取额度,再决定是否屏蔽,避免误伤正常的翻页链接。
许多站长在配置 robots.txt 时都会踩到相似的坑,提前了解可以帮你省去不少排查时间。
注意:robots.txt 只是建议性协议,不是强制措施。遇到不合规的爬虫,光靠这个文件可能挡不住,需要配合服务器层面的 IP 或 UA 限制。
写完 robots.txt 不等于工作完成,必须实际验证一下效果。最直接的方法是打开浏览器访问你的 robots.txt 地址,检查内容是否按预期显示。更专业的操作是使用搜索引擎站长平台的 robots 测试工具,输入你想测试的 URL,工具会给出抓取是否被允许的结论。
另外可以关注站长平台里的抓取统计报告,观察屏蔽后各爬虫的抓取量和抓取成功率的变化,通常一周左右就能看到数据波动。若发现核心页面被误封,赶紧修正规则,同时注意检查是否有 CDN 缓存了旧的 robots.txt 版本。
不会。robots.txt 只是告知爬虫哪些路径不能抓,写错规则最直接的影响是部分页面不被收录,或不该放的页面被收录,并不会让搜索引擎对网站本身做降权处理。但长期屏蔽重要页面,会间接影响网站权重积累,需要尽快修正。
具体看爬虫。Googlebot 完全支持 Allow,可以在屏蔽的目录中开放指定子目录。但是不少中小型爬虫并不认识 Allow,它们只认 Disallow。因此如果某个目录被 Disallow 屏蔽了,想再开放里面的内容,更稳妥的做法是调整 Disallow 的具体路径,而不是依赖 Allow 去覆盖。
不可以。每个域名下只能存在一个 robots.txt 文件,位置必须是根目录。网站根目录下重复放置多个同名文件不仅无效,还可能造成配置混乱。如果需要区分不同目录的抓取规则,只能在一个文件里通过多个 User-agent 块和路径规则来实现。
robots.txt 虽然代码量不大,却是搜索引擎优化中不可忽视的基础配置。建议在搭建网站时就把规则写好,修改后在线上验证一遍;同时留意爬虫名称和路径大小写等细节,至少每半年复查一次文件内容,确保没有误伤页面或遗留不再需要的旧规则。把这些基础打牢,搜索引擎才能真正高效地了解你的网站。