3.3 广告、防灌水与内容审核
广告不把用户赶走,灌水进不来,出了事有人兜底。
广告位怎么配
后台 → 广告 → 广告管理,这里管的是广告的定义,投放规则在同一页逐条设置。理解这两层的区别,是配广告的第一步。
| 广告类型 | 用途 | 建议 |
|---|---|---|
| 代码广告 | 第三方广告联盟的 JS 代码 | 投放前确认联盟已在你的站点备案 |
| 图片广告 | 自己做的静态图,指向一个链接 | 最可控,性能也最好 |
| 文字广告 | 一行文字链接 | 放规则区、社区公告位 |
| 自定义 HTML | 一段自己写的代码 | 只放自己写的,别放来路不明的片段 |
每条广告要设五项:投放范围、投放时段、有效期、是否随机投放、显示次数上限。
过期下线必须设。 投放了联盟广告就忘了撤是常事,代码过期后联盟那边照样按展示计费。先设有效期,再和联盟核对上线时间。
随机投放值得单独说。同位置挂多条广告时开启随机,用户每次看到的不同,联盟的点击率统计更真实;不开启则按顺序轮换。技术论坛、资讯站建议开,商城、招聘这类需要曝光稳定的可以关。
模板里广告位写作 {ad/位置名},编译成 PHP 后才真正输出内容:
<div class="ad-area">{ad/thread}</div>
位名称和模板里写的必须一致,改了后台位名称、模板不改,就变成空白位——这是广告「不见了」最常见的原因。
广告与体验的平衡
广告让站点活下去,体验让用户留下来。矛盾点在密度和频率,跟你怎么放有关。
| 位置 | 建议 | 理由 |
|---|---|---|
| 列表页主题之间 | 最多插 1 条,每隔 5 屏一次 | 每屏一条会让帖子列表变成广告墙 |
| 内容页正文 | 只在正文末尾放 | 正文里插广告,跳出率最高 |
| 侧边栏 | 可长期固定,总高度不超过一屏 | 侧栏是用户的预期区域,不算打扰 |
| 签到、注册、反馈页 | 一律不放 | 这些是必须完成的流程页 |
| 搜索结果页 | 不放 | 搜什么给什么,掺广告等于欺骗 |
一条经验值:广告控制在用户一屏之内能看到不超过两个。超过这个数,跳出率上升的幅度通常大于广告收入的增幅。
防灌水的多层手段
灌水防护没有单点解法,只能叠层。每一层拦不同东西,副作用会互相抵消,所以要按强度往上加,别一步到位。
| 措施 | 拦什么 | 强度 | 副作用 |
|---|---|---|---|
| 关闭开放注册 | 批量注册小号 | 高 | 新用户进不来,增长停滞 |
| 审核后注册 | 无差别批量注册 | 中高 | 审核员变成瓶颈 |
| 发帖间隔限制 | 短时间连发帖 | 低 | 正常用户连发被打断 |
| 新手限制(发帖数、版块权限) | 刚注册的小号 | 中 | 真新人受限,流失一部分 |
| 内容审核队列 | 需人工判断的内容 | 中 | 队列积压时用户等得久 |
| 关键词过滤 | 已知广告词、联系方式 | 低 | 误伤含关键词的正常内容 |
| 内容长度限制 | 纯符号、无意义短贴 | 低 | 提问类站点受影响 |
| 附件类型限制 | 挂马、可执行文件 | 中 | 合法类型被误拦 |
| 重复内容检测 | 复制粘贴的批量发布 | 低 | 正常的重复提问也会被拦 |
| 人工巡查 | 前面的都漏掉的 | 高 | 纯人力,规模一大就崩 |
新手限制最值得先开。用户组权限里有「注册天数」「发帖数」「积分」三类门槛条件可组合使用,新人限制发帖量、限制带外链、限制上传,正好对应三种典型的小号行为。发帖间隔限制对所有人生效粗暴,建议只给新手组配——老用户连发三个帖子是正常行为,卡住他们换来的投诉比挡下的灌水多。
关键词过滤怎么配
后台 → 内容 → 关键词管理,动作有三种:
- 替换:命中的词换成星号或自定义文本,内容直接可见。用于想在正文留个痕迹的敏感词。
- 审核:命中的内容进审核队列,人工看过才显示。用于广告、联系方式、违规内容。
- 拦截:直接禁止提交。慎用,误伤一次就少一个用户。
词库的维护比词库本身重要。定期从版块捞出可疑内容补词,半年不更新的词库等于没有。
内容审核的三种模式
审核是按用户、按版块、按关键词三个维度分别开关的。
- 内容审核:控制新用户内容是否需审核。在用户组权限里设「审核用户组」,该组的发帖、回帖、附件全部进队列。
- 用户审核:把某个用户整体标记为需审核,此后他的所有内容都先进队列。用来处理已被标记可疑的账号。
- 关键词审核:命中才进队列,就是上一节那套。
审核队列相关的表在 pre_moderation_* 系列里,字段以官方《X5.0 开源版数据字典》为准。审核记录要定期清理,队列表只增不减,跑到几十万行时后台审核页会明显变慢。
审核员的权限给到什么程度是个权衡。给版主「处理本版审核」的权限效率高,但版主本身没有约束。建议配一条:审核员不能审核自己发的内容,这条在权限配置里做不到,得靠站务约定写死。
一个中型社区的审核工作流
假设日发帖 500,5% 需要人工过一遍,即每天 25 条待审,一个兼职审核员就能扛住:
| 角色 | 审什么 | 频率 | 时效 |
|---|---|---|---|
| 论坛版主 | 本版待审内容、外链帖 | 每天三次 | 2 小时内 |
| 站点管理员 | 认证申请、申诉、版主争议 | 不定期 | 24 小时内 |
| 值班审核员 | 图片附件、疑似广告 | 每天一次 | 4 小时内 |
处理动作就三个:通过、拒绝、删除。拒绝要选理由,理由会通过站内信发给用户。申诉靠用户回复站内信、由管理员人工复核,不设自动申诉入口,自动入口必然被用来刷。
巡检时固定跑这条 SQL,灌水的形状立刻显形:
-- 近 7 天发帖最多的作者,异常值一眼可见
SELECT authorid, COUNT(*) AS num FROM pre_forum_post
WHERE dateline > UNIX_TIMESTAMP() - 604800
GROUP BY authorid ORDER BY num DESC LIMIT 20;
待审队列的积压直接看后台审核页的数字。连续三天翻倍,你要么加人,要么放宽审核范围——把范围从「所有新用户」放宽到「新用户的前 5 帖」,压力立刻减半。
上线检查表
- [ ] 每条广告都设了有效期,过期的已下线并与投放方核对过
- [ ] 模板里的
{ad/位置名}与后台广告位名称一致,页面无空白位 - [ ] 注册、签到、反馈、搜索结果页没有放广告
- [ ] 发帖间隔限制只配在用户组,没有对所有人生效
- [ ] 关键词库设的是「审核」而非「拦截」,词库近期有更新
- [ ] 新手限制已配到用户组权限里;审核队列表定期清理,后台审核页不卡
- [ ] 「审核员不审自己的内容」写进了站务文档
