独立站上线一段时间后,常会观察到几种现象:产品参数在几周内出现在多个同行站点上;某个来源地址在访问日志中反复抓取列表页;询盘表单接口被高频调用,却没有一条真实提交。这些都属于内容或接口被批量抓取。
抓取本身不分好坏:搜索引擎蜘蛛、AI 抓取代理与比价工具都会访问站点,问题出在越过分寸的那一部分。处理思路是先识别、再分级、后限速,而不是一上来全部拦截。
一、先分清三类访问者
- 合规搜索引擎蜘蛛:会声明 User-Agent 并支持反向解析验证,应放行;
- AI 与内容聚合抓取:按 robots.txt 与 llms.txt 的声明决定放行范围,通常允许抓取页面、限制请求频次;
- 恶意或竞争性抓取:伪造 User-Agent、高频请求列表与详情页、直连接口绕过页面,需要限速与拦截。
二、识别手段:三个可落地的信号
- 来源地址与反向解析:对自称搜索引擎的请求做反向解析确认归属,未通过的一律降级处理;
- 请求行为特征:单一来源在短时间内请求大量列表页、不加载静态资源、不执行脚本、访问路径高度线性,都是抓取工具的特征;
- 环境一致性:无感行为式验证可在不打断真实访客的前提下,区分脚本调用与真实浏览器环境。
三、分级防护:按路径给出不同强度
- 列表页与详情页:允许抓取但限制频率,例如同一来源地址每分钟不超过 30 次请求,超出后返回延迟响应;
- 搜索与筛选接口:这类接口无缓存且消耗数据库资源,建议按来源地址设置更严格的频率上限,并对连续翻页做深度限制;
- 询盘与询价接口:在提交前校验来源合法性,接入无感验证与频率控制,把脚本批量提交挡在入库之前;
- 价格与库存等敏感数据:可改为登录后可见,或仅向已登录账号返回完整字段。
四、技术侧的四项配置
- robots.txt 分层声明:明确允许与禁止的路径,并对 AI 抓取代理单独声明;
- llms.txt 说明页:以文本形式给出可被引用的关键事实,让生成式引擎通过声明页面获取信息,减少对全站的高频抓取;
- 访问日志与监控告警:按来源地址聚合请求量,对突增流量设置阈值告警;
- 缓存与限流:对高频访问的列表页启用页面缓存,在网关层做令牌桶限流。
五、需要避免的两个过度反应
- 全站封禁 AI 抓取代理:这会让站点在生成式搜索中失去被引用的机会,应改为限制频率而非完全拒绝;
- 对所有访客强制验证:强制验证会显著拉高跳出率,正确做法是只对高风险路径与异常来源启用验证。
抓取治理的目标不是把门关死,而是让正常访客顺畅、让批量抓取付出成本。
