外贸独立站防爬虫AI识别访问过滤规则
为什么外贸独立站要防AI爬虫
外贸独立站经常被各类AI训练爬虫、SEO采集工具盯上。
这些爬虫会大量抓取产品页、详情页,不仅消耗带宽和服务器资源,还可能泄露定价策略、库存信息。
单纯靠 robots.txt 对AI爬虫往往无效,因为它们不遵守标准协议。
我们需要在服务器层面主动识别并拦截。
准备工作:确认你的服务器环境
动手前先确认两件事:
- 网站运行环境:是否使用了宝塔面板?如果没有,请确保能通过 SSH 登录服务器并拥有 sudo 权限。
- Nginx 版本:执行
nginx -v查看,建议不低于 1.18。如果使用 Apache,方法类似但规则写法不同,本文以 Nginx 为例。
核心操作:两种配置方式
方式一:宝塔面板(适合新手)
登录宝塔后台,进入网站设置:
- 点击“防火墙” -> “User-Agent 过滤”
- 添加以下恶意爬虫的 UA 关键词(每行一个):
GPTBot
Claude-Web
Bytespider
SemrushBot
AhrefsBot
DataForSeoBot
- 动作选择“阻止”,保存即可。
如果需要更严谨的规则,可开启“恶意请求过滤”模块,开启“禁止空Referer”和“禁止非浏览器访问”。
方式二:手动修改 Nginx 配置文件(更适合自定义)
SSH 登录服务器,编辑网站配置文件(例如 /etc/nginx/sites-available/example.com.conf):
server {
...
# 在 server 块内添加以下 map 和 if 规则
map $http_user_agent $block_ai_crawler {
default 0;
~*(GPTBot|Claude-Web|Bytespider|SemrushBot|AhrefsBot|DataForSeoBot) 1;
~*(python-requests|curl|wget) 1; # 可选:禁止常见命令行工具
}
server {
# ...
if ($block_ai_crawler) {
return 403;
}
}
}
检查配置并重载:
nginx -t
systemctl reload nginx
常见踩坑与解决办法
- 误伤正常爬虫:Googlebot、Bingbot 不应加入过滤列表。建议只拦截已知的 AI 训练爬虫和采集工具。
- 动态 UA 伪装:部分恶意爬虫近期开始模仿浏览器 UA,单纯靠 UA 过滤已经不够。可以结合 IP 频率限制(参考 Nginx
limit_req模块)。 - 宝塔防火墙误拦正常访问:如果开启“禁止非浏览器访问”,可能影响你的 API 接口或第三方支付回调。请先测试再全站生效。
验证过滤是否生效
配置完成后,用被拦截的 UA 访问网站测试:
curl -A "GPTBot/1.0" -I https://yourdomain.com
如果返回 403 Forbidden 表示拦截成功。
如果是 200 OK 说明规则未生效,请检查配置写入位置是否正确。
另外,查看 Nginx 访问日志:
tail -f /var/log/nginx/access.log | grep GPTBot
若日志中无该 UA 的记录,说明过滤有效。
总结
外贸独立站防爬虫不能只依赖 robots.txt。
通过 Nginx UA 过滤或宝塔防火墙规则,可以有效拦截大部分 AI 爬虫和采集器。
建议长期维护列表,定期查看最新恶意爬虫 UA,并配合频率限制提升防护效果。
如果你在配置过程中遇到异常,优先检查 Nginx 配置语法和规则作用域。