大家好,我是正在实战各种AI 项目的程序员晚枫。
上一讲我们讲了内容本地化,这一讲我们来解决一个更根本的问题:
如果你要服务多个城市或国家,网站架构该怎么设计?
架构设计是 GEO 优化的基础,选错了架构,后面所有的优化都会事倍功半。
三种主流架构方案
方案对比
| 方案 | 示例 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 子目录 | example.com/cn/ | 权重集中、管理简单 | 地理信号弱 | 城市数量多 |
| 子域名 | cn.example.com | 地理信号强 | 权重分散 | 少量地区 |
| 独立域名 | example.cn | 地理信号最强 | 管理复杂、成本高 | 重点市场 |
方案一:子目录(Subdirectory)
结构示例
1 | example.com/ → 默认(英文) |
优点
- 权重集中 - 所有页面共享同一个域名的权重
- 管理简单 - 一个后台,一套系统
- 成本较低 - 只需要一个域名和主机
- SEO 友好 - 搜索引擎容易理解网站结构
缺点
- 地理信号弱 - 无法通过域名传递地理信息
- 服务器位置 - 所有用户访问同一服务器
- 需要额外配置 - hreflang、地理定位设置
适用场景
- 城市数量多(10+ 个城市)
- 不同版本内容差异较小
- 预算有限
- SEO 权重更重要
实现方式
Nginx 配置示例
1 | server { |
hreflang 配置
1 | <link rel="alternate" hreflang="en" href="https://example.com/" /> |
方案二:子域名(Subdomain)
结构示例
1 | example.com → 默认(英文) |
优点
- 地理信号较强 - 子域名可以设置不同的地理定位
- 服务器灵活 - 不同子域名可以部署在不同地区
- 相对独立 - 各版本可以有不同的技术栈
缺点
- 权重分散 - 每个子域名被视为独立网站
- 管理复杂 - 需要维护多个子域名
- DNS 配置 - 需要额外的 DNS 配置
适用场景
- 地区数量较少(<10 个)
- 不同版本内容差异较大
- 需要不同服务器位置
- 各地区有独立运营团队
实现方式
DNS 配置
1 | # 主站 |
hreflang 配置
1 | <link rel="alternate" hreflang="en" href="https://example.com/" /> |
方案三:独立域名
结构示例
1 | example.com → 英文版(全球) |
优点
- 地理信号最强 - 国家域名(ccTLD)本身就是地理信号
- 用户信任度高 - 当地用户更信任本地域名
- 服务器完全独立 - 每个域名可以部署在当地
- 本地化彻底 - 完全独立的品牌和运营
缺点
- 成本最高 - 需要购买多个域名
- 管理最复杂 - 需要维护多个网站
- 权重完全独立 - 每个域名从零开始积累权重
- 品牌一致性难 - 不同域名可能导致品牌混乱
适用场景
- 重点市场独立运营
- 各地区有独立团队
- 需要最强的地理信号
- 预算充足
实现方式
域名注册
1 | .com → 全球(Verisign) |
hreflang 配置
1 | <link rel="alternate" hreflang="en" href="https://example.com/" /> |
如何选择架构方案?
决策流程
1 | 1. 你要服务多少个地区? |
我的建议
大多数情况:选择子目录
理由:
- 管理简单
- SEO 权重集中
- 成本低
- 配合 GSC 地理定位足够
特殊情况:独立域名
- 中国市场:使用 .cn 域名
- 欧洲市场:使用 .eu 或当地域名
- 重点市场需要独立运营
多城市网站的架构
如果你的业务只在一个国家,但服务多个城市:
方案一:城市页面(推荐)
1 | example.com/ |
方案二:城市子域名
1 | beijing.example.com |
建议:城市数量多时用子目录,城市数量少时可以用子域名。
技术实现要点
1. hreflang 配置
什么是 hreflang?
hreflang 是 HTML 标签,告诉搜索引擎页面的语言和地区版本。
为什么重要?
- 避免重复内容问题
- 帮助搜索引擎返回正确版本
- 提升用户体验
配置规则:
- 每个页面都要配置所有版本的链接
- 包括自身
- x-default 指向默认版本
2. 地理定位设置
Google Search Console:
1 | GSC → 索引 → 地理定位 |
注意:独立域名无需设置(ccTLD 本身就是地理信号)。
3. 服务器位置
| 架构 | 服务器位置建议 |
|---|---|
| 子目录 | 使用 CDN,根据用户 IP 自动选择 |
| 子域名 | 不同子域名部署在不同地区 |
| 独立域名 | 每个域名部署在对应国家 |
4. 语言标签
1 | <html lang="zh-CN"> |
5. 内容管理系统
推荐方案:
| CMS | 多语言支持 |
|---|---|
| WordPress | WPML、Polylang 插件 |
| Hugo | 内置多语言支持 |
| Hexo | hexo-generator-i18n |
| Next.js | next-intl、i18next |
常见错误
错误一:混合使用多种架构
❌ 错误:
1 | example.com/cn/ |
✅ 正确:
1 | example.com/cn/ |
错误二:hreflang 配置错误
❌ 错误:只配置了部分语言
1 | <link rel="alternate" hreflang="en" href="..." /> |
✅ 正确:配置所有语言
1 | <link rel="alternate" hreflang="en" href="..." /> |
错误三:自动翻译不审核
❌ 错误:
使用 Google 翻译自动翻译内容,直接上线
✅ 正确:
机器翻译后,人工审核和本地化
下一步
下一讲我们会深入技术层面,包括服务器、CDN、结构化数据等。
💬 加入学习交流群
👉 点击加入交流群
推荐:AI Python 编程实战营
如果你想系统学习 AI 开发:
🎁 限时福利:送《利用 Python 进行数据分析》实体书
👉 点击了解详情
PS:架构设计是 GEO 优化的地基。选对架构,后续优化事半功倍;选错架构,可能需要推倒重来。
💬 联系我
| 平台 | 账号/链接 |
|---|---|
| 微信 | 扫码加好友 |
| 微博 | @程序员晚枫 |
| 知乎 | @程序员晚枫 |
| 抖音 | @程序员晚枫 |
| 小红书 | @程序员晚枫 |
| B 站 | Python 自动化办公社区 |
主营业务:AI 编程培训、企业内训、技术咨询
