个人博客和小网站有必要做防采集吗?
个人博客和小网站不必做防采集,但必须防拖垮,重点是用 robots.txt、Nginx 限流和 CDN 保护源站,避免带宽与数据库被采集器耗尽。
结论先行:个人博客和小网站不需要做「防采集」,但必须做「防拖垮」——也就是限流和保护源站。真正会把你打疼的不是有人抄你的文章,而是采集器把你的带宽、CPU 或数据库连接数跑满。所以花 30 分钟配上 Nginx 限流 + CDN,性价比远高于去研究 JS 加密、字体混淆这些重型反爬手段。
防采集和防拖垮,到底有什么区别?
结论:防采集的目标是「不让人拿走内容」,防拖垮的目标是「不让人搞挂服务器」,后者才是小站该关心的。
- 防采集:屏蔽特定 User-Agent、验证码、内容加密、图片防盗链。这类手段会被绕过,成本却是持续的:搜索引擎也可能被误伤。
- 防拖垮:限制单 IP 的请求频率与并发数、挡掉异常流量。这类手段是「无差别安全网」,不会误伤正常读者,配置一次可以长期生效。
一个静态博客(Hexo、Hugo 生成)被爬 1 万次,代价只是几 MB 流量;一个 WordPress 动态站被爬 1 万次,就是 1 万次 PHP 执行加 MySQL 查询,共享主机上很可能直接 503。
不设防的小站会遇到什么具体后果?
结论:最常见的是三种——带宽被跑满、数据库连接被打爆、运营成本被动上涨。
- 带宽跑满:采集器单线程每秒可请求 5–20 次,多线程轻松到每秒上百次。按每页 200 KB 算,10 请求/秒就是 2 MB/s,一天就是 170 GB。放在按流量计费的 CDN 上,这就是真金白银。
- 数据库连接耗尽:WordPress 默认
max_connections常见的共享主机只有 30–75,并发一上来就报「Error establishing a database connection」。 - 内容被镜像:整站被搬到别的域名,搜索引擎收录重复内容,你的原创排名被分走。
成本最低的 3 个防护,具体怎么做?
结论:robots.txt 声明规矩、Nginx 限流兜底、CDN 挡在最前面,这三步加起来不到 1 小时。
第一步:robots.txt 只约束守规矩的爬虫。
User-agent: *
Crawl-delay: 10
Disallow: /search
Disallow: /*?s=
Sitemap: https://你的域名/sitemap.xml
注意:robots.txt 是君子协定,恶意采集器根本不看,但它能降低正常搜索引擎的抓取频率,值得写。
第二步:Nginx 限流,这是真正兜底的一层。
在 http 块加:
limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s;
limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
在 server 块加:
limit_req zone=req_limit burst=20 nodelay;
limit_conn conn_limit 20;
limit_req_status 429;
含义:单 IP 平均每秒 10 个请求,允许瞬时突发 20 个,同时最多 20 个并发连接,超出返回 429。10m 内存可存约 16 万个 IP 状态,个人站完全够用。正常读者手速到不了 10 请求/秒,不会误伤。
第三步:套一层 CDN。
Cloudflare 免费版就够:开启 Bot Fight Mode、把 HTML 页面的缓存时间设成 2 小时以上。这样绝大多数请求在边缘节点就被挡掉或直接返回缓存,源站看到的请求量能降到原来的 1/10 甚至更低。
什么情况才值得上更重的反爬手段?
结论:只有当内容本身能直接变现、或已经出现整站镜像时,才值得上 JS 挑战、字体混淆、登录可见这类手段。
判断标准可以量化:连续 3 天日志里,单 IP 日请求超过 5000 次、或 429 响应占比超过总请求的 30%,再考虑升级。升级顺序建议是:Cloudflare 5 秒盾 → WAF 规则封 IP 段 → 内容接口要求登录。越往后,误伤正常读者和搜索引擎的风险越高。
内容被抄了,为什么不靠防采集解决?
结论:抄袭是版权问题,用 DMCA 投诉和首发时间戳解决,比技术对抗有效得多。
具体做法:文章发布时保留原始 URL 和发布时间;在页面加 rel="canonical" 指向原文;发现整站镜像后,向对方主机商和 Google 提交 DMCA 投诉(Google 的 Copyright Removal 流程通常 7–14 天处理)。同时给页面加 Article 结构化数据(datePublished),让搜索引擎能判断谁是原创。
总结一下:个人博客和小网站的正确姿势是「轻防采集、重防拖垮」。robots.txt 表明态度,Nginx 的 limit_req + limit_conn 做兜底,CDN 挡在最前面,三件事 1 小时内能做完,能挡住 95% 以上的粗暴采集和误伤风险。剩下的抄袭问题,交给时间戳和 DMCA,不要指望技术手段解决版权问题。
转载请注明出处,版权归原作者所有。