Zsens友情链接插件如何配置与巡检教程?

张先生
张先生 主理圣羽星庭 执序官者社群翘楚勋望元宿
社区管理
部署教程 164 浏览 2 回复

本插件用于实现友情链接管理、用户自助申请、后台人工审核,同时支持定时巡检对方站点是否挂载本站友情链接。前台友链区块展示于社区左侧栏「官方公告」下方。

一、安装与功能入口

后台进入应用中心,安装并启用「友情链接」插件。

常用功能入口:

  • 应用中心 → 友情链接 → 配置:功能开关与巡检参数设置
  • 后台菜单 → 友情链接:友链列表、申请审核、手动巡检操作
  • 前台侧栏友链区块、友链申请弹窗;友链列表页访问地址:/friends

二、基础配置(应用中心)

配置路径:应用中心 → 友情链接 → 配置

表格

配置项说明运营建议
启用友情链接关闭后前台全部隐藏,同时关闭用户申请入口正式站点保持开启
开放自助申请关闭仅支持后台手动添加友链对外互换友链场景开启
申请需登录控制游客是否可以提交友链申请防刷防垃圾申请,建议开启
人工审核开启:用户提交申请需后台审核通过才展示;关闭:提交直接上线展示建议开启,过滤无效申请
侧栏标题社区左侧栏友链区块显示标题默认:友情链接
侧栏显示条数控制左侧栏最多展示友链数量默认 12 条

修改完成保存后前台即时生效。

三、巡检相关配置(重点)

1. 本站识别关键词

系统会抓取对方站点首页 HTML 源码,匹配关键词,命中任意一条即判定为已挂载我方友链(匹配不区分大小写)。

  • 留空:系统自动读取本站主域名、去除 www 域名、站点名称、社区首页地址作为识别关键词。
  • 推荐手动填写,每行一条,示例:
yourdomain.com
https://www.yourdomain.com
你的站点名称
⚠️注意:关键词范围过宽容易产生误判;填写完整带参数 URL 又会造成漏检。优先使用主域名 + 站点名称组合,识别准确率最高。

2. 巡检间隔(小时)

仅对状态为「展示中」、从未巡检、或距离上次巡检超过设定间隔的友链执行检测。
默认 24 小时;友链数量较多时可适当调大间隔,减少对对方站点的访问压力。

3. 连续失败下架次数

站点抓取失败、源码未匹配到关键词,将会累计失败次数。
累计达到设置阈值,插件自动将该友链变更为已下架,前台不再展示。

  • 默认值:3
  • 设置为 0:仅记录巡检结果,不会自动下架友链。
    巡检判定正常通过后,该友链失败次数自动清零。

4. Web 巡检密钥

用于浏览器 / 计划任务触发巡检,访问地址:
https://你的域名/friends/cron?key=你的密钥

  • 留空:禁用 Web 触发入口,依旧可以使用命令行执行巡检。
  • 请使用随机长字符串作为密钥,禁止对外泄露。

四、配置完成,如何让巡检正常执行

三种触发方式任选其一,也可组合使用。

方式 A:命令行(推荐,稳定性最优)

网站根目录执行命令:

php think friends:check

限制单次巡检处理数量(默认最多 50 条)

php think friends:check --limit=30

Linux Crontab 定时任务示例(每小时执行一次)

0 * * * * cd /path/to/网站根目录 && php think friends:check >> /tmp/friends-check.log 2>&1

Windows 计划任务:新建计划任务,调用php.exe,参数填写 think friends:check,起始目录指定为网站根目录。

方式 B:Web 访问触发

配置页面填写好 Web 巡检密钥,访问生成的 Cron 地址。
可使用宝塔计划任务,选择「访问 URL」定时请求该链接。

方式 C:后台手动巡检

进入友情链接列表页:

  • 巡检到期:批量巡检所有到达检测周期的友链
  • 单行巡检:针对单条友链立即执行检测
    适合配置调试、个别异常站点排查。

五、日常业务管理流程

后台手动新增友链

友情链接 → 新增
填写站点名称、友链地址(优先 HTTPS 协议),可填写 Logo 地址、站点简介、联系方式、排序权重。
状态设置为「展示中」即可前台显示;排序数值越小,展示优先级越靠前。

自助申请审核(开启人工审核模式)

列表筛选状态为「待审核」的申请记录

  • 通过:变更状态为展示中,前台生效
  • 拒绝:状态改为已拒绝,可填写拒绝理由
    已上线友链支持手动下架;已下架友链可重新上架恢复展示。

查看巡检结果

列表核心字段说明:

  • 互链状态:未巡检 / 已挂载 / 未挂载
  • 失败次数:连续巡检异常累计次数
  • 上次巡检:最近一次检测时间
    支持按友链状态、巡检结果筛选,快速定位异常友链。

六、巡检判定逻辑与排错指南

工作原理:系统向友链地址发起 GET 请求获取页面 HTML 源码,检索配置的本站识别关键词完成判断。

常见未挂载 / 抓取失败原因

  1. 对方站点并未放置我方友链,友链通过 JS 动态渲染,页面源码检索不到链接
  2. 设置的识别关键词,和对方页面实际书写格式不一致
  3. 对方站点开启防爬策略、访问超时、HTTPS 证书异常、非 200 响应码
  4. 友链填写地址为内页,并非放置友链区块的首页

排错处理建议

对异常友链点击单行巡检,查看返回提示,确认是抓取失败还是关键词未匹配。根据实际情况调整识别关键词或者修改对方友链地址,巡检成功后失败次数会自动清零。

七、生产环境推荐落地配置(可直接参照)

  1. 启用友情链接、开放自助申请、申请需登录、开启人工审核
  2. 手动填写本站识别关键词:主域名 + 站点名称
  3. 巡检间隔 24 小时,连续失败下架次数设置 3 次
  4. 配置随机 Web 巡检密钥,或配置 Linux Crontab 命令行巡检
  5. 配置完成后,后台执行一次「巡检到期」,验证巡检逻辑运行正常

完成以上配置,即可实现:用户提交申请 → 后台人工审核 → 定时互链巡检 → 异常友链自动下架 的完整业务闭环。


评论2
评论 · 2
863863000
863863000 新手 · #2 ·
写得很清楚,收藏了
小助手
小助手 版主圣羽星庭 勋望元宿志愿先锋 · #1 ·
张先生辛苦整理,这份教程非常详尽实用,已收藏!

补充几点生产环境建议供参考:

1. 优先使用 Crontab 命令行巡检(方式 A),可避免 Web 超时限制,日志也方便追溯;
2. 若对方站点有 Cloudflare 等防护或强制 JS 渲染,建议先用「单行巡检」排查,再调整识别关键词为纯域名,减少误判;
3. 巡检密钥请务必使用随机长字符串并定期更换,防止被恶意请求消耗资源。

友链插件的业务闭环设计得很清晰,后续大家在配置或排错中遇到问题,欢迎继续跟帖交流。
微信客服 微信客服