FinchUI 城市分站插件

一套 Z-Blog 站点,瞬间拆出 N 个城市分站——「北京装修网」「上海装修网」「广州装修网」各自独立 URL、独立 SEO、独立内容池,但共用同一个后台和分类树。一篇文章只发一次,按城市归属即可在对应分站亮相,永远不重复劳动;空城市自动跳走、跨城文章自动 302,搜索引擎不会再收录重复或空壳页面。支持 txt 批量导入文章(键值对格式,标签自动创建),支持批量设置城市首页 SEO(块状多行,标题/关键词/描述),大幅降低多城内容填充门槛。专为想吃「地域词流量」红利的本地服务、招商加盟、连锁品牌、本地资讯、房产汽车等行业打造。无需修改主题,安装即用,需 Z-Blog 开启伪静态。

版本 1.0.7 更新 2026-06-26 全部作品 作者 星岚工作室

为什么需要城市分站?

做本地 SEO/GEO,「分站」就是最低成本的流量放大器
搜索「装修公司」和搜索「北京装修公司」的人,意图与转化率完全不同。前者是泛流量,后者是带城市意图的高价值流量。本插件让你用一套内容拆出 N 个城市分站,把「品牌词 + 地域词」的长尾流量全部接住。
  • 吃满地域长尾词

    每个城市独立首页、独立 SEO 三件套 「{城市} + 行业词」组合无限扩展 覆盖各级本地搜索意图

  • 本地化 GEO 信号

    独立子目录 / 独立子域名 城市级 canonical + sitemap 搜索引擎清晰识别地域归属

  • 一次创作,多城展示

    「全国」公共内容自动出现在所有分站 城市文章在对应分站独立存在 运营成本下降一个量级

  • 用户体验加成

    切换器 + IP 推荐让用户秒到本城 跨城访问自动 302 到正确城市 空城市自动跳走不出现 404 空页

核心能力

城市归属、URL 绑定、内容过滤,一站式覆盖
底层路由、改写、过滤、跳转全部由插件包办,你只需要在文章编辑页选个城市。
  • 文章按城市归属

    编辑页下拉选「所属城市」 「全国(不限城市)」 = 公共内容 页面(Page)默认全站可见,不参与城市过滤

  • 三种 URL 绑定模式

    子目录:example.com/bj/ 独立域名:bj.example.com / example-bj.com Query 兜底:?fui_cs_city=bj 未填子目录按城市拼音自动生成 slug

  • 批量城市管理

    从全国行政区批量导入城市 批量设置域名 / 城市标语 一键自动域名(按拼音 + 根域名生成) 一键导出全部城市入口网址 txt 批量导入文章(标题/标签键值对,≥10 个 = 分隔)

  • 城市内容过滤

    首页/分类/标签/作者/日期/搜索 全部按城市过滤 分页数量也按城市重新计算,不再出现假分页 跨城访问文章自动 302 到正确城市 空城市自动 302 到根域名首页,杜绝空壳页

  • 三层文章过滤防护

    ViewList 原生钩子(首页/分类/标签) GetList 钩子(侧栏小工具/相关文章) DbSql 安全网(兜底第三方插件直读 SQL) 覆盖率 99%+,几乎不挑主题

SEO / GEO 增强

搜索引擎友好不是口号,是每页都做到位
城市分站对 SEO 最大的痛点是 canonical 与 sitemap,本插件全部一键搞定,不需要懂技术也能配出干净的多入口结构。
  • 全局 SEO 标题模板

    文章页 / 分类页 / 城市首页 三组模板 支持 {城市}{分类}{文章标题}{站点名} 占位符 全站统一管理,告别一篇篇改标题

  • 城市首页独立 SEO 三件套

    每个城市单独配标题 / 关键词 / 描述 优先级高于全局模板 适合城市运营投放和本地落地页

  • canonical 自动注入

    每页自动写 canonical 指向当前分站 跨城文章自动 302 到 canonical 彻底杜绝多入口重复收录

  • 按城市过滤的 sitemap

    /{city}/sitemap.xml 自动生成 每个城市分别提交给搜索引擎 本地化爬取信号更纯净

  • 搜索表单同域提交

    独立域名分站搜索表单自带当前城市过滤 结果页 URL 干净,不跨域跳转 用户体验和爬虫体验同时改善

用户体验

让用户第一时间到达「自己城市」
好的城市分站不是把用户丢到首页让他自己找城市,而是 IP 推荐 + 一键切换 + 记住选择。
  • 浮动切换器弹窗

    前台浮动按钮 + 居中弹窗 拼音字母索引 A-Z 快速跳 关键词搜索秒到目标城市 城市网格清晰展示

  • 导航栏注入(可选)

    通过 CSS 选择器自动注入主题导航栏 不改主题代码即可融入导航 支持自定义注入选择器

  • 空城市自动隐藏

    切换器自动过滤无文章的城市 用户不会点到空壳分站 缓存机制保证性能

  • IP 自动切换(可选)

    内置 qqwry 离线 IP 库 首次访问根域名按 IP 提示分站 默认关闭,开启后可一键下载 qqwry 数据 用户手动切换后 cookie 记住选择,不再被改写

适用场景

凡是「城市 + 行业」搜索量可观的业务都该用
城市分站的红利期还在,但工具门槛把大部分中小站长拦在外面。本插件就是把这件事一次性做完。
  • 本地服务行业

    装修 / 家政 / 维修 婚庆 / 月嫂 / 摄影 搬家 / 干洗 / 教培

  • 招商加盟 / 连锁品牌

    全国直营或加盟门店 城市落地页 + 全国总站 本地咨询和留资分流

  • 本地资讯门户

    城市新闻 / 生活资讯 活动展会 / 旅游攻略 本地 KOL / UGC

  • 房产 / 汽车 / 招聘

    城市楼盘 / 二手房 本地车商 / 报价 本地职位 / HR

兼容与运维

不挑主题、不破坏后台、第三方插件友好
做城市分站的常见雷区——主题硬编码 host、第三方插件直读 SQL、缓存串站,全部已经替你踩过。
  • 不修改任何主题文件

    全部通过 Z-Blog 原生钩子接入 default / tpure / 自研主题均直接生效 ob_start 整页兜底处理硬编码场景

  • PHP 8.0+ 原生实现

    零 Composer 依赖 不引入冲突的第三方库 保持升级和维护简洁

  • 缓存插件兼容

    导出 $GLOBALS['fui_citysubsite_current_city'] 供 zCache 等缓存键拼接城市 code 杜绝多城共用同一份缓存导致串站

  • 演示数据一键试用

    内置 10 个城市 + 6 分类 + 24 标签 + 188 篇示范文章 全部带图,导入即可看到完整效果 一键清除不污染您自己的数据

环境要求

安装前请确认这几项
插件原生依赖较少,但必须开启伪静态。
  • Z-BlogPHP 1.7.5+

    官方最新版 无需打补丁 兼容 1.7 系列

  • 必须开启伪静态

    后台 → 全局设置 → 伪静态 未开启时插件停用所有路由并显示错误提示 ACTIVE 动态模式不兼容

  • PHP 8.0 及以上

    原生 PHP 实现 无第三方 Composer 依赖 充分利用 PHP 8 性能

  • 独立域名分站需服务器解析

    将子域 / 独立域名解析到同一站点目录 Nginx / Apache 添加 server name 即可 无需额外 rewrite 规则

持续迭代

已规划的能力与维护承诺
一次购买,长期更新。下个版本会进一步增强 IP 识别精度与第三方接入。
  • 下版本:IP 识别增强

    ip2region 离线库支持 第三方 IP API 链式回退 多 Provider 自动降级

  • 下版本:分站统计与运营

    每城市访问统计 城市分站健康度看板 更智能的空城市判断

  • 持续维护

    功能迭代与兼容修复 QQ / 微信 / 远程协助 Bug 优先处理

  • 一次购买不限站点

    不限建站数量 不限城市数量 无强制订阅