Meta 描述:Nginx 配置规则屏蔽搜索引擎抓取搜索页、分页、下载跳转页,减少无效收录,节省服务器爬虫带宽资源。
网站很多页面不希望被搜索引擎收录,例如搜索结果页、卡密弹窗页、下载中转页面,如果被大量抓取,会消耗服务器带宽,还会产生大量垃圾收录,影响网站权重。除了 robots.txt,Nginx 可以直接返回 http 状态码拒绝蜘蛛抓取。
操作步骤
- 登录宝塔,网站设置,点击配置文件,找到 server {} 区块
- 在 server 内部添加规则,区分百度蜘蛛 UA,匹配不希望收录的 url 路径
- nginx
if ($http_user_agent ~* "Baiduspider") {
if ($request_uri ~* "/search|/download-jump|/cardmi") {
return 403;
}
}
- 保存配置,点击重载 Nginx,确认没有报错。
补充 robots.txt 配合写法
plaintext
User-agent: *
Disallow: /search
Disallow: /download-jump
Disallow: /admin
验证是否生效
- 使用 curl 模拟百度蜘蛛 UA 访问页面,查看返回状态码
- 百度资源平台抓取诊断工具,测试对应 url 返回码
注意事项
- 不要直接屏蔽真实资源详情页面,只屏蔽中转、搜索、后台地址
- 规则写错会造成全站无法访问,修改配置一定要重载测试。
小结:robots 只是建议,部分爬虫会无视 robots,Nginx 直接返回状态码,拦截效果更强,减少服务器无效抓取压力。