以下是一份汇总自最新网络信息的 WordPress 网站反爬虫方法指南,帮助站长减少被恶意爬虫采集或不当利用的风险。
1. 使用 robots.txt 文件管理爬取范围
通过在站点根目录创建或修改 robots.txt
文件,可以告知搜索引擎爬虫哪些页面可访问、哪些页面禁止抓取。
- 示例:
User-agent: *Disallow: /wp-admin/Disallow: /private/
需要注意的是,
robots.txt
只是“礼貌性”协议,一些恶意爬虫可能会忽略它。
2. 屏蔽特定 IP 或 User-Agent
2.1 IP 屏蔽
若在服务器日志中发现某些 IP 大量请求,可通过服务器规则或安全插件进行屏蔽。
- Nginx/Apache 示例:
deny 123.45.67.89;deny 98.76.54.32;
2.2 User-Agent 屏蔽
在主题或插件中根据字符串检测恶意爬虫的“User-Agent”,然后拦截该请求。
- 示例:在
index.php
中简单判断:$ua = $_SERVER['HTTP_USER_AGENT'];$block_ua = array('EasouSpider','Python-urllib','MJ12bot');foreach($block_ua as $ua_str){ if(strpos($ua, $ua_str)!==false){ die('Forbidden'); }}
3. 利用插件限制爬虫访问频率与权限
- 可以通过安全插件或访问频率限制插件来识别并拦截可疑流量。
- 设置登录验证码(如为评论区、后台登录添加验证码)以区分人机。
- 使用反爬虫插件(如一些IP封禁、验证码或爬虫协议插件)可进一步增强保护效果。
4. 部分隐藏 RSS 内容
RSS 常被自动采集工具利用,若不需要继续对外公开全文,可在 WordPress 后台设置只显示摘要或手动添加自定义信息。
- 操作路径:后台 “设置” > “阅读” > 将 “对于每篇文章,提供的摘要内容” 设置为 “摘要”,从而降低全文被采集风险。
5. 使用安全工具或 WAF
- 可在服务器侧部署 WAF(Web 应用防火墙),如宝塔面板或云厂商提供的 WAF 服务,实时检测并阻断恶意流量。
- 一些安全插件也可提供简单的防火墙功能,对特定流量进行拦截或警报。
6. 其他辅助措施
- 权限控制:将私密或敏感页面设为仅登录可见,或添加付费/注册限制。
- 水印与声明:为图片添加水印,或在网站底部标明版权声明,有助于在被爬取后进行维权。
- 定期监控:及时查看网站访问日志,若出现异常高频请求,可据此做进一步封禁或规则调整。
总结
WordPress 网站面对爬虫,多措并举才可取得较好效果。除了对普通爬虫的礼貌性指令外,更需结合 IP/User-Agent 屏蔽、验证码验证、安全插件或 WAF 等方式进行综合防护。
同时,保持网站及插件持续更新、定期检查访问日志,也能有效降低恶意采集带来的风险。