wordpress不支持彻底禁止爬虫采集评论,但可通过robots.txt屏蔽评论路径、禁用评论feed与api、前端蜜罐干扰及强化审核等组合策略有效防护。

WordPress本身不鼓励也不支持通过技术手段彻底“禁止”爬虫采集评论数据,因为HTTP协议本质是开放的,只要内容在页面上渲染出来,就可能被获取。但你可以有效限制垃圾爬虫批量抓取评论,并保护真实用户互动价值。
屏蔽评论相关URL路径(robots.txt)
这是最基础也最有效的第一道防线。主流搜索引擎蜘蛛会遵守该规则,避免把评论分页、评论Feed等低价值链接纳入索引,间接降低被采集动机:
- 在网站根目录robots.txt中添加以下规则:
User-agent: *
Disallow: /comments/
Disallow: /*/comment-page-
Disallow: /*?replytocom=
Disallow: /comments/feed/
Disallow: /feed/comments/
这些规则能阻止爬虫访问评论列表页、分页评论、回复跳转链接及评论RSS源,大幅减少结构化评论数据暴露面。
关闭评论Feed与API端点
WordPress默认开启评论RSS和REST API公开接口,它们是采集工具最爱的“快捷入口”:
- 禁用评论Feed:在主题functions.php中加入
function disable_comment_feeds() { wp_die( '评论订阅不可用' ); }
add_action( 'do_feed_rss2_comments', 'disable_comment_feeds' );
add_action( 'do_feed_atom_comments', 'disable_comment_feeds' );
- 限制REST API评论接口:仅允许已登录用户访问,避免未授权批量拉取
add_filter( 'rest_comment_query', function( $args ) { if ( ! is_user_logged_in() ) { return []; } return $args; } );
前端干扰+后端蜜罐组合防护
针对绕过robots.txt的恶意采集器(如火车头、Python Requests),需部署主动防御:
- 在评论区域插入隐藏蜜罐字段(例如
<input type="hidden" name="honey" value="trap">),正常用户不会填写,而自动化脚本常会提交,触发IP临时封禁; - 对评论HTML做轻量混淆,比如在每段文字末尾插入零宽空格(
),不影响阅读,但会使采集结果夹杂不可见乱码; - 启用插件级防护(如声达网防采集插件),自动识别并拦截
Scrapy、python-requests等典型采集UA,并记录可疑请求日志。
强化评论审核与权限控制
从源头减少可采集的“干净数据”:
- 后台 → 设置 → 讨论 → 勾选“评论必须经人工审核”,避免未审评论直接公开;
- 关闭“用户登录后可无需审核发表评论”,防止采集账号批量刷评;
- 使用Akismet或同类服务自动过滤含外链、重复内容、机器特征的评论,降低垃圾评论入库率。
真正有价值的评论互动,从来不是靠隐藏来保护,而是靠筛选、标记与合理曝光来提升权重。重点守住入口、干扰批量、留存证据,比追求“完全防住”更务实有效。











