登录

精华独立开发:WordPress 评论外链守卫插件

72323
  • 楼主博主 编辑于

    image.webp

    一个给 WordPress 老评论外链做体检的插件。先看人还来不来,再看这域名现在是什么。文末有下载。

    老张博客都快十八年了,十八年来在老张博客留言的博友三五千的应该有,而这些博友的域名很大一部分更换过,而原来的域名被某些” 组织 “抢注变成了黄、赌、毒的网站。这也是我之所以把博客一直放在海外服务器上一个最主要的原因。当小龙虾和 hermes 盛行的时候,我也在服务器上部署了 hermes,想对这两万多条评论进行下手整治,可能是当时 AI 还比较笨,没有找到好的方法,最后也不了了之了。
    前几天看到了扶苏的《道路千万条,安全第一条》和水拍石的《wordpress 评论表单中旧链接安全检查插件》文章之后,受到了他们两人的启发。先用扶苏的方法,把较老的评论链接直接降级成文本,然后再按水拍石的思路把近一阶段的评论链接进行” 打分 “筛选,然后再加上我的一些思路,最终形成了我的”WordPress 评论外链守卫插件

    一、功能介绍

    image.webp

    工作原理判断它还是不是原来那个博主的站。判断依据有两条——这个人还来不来,这个域名现在是什么。

    判定按固定顺序走,前面命中就停,不再往下看:

    顺序检查结果
    1站长手动加的白名单放行
    2已知风险(博彩 / 色情 / 诈骗 / 域名待售)+ 黑名单降级
    3死链(DNS 解析不了 / 404 / 410)降级
    4域名已成停靠页 / 待售页降级
    5近 1 年还有往来放行(也不进体检)
    6超过 5 年没往来归档降级
    7夹在中间的 · 已不是个人站降级
    8其余放行

    第 5、6 条的时间阈值可以在设置里改。我的两万多条评论,最后只有 325 个需要真的去抓页面看一眼,大部分链接在第 1 步就处理完了,一个页面都没去抓。
    注意了,我是设置抓取近一年至五年的评论链接进行 “打分、考核”,如果你要是选时间更近,估计也就是一百来条链接。

    需要明白的是:

    • 抓不到 ≠ 有问题。DNS 死了、被墙了、超时,一律不降级,看不清就不下结论。
    • 实锤的结论不能被网络波动洗白。判成风险的域名,之后哪怕某次抓取失败,结论也留着。

    二、后台设置

    装好,左侧菜单多一个「外链守卫」。

    image.webp

    体检页最上面是进度。它只扫「免考核期」到「人情味期」之间的域名,默认 1 年到 5 年:近一年还在留言的不扫,超过人情味期的也不扫——前台早降级了,扫了白烧 CPU。(图里写 "2 年",是我这个站自己填的,默认是 5 年。)

    image.webp

    风险清单每行有分数、命中词、页面标题,确认就点「拉黑」——以后这个域名再有人填,评论直接提交不了。

    image.webp

    最为推荐的功能:「域名速查」。 拿不准一个域名为什么被降、或者为什么被放行,把它粘进去,判定链每一步都摊开给你看。

    image.webp

    图里这个:标题「英国 · 威廉希尔体育公司 - 中文官网」,两个高置信词,100 分判风险。下面几层写着 "本次未参与"——判定是短路的,不是每层都算一遍。所以误判时你一眼能看出是哪层判的。

    三、前台效果

    降级不是删评论,是把链接换成纯文本。 评论内容、作者、时间一个字不改,网页源码里也不会再出现那个域名。

    image.webp

    注意「车牌吉凶」底下那道虚下划线——它的网址被判成 "已不是个人博客"。其他正常访客的名字就是普通文字,看不出来。

    四、使用方法

    1. 安装

    后台 → 插件 → 安装插件 → 上传 zip → 启用。要求 WordPress 5.5+、PHP 7.4+。

    2. 第一次扫描,一定要扫

    刚装好时体检表是空的,它还没看过任何一个域名的内容,所有链接都按默认规则(只看往来时间)放行。进「外链体检」,点「连续扫描到完成」。

    实测大约 2~4 秒一个:

    域名数量大约耗时
    100 个5 分钟
    500 个25 分钟
    2000 个2 小时

    扫的时候可以切到别的标签页干别的事,不会断。扫完每小时还会自动复查一批到期的(7 天一轮),不用你管。

    3. 设置里就两个数字要理解

    设置两个数字需要理解下:「免考核期」默认 1 年,这期间还在来往的直接放行;「人情味期」默认 5 年,超过就归档降级。这里你可以设置 1-2 年,也就是近一年内的直接可点链接,2 年之前的链接全部降为文本,1-2 年的纳入 “考核”

    4. 几个要注意的地方

    改完设置、或者扫完了,前台没变化? 八成是页面缓存。降级是渲染的时候替换的,缓存插件存的是替换之后的页面。插件会自动清 WP Rocket、LiteSpeed、W3TC 这些,用 CDN 的话你手动清一次。

    某个正常博客被降级了? 去「域名速查」看它是哪一层被判的,判错了点「加入白名单」。判据永远有误差,白名单就是留给人纠错的。

    某个域名一直显示 "抓不到"? 多半是 IP 被对方防火墙拦了,或者那个站只对国内网络开放。插件带了「本机抓取助手」,在你自己电脑上跑个脚本去抓、结果回传,判定标准和服务器完全一致。

    数据:检测结果、黑白名单全存在你自己站点的数据库里,不向任何第三方上报;运行时唯一的外部请求是抓待检域名的首页,这就是体检本身;不采集访客 IP。停用只影响前台,数据全保留;删除会清空体检表和黑白名单,想关掉的话,停用。

    五、下载

    版本 1.5.6 | 需要 WordPress 5.5+、PHP 7.4+

    项目地址:https://github.com/laozhangge/wp-comment-guard

    插件支持在线更新!

    收藏支持 1反对打赏

23 条回复

发表回复