网站上线后,搜索引擎的爬虫会按照一定的规则来访问和抓取页面。如何让爬虫把有限的精力放在最有价值的内容上,同时避免隐私或低质页面进入索引,是运营者绕不开的功课。下面这套从底层协议到具体操作的完整方案,可以直接对照执行。
robots.txt 是一个存放于域名根目录的纯文本文件,几乎所有合规的搜索引擎爬虫在开始抓取前都会先读取它。文件的核心是两条指令:User-agent 用来指定规则适用的爬虫类型,Disallow 用来声明禁止访问的路径。比如,想让所有爬虫都远离后台目录,可以这样写:
User-agent: *
Disallow: /admin/
实际操作里有几个容易踩坑的细节。Disallow 后面如果完全留空,代表允许爬虫访问全站内容;而若想实现"禁止上级目录但放行其中某个子目录",则需要借助 Allow 指令与 Disallow 的先后配合。需要特别强调的是,robots.txt 在法律和技术层面都不具备强制力,它只是一份"君子协议"。正当的搜索引擎会严格遵守,但恶意采集程序根本不会理睬。因此,涉及用户订单、通讯录、未公开文档等敏感数据的路径,一定还要叠加登录鉴权或 IP 白名单等硬性防护。配置完成后,建议检查每个路径是否以斜杠开头,拼写是否有误,很多规则莫名其妙失效,问题往往就出在这类细节上。
当爬虫进入具体 URL 后,页面头部提供的指令能实现比 robots.txt 更精细的管控。两者的区别在于,robots.txt 只能按目录批量设置,而页面级指令可以精确到每一个独立文件。
在网页 head 区加入 <meta name="robots" content="noindex, nofollow"> 这段代码,等于同时告诉爬虫两件事:不要把这个页面放进索引库,也不要顺着该页面的链接继续爬取。如果只是不想收录当前页,但仍希望爬虫沿着页内链接去发现别的页面,那就应写成 noindex, follow。一般建议对以下几类页面统一加上 noindex:站内搜索结果页、筛选排序参数页、用户提交后的跳转或感谢页,以及大量重复的标签聚合页。这些页面本身没有独立搜索价值,放行收录只会稀释整站索引的质量。
如果目标对象是 PDF 手册、产品图片或视频文件,HTML 里的 meta 标签完全不生效,因为这类文件内部根本没有 head 区可供识别。此时唯一的办法是让服务器在响应头中返回 X-Robots-Tag 指令。以常见的 Nginx 环境为例,只需在配置文件中为指定文件类型加上一条规则:
add_header X-Robots-Tag "noindex, nofollow";
这样设置之后,即使爬虫完全看不懂文件内容,也能精准读取服务器给它的命令。比如你有一份内部员工的培训 PDF 误传到了公开目录,用这个方式就能迅速阻止它在搜索引擎中出现。
搜索引擎分配给每个网站的每日抓取总量是有限的,业内常称之为抓取预算。如果爬虫整天耗费在 404 页面、重复参数页或低价值的内容页上,那么新发布的核心文章和产品页被收录的速度就会明显减慢。要改善这种情况,可以从两个方向入手。
一是减少无效链接的暴露。清理网站上指向已删除页面的内部链接,对过期的 URL 统一返回 410 状态码,而不是 200 空页面,这样爬虫就不会反复来试探。二是打开搜索引擎的站长平台后台,手动调整抓取速率上限。如果发现网站日志里爬虫访问过于频繁、占用了大量带宽,可以在后台将频率调低;反之,如果重要内容迟迟未被收录,则应适当调高并提交 URL 收录请求。另外,用站长工具定期查看抓取统计报告,判断高频抓取都被哪些路径消耗掉了,再针对异常部分做屏蔽处理,能让资源分配更合理。
很多网站在做爬虫控制时,并非不懂语法,而是栽在一些容易被忽略的全局性问题上。这里梳理几个高频错误供参考。
两者作用层级不同,无法互相替代。robots.txt 属于目录级的大范围规则,适合屏蔽整个后台或某个文件夹;meta noindex 属于单页级的精准规则,适合标记某个具体页面不收录。控制粒度要求高时,优先用 meta 标签;需要屏蔽整段路径时,用 robots.txt 更高效。
改版后旧页面的爬虫规则要立刻同步调整。如果旧页面有对应新地址,应设置 301 跳转,同时在新页面保留合适的索引指令;如果没有对应内容,应返回 410 状态码,并在 robots.txt 中补充屏蔽相关路径,最后到站长平台提交改版工具或死链声明,加速处理进程。
最直接的方法是查看服务器访问日志,确认爬虫是否仍在请求已被禁止的 URL。也可以使用站长平台自带的 robots 测试工具,输入任意链接即可立即验证哪条规则会命中。另外,通过 site 指令或索引覆盖报告,能观察被排除页面的数量变化趋势,从而反向判断规则的实际影响力。
爬虫抓取控制不是一次性配置,而是一个需要持续观察和迭代的日常运维环节。建议每季度检查一次 robots.txt 与页面指令的匹配度,清理无用链接,并依据搜索引擎的抓取报告适时调整速率。先保障核心内容优先被收录,再逐步清理边缘页面,站点的收录质量和整体流量会稳步提升。