50个城市分站页面除了城市名不一样其他一模一样,上线3个月百度只收了4个,问题出在批量生成的逻辑上而不是工具上?
一个做家政服务的朋友去年底一口气上了50个城市分站,深圳、广州、北京、上海、成都……每个城市一个页面。用的是一套批量生成工具,模板写好,城市名自动替换,"深圳保洁"换成"广州保洁","深圳开荒"换成"广州开荒",50个城市页面半天就搞完了。上线三个月后去看百度索引量,50个页面只收录了4个,北京、上海、广州、深圳各收了一个,剩下的46个页面百度蜘蛛来都不来。
他第一反应是工具不行,换了三套生成器重做了两遍,收录率还是一样烂。后来找了几个做本地SEO的老手看,结论很扎心:不是生成工具有问题,是内容生成的逻辑有问题——50个页面除了城市名不同,TDK结构一模一样、页面布局一模一样、服务介绍段落一模一样、甚至连页面底部的"关于我们"都一模一样。在百度眼里,这50个页面不是50个城市分站,是1个页面复制粘贴了50份。
城市分站三个核心问题,做之前就得想清楚
| 1 | 用子域名(beijing.xxx.com)还是子目录(xxx.com/beijing/)?选错影响权重继承和独立优化空间 |
| 2 | 每个城市页面的内容差异化做到什么程度搜索引擎才认为不是重复页面? |
| 3 | 批量生成工具的选择:是追求生成速度还是追求每个页面的内容灵活度?两者往往不可兼得 |
一、城市分站被判定为"重复内容"的三个技术原因
百度判断页面是否重复,不看你是不是用了同一套模板(所有网站都有一套模板),而是看页面有效内容的重复比例。有效内容指的是去掉导航栏、页脚、侧边栏这些公共模块之后,真正属于这个页面的独特信息。
拿那50个城市分站来分析,每个页面有效内容区域大概1200字,其中1100字是通用模板(服务流程、公司介绍、承诺保障),只有100字是城市相关的内容(城市名+服务区域名)。有效内容的差异化比例不到10%,搜索引擎判定这50个页面是同一篇内容。
原因一:TDK模板化
Title:"{城市}保洁公司|{城市}开荒保洁价格"、Description:"{城市}专业保洁服务..."。50个页面只有城市名不同,Title重复度超过90%,百度在抓取阶段就直接判定为低质页面池。
原因二:正文有效内容雷同
服务流程、价格表、公司资质、售后承诺——这些通用模块占了页面85%以上的有效内容,搜索引擎比对后发现每个页面这些部分完全一致。
原因三:结构化数据标记相同
每个页面的LocalBusiness结构化数据中,name、description、areaServed字段值几乎一样,搜索引擎的结构化数据解析器直接归类为重复实体。

二、子域名还是子目录?这个选择影响的不只是URL好看不好看
城市分站的技术选型就两条路:子域名(beijing.example.com)和子目录(example.com/beijing/)。两种方案在权重继承、独立优化、运维成本上的差异非常大,选错了后面所有SEO工作都要打折。
| 对比维度 | 子目录(/beijing/) | 子域名(beijing.xxx.com) |
|---|---|---|
| 权重继承 | 直接继承主站权重,主站有权重分站页面跟着受益 | 被搜索引擎视为独立站点,权重从零开始积累 |
| 收录速度 | 快,蜘蛛爬主站时顺带爬子目录 | 慢,需要蜘蛛单独发现并抓取每个子域名 |
| 独立优化空间 | 有限,所有子目录共享主站的robots、sitemap、站点设置 | 完全独立,每个子域名可以有自己的robots、sitemap、独立TDK策略 |
| 重复内容风险 | 高,搜索引擎更容易发现子目录之间的内容相似性 | 中等,子域名之间相对独立,但大量子域名结构相似也会触发 |
| 运维成本 | 低,一个站点一套代码,新增城市只需新增目录 | 中等,每个子域名需要独立部署或配置泛解析 |
| 备案 | 不需要额外备案 | 子域名一般不需要单独备案(前提是主域名已备案) |
建议:城市数量少于30个、主站已有一定权重积累的,用子目录更划算——收录快、权重继承、运维简单。城市数量超过50个且需要针对重点城市做独立SEO策略的,核心城市用子域名+子目录混合架构:北上广深用子域名独立优化,二三线城市统一走子目录。
三、内容差异化不是多写几个城市名,得从四个维度下手
城市分页内容差异化的核心逻辑:搜索引擎判断两个页面是不是同一篇内容,不看模板长什么样,看页面中'独一无二的信息'占比多少。一个深圳保洁页面和一个广州保洁页面,如果1200字里有1000字是一样的,搜索引擎就认为这是同一篇。
维度一:本地化价格数据
不同城市的服务价格差异很大。深圳开荒保洁可能8-12元/平,成都可能5-8元/平。每个城市页面的价格参考必须是真实的本地行情,不能所有城市用同一套价格只换城市名。
维度二:本地化服务区域
每个城市列出真实的服务覆盖区域:深圳的南山区、福田区、罗湖区各有不同的服务说明;广州的天河区、越秀区、番禺区也是不同的内容。不要用"覆盖全市各区"这种通用描述。
维度三:本地化案例/实拍
深圳页面放深圳客户的实际案例照片、广州页面放广州客户案例。不同城市的不同案例天然形成了内容差异,比生硬改写有效得多。
维度四:本地化FAQ
每个城市用户最关心的5-8个问题可能不一样。深圳用户可能关心"南山科技园附近有没有服务点",成都用户可能关心"高新区周末能不能上门"。针对不同城市设计不同的FAQ。
差异化硬指标:每个城市页面中,城市专属内容(价格数据+区域列表+本地案例+本地FAQ)至少要占到页面有效内容的50%以上。如果有效内容1500字,城市专属内容低于750字,被判定为重复页面的风险就很大。这个比例不是拍脑袋的,是看了大量城市分站收录数据后反推出来的。
四、四类城市分站生成工具,对应不同的差异化能力
市面上的城市分站生成工具按底层逻辑分四类,差异化能力差距很大。
| 工具类型 | 代表方案 | 差异化能力 | 收录效果 |
|---|---|---|---|
| 纯变量替换型 | 城市名自动替换插件、Excel+邮件合并式生成器 | 极低 只能替换城市名 | 5-10%,大概率被判定为重复 |
| 模板+数据库型 | 自定义字段驱动的页面生成器(ACF+Pods+自定义文章类型) | 中等 可绑定城市独立数据字段 | 20-40%,取决于数据丰富度 |
| 程序化SEO型 | Airtable/Google Sheets + WordPress API 或 Webflow CMS 驱动 | 较高 每个城市独立数据行,字段灵活扩展 | 40-60%,数据库驱动天然差异化 |
| AI生成+数据库型 | AI为每个城市独立生成内容 + 数据库管理城市元数据 | 最高 AI按城市维度独立创作 | 60-80%,每个页面内容本质不同 |
程序化SEO型工具的核心逻辑:把所有城市的差异化数据存在一个数据库(如Airtable表格)里——每个城市一行,列包括城市名、服务价格区间、覆盖区域列表、本地案例URL、本地FAQ问题+答案。WordPress通过API读取数据库,用一套模板动态渲染每个城市页面。模板不变,但数据库里每个城市的字段值不同,生成的页面内容就不同。新增城市只需在数据库里加一行,不需要改代码。
AI生成+数据库型是怎么工作的:数据库里存的是每个城市的"差异化指令"——不是存最终内容,而是存"深圳的保洁行业有什么特点""深圳用户最关心什么""深圳的服务区域怎么划分"这些元信息。AI拿到这些指令后,为每个城市独立生成一篇结构不同、措辞不同、重点不同的页面内容。同一个家政服务主题,深圳页面可能重点讲"科技园白领搬家清洁"场景,成都页面可能重点讲"老小区深度保洁"场景——内容框架都不同,搜索引擎很难判定为重复。
五、TDK和结构化数据的城市级差异化,容易被忽略但影响很大
很多城市分站只关注正文差异化,忽略了两个搜索引擎更敏感的差异化点:TDK标签和结构化数据。
TDK(Title、Description、Keywords)是搜索引擎判断页面主题的第一道信号。50个城市页面如果Title都是"{城市}保洁公司|{城市}开荒保洁",百度在建立索引的阶段就判定这些页面属于同一主题的重复变体,后续正文差异化再大也难挽回。
TDK反面示例(模板化)
Title: "深圳保洁公司_深圳开荒保洁价格"
Title: "广州保洁公司_广州开荒保洁价格"
Title: "成都保洁公司_成都开荒保洁价格"
三个Title的编辑距离不到5个字符,百度直接归类为重复页面。

TDK正面示例(差异化)
深圳: "南山福田宝安三区保洁8元起,深圳开荒保洁哪家性价比高?"
广州: "广州天河越秀老城区深度保洁,旧房翻新后开荒清洁怎么选?"
成都: "成都高新区周末上门保洁服务,新房装修后开荒保洁价格2025"
三个Title内容结构完全不同。
结构化数据(Schema标记)方面,每个城市页面的LocalBusiness标记中,name、address、geo坐标、areaServed、priceRange这几个字段必须填城市级真实数据。name不要填公司名,填"{城市}XX服务";address填该城市的真实办公地址或服务点地址;geo填该城市的经纬度坐标。50个城市用同一组结构化数据,效果等同于告诉搜索引擎"这50个页面是同一个实体"。
{"@context": "https://schema.org","@type": "LocalBusiness","name": "深圳XX保洁服务", // 每个城市不同"address": {"@type": "PostalAddress","addressLocality": "深圳市", // 每个城市不同"addressRegion": "南山区" // 每个城市不同},"geo": {"@type": "GeoCoordinates","latitude": "22.5431", // 深圳纬度"longitude": "114.0579" // 深圳经度},"areaServed": ["南山区","福田区","宝安区","罗湖区"],"priceRange": "8-15元/平方米" // 深圳本地价格}六、城市分站批量生成的实际操作流程
从零搭建50个城市分站的完整流程,不追求一步到位,分阶段推进。
第一阶段:建城市数据表
用Excel或Airtable建一张表,每个城市一行。至少包含以下字段:城市名、省份、城市经纬度、服务价格区间、覆盖区域列表(真实行政区)、本地案例标题+URL、本地FAQ(5-8个问题+答案)、本地特色描述(一两句话说明该城市用户需求特点)。这张表的质量直接决定后续生成页面的差异化程度。
第二阶段:生成差异化内容
用AI工具(如Claude、GPT)为每个城市独立生成页面正文。Prompt中传入该城市的差异化数据字段,要求AI为每个城市写不同结构、不同侧重点的内容。不要批量调用同一个Prompt替换城市名——每个城市单独调一次,Prompt中的"城市特点描述"字段不同,生成的内容就不同。
第三阶段:批量生成页面+TDK
用程序化SEO框架(WordPress+自定义字段 或 自建脚本)读取数据表,为每个城市生成独立页面。TDK从数据表的独立字段读取(不要用"{城市}+通用后缀"模板),结构化数据填入城市级真实数据。生成后人工抽检5-10个页面确认差异化效果。
分批提交,不要一次性全上:50个城市分站不要同时提交sitemap。先上5-10个内容差异化做得最好的城市页面,观察2-4周看收录率和索引表现。确认收录正常后再分批上第二批、第三批。一次性提交50个结构相似的页面,百度可能直接触发批量低质页面过滤。
如果用的是UC建站系统,内容中台可以批量管理城市分站的差异化内容——城市数据表统一维护,AI为每个城市独立生成不同结构不同侧重点的页面,TDK和结构化数据自动从城市字段填充。多站看板统一监控各城市分站的索引量和排名变化,哪个城市收录异常一眼就能看到,不用逐个站登录百度站长平台查。
七、城市分站常见的五个翻车操作
翻车一:所有城市共用一个sitemap
50个城市页面放在一个sitemap里一次性提交。正确做法是每个城市独立sitemap,或者分批创建提交,控制每次提交的页面数量不超过10-15个。
翻车二:没内容先上线占坑
先建50个空白城市页面(只有标题和城市名),打算后面再慢慢填充内容。百度蜘蛛来了看到空白页直接标记为低质,后面再填充内容也很难洗掉初始标记。
翻车三:城市页之间互相链接
每个城市页面底部放"其他城市"链接模块,50个城市互相链接。搜索引擎看到50个结构相似的页面用相同模式互相链接,站群关联特征直接暴露。
翻车四:用IP定位自动跳转城市页
用户访问首页,根据IP自动301跳转到对应城市分站。蜘蛛的IP和你用户的IP不一样,跳转逻辑对蜘蛛不生效,导致搜索引擎永远爬不到某些城市页面。
翻车五:城市页面不更新
50个城市页面生成完就放着不动,半年不更新。搜索引擎对"僵尸页面"的索引优先级会持续下降。每个城市页面至少每季度更新一次本地案例或价格数据。
八、怎么判断城市分站有没有被判定为重复内容
不用等三个月看收录结果,有几个信号可以在上线1-2周内判断城市分站是否触发了重复内容过滤。
| 监测信号 | 正常表现 | 重复内容预警 |
|---|---|---|
| 蜘蛛抓取频率 | 每个城市页面被抓取后3-7天内再次被抓取 | 蜘蛛来了一次就不再来了,或者只抓不建索引 |
| 索引覆盖率 | 提交的城市页面中60%以上被索引 | 索引率低于30%,且被索引的往往是内容差异最大的几个页面 |
| 百度站长"索引量"曲线 | 稳步上升 | 提交后索引量短暂上升然后回落,说明部分页面被建索引后又剔除了 |
| site语法查收录 | site:你的域名 inurl:/beijing/ 能看到对应城市页 | site只能看到少数几个城市页,大量城市页查不到 |
如果发现重复内容预警信号,不要急着删除页面重做。先检查预警的那些城市页面和已收录的城市页面之间有效内容的重复比例——重点看TDK、结构化数据、正文前500字这三个区域。通常是这三个区域中的一个或两个出了问题,定位到具体问题后再针对性修改,比全部推倒重做高效得多。
说穿了,城市分站的收录问题本质上不是工具能力的问题。你用最贵的程序化SEO框架,如果不给每个城市填独立的差异化数据,生成出来的页面该重复还是重复。反过来,即使用最基础的Excel+手动替换,只要每个城市的本地化数据够丰富、内容侧重点不同、TDK独立设计,收录率也能做到50%以上。工具解决的是"能不能批量做"的效率问题,差异化解决的是"做了能不能收"的效果问题。两个问题不是替代关系,是递进关系——先确保差异化策略成立,再选工具提升效率。
