github star gitee star atomgit star PyPI Downloads AI 编程 AI 交流群

大家好,我是正在实战各种AI 项目的程序员晚枫。

上一讲我们讲了内容本地化,这一讲我们来解决一个更根本的问题:

如果你要服务多个城市或国家,网站架构该怎么设计?

架构设计是 GEO 优化的基础,选错了架构,后面所有的优化都会事倍功半。


三种主流架构方案

方案对比

方案示例优点缺点适用场景
子目录example.com/cn/权重集中、管理简单地理信号弱城市数量多
子域名cn.example.com地理信号强权重分散少量地区
独立域名example.cn地理信号最强管理复杂、成本高重点市场

方案一:子目录(Subdirectory)

结构示例

1
2
3
4
example.com/           → 默认(英文)
example.com/cn/ → 中文版
example.com/jp/ → 日文版
example.com/de/ → 德文版

优点

  1. 权重集中 - 所有页面共享同一个域名的权重
  2. 管理简单 - 一个后台,一套系统
  3. 成本较低 - 只需要一个域名和主机
  4. SEO 友好 - 搜索引擎容易理解网站结构

缺点

  1. 地理信号弱 - 无法通过域名传递地理信息
  2. 服务器位置 - 所有用户访问同一服务器
  3. 需要额外配置 - hreflang、地理定位设置

适用场景

  • 城市数量多(10+ 个城市)
  • 不同版本内容差异较小
  • 预算有限
  • SEO 权重更重要

实现方式

Nginx 配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
server {
listen 80;
server_name example.com;

# 中文版
location /cn/ {
alias /var/www/cn/;
try_files $uri $uri/ /cn/index.html;
}

# 日文版
location /jp/ {
alias /var/www/jp/;
try_files $uri $uri/ /jp/index.html;
}
}

hreflang 配置

1
2
3
4
5
<link rel="alternate" hreflang="en" href="https://example.com/" />
<link rel="alternate" hreflang="zh-CN" href="https://example.com/cn/" />
<link rel="alternate" hreflang="ja" href="https://example.com/jp/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />

方案二:子域名(Subdomain)

结构示例

1
2
3
4
example.com          → 默认(英文)
cn.example.com → 中文版
jp.example.com → 日文版
de.example.com → 德文版

优点

  1. 地理信号较强 - 子域名可以设置不同的地理定位
  2. 服务器灵活 - 不同子域名可以部署在不同地区
  3. 相对独立 - 各版本可以有不同的技术栈

缺点

  1. 权重分散 - 每个子域名被视为独立网站
  2. 管理复杂 - 需要维护多个子域名
  3. DNS 配置 - 需要额外的 DNS 配置

适用场景

  • 地区数量较少(<10 个)
  • 不同版本内容差异较大
  • 需要不同服务器位置
  • 各地区有独立运营团队

实现方式

DNS 配置

1
2
3
4
5
6
7
8
# 主站
example.com A 1.2.3.4

# 中文版(部署在中国)
cn.example.com A 5.6.7.8

# 日文版(部署在日本)
jp.example.com A 9.10.11.12

hreflang 配置

1
2
3
4
<link rel="alternate" hreflang="en" href="https://example.com/" />
<link rel="alternate" hreflang="zh-CN" href="https://cn.example.com/" />
<link rel="alternate" hreflang="ja" href="https://jp.example.com/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />

方案三:独立域名

结构示例

1
2
3
4
example.com         → 英文版(全球)
example.cn → 中文版(中国)
example.jp → 日文版(日本)
example.de → 德文版(德国)

优点

  1. 地理信号最强 - 国家域名(ccTLD)本身就是地理信号
  2. 用户信任度高 - 当地用户更信任本地域名
  3. 服务器完全独立 - 每个域名可以部署在当地
  4. 本地化彻底 - 完全独立的品牌和运营

缺点

  1. 成本最高 - 需要购买多个域名
  2. 管理最复杂 - 需要维护多个网站
  3. 权重完全独立 - 每个域名从零开始积累权重
  4. 品牌一致性难 - 不同域名可能导致品牌混乱

适用场景

  • 重点市场独立运营
  • 各地区有独立团队
  • 需要最强的地理信号
  • 预算充足

实现方式

域名注册

1
2
3
4
.com → 全球(Verisign)
.cn → 中国(CNNIC)
.jp → 日本(JPRS)
.de → 德国(DENIC)

hreflang 配置

1
2
3
4
<link rel="alternate" hreflang="en" href="https://example.com/" />
<link rel="alternate" hreflang="zh-CN" href="https://example.cn/" />
<link rel="alternate" hreflang="ja" href="https://example.jp/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />

如何选择架构方案?

决策流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1. 你要服务多少个地区?
├─ 少于 5 个 → 考虑子域名或独立域名
├─ 5-15 个 → 考虑子目录
└─ 超过 15 个 → 子目录

2. 不同版本的内容差异大吗?
├─ 差异小 → 子目录
├─ 差异中等 → 子域名
└─ 差异大(独立运营)→ 独立域名

3. 你的预算如何?
├─ 预算有限 → 子目录
├─ 预算中等 → 子域名
└─ 预算充足 → 独立域名

4. 你需要多强的地理信号?
├─ 不太重要 → 子目录
├─ 比较重要 → 子域名
└─ 非常重要 → 独立域名

我的建议

大多数情况:选择子目录

理由:

  • 管理简单
  • SEO 权重集中
  • 成本低
  • 配合 GSC 地理定位足够

特殊情况:独立域名

  • 中国市场:使用 .cn 域名
  • 欧洲市场:使用 .eu 或当地域名
  • 重点市场需要独立运营

多城市网站的架构

如果你的业务只在一个国家,但服务多个城市:

方案一:城市页面(推荐)

1
2
3
4
5
example.com/
├── beijing/ → 北京
├── shanghai/ → 上海
├── guangzhou/ → 广州
└── shenzhen/ → 深圳

方案二:城市子域名

1
2
3
4
beijing.example.com
shanghai.example.com
guangzhou.example.com
shenzhen.example.com

建议:城市数量多时用子目录,城市数量少时可以用子域名。


技术实现要点

1. hreflang 配置

什么是 hreflang?

hreflang 是 HTML 标签,告诉搜索引擎页面的语言和地区版本。

为什么重要?

  • 避免重复内容问题
  • 帮助搜索引擎返回正确版本
  • 提升用户体验

配置规则

  • 每个页面都要配置所有版本的链接
  • 包括自身
  • x-default 指向默认版本

2. 地理定位设置

Google Search Console

1
2
3
4
5
GSC → 索引 → 地理定位

子域名/子目录可以设置地理定位:
- cn.example.com → 中国
- example.com/jp/ → 日本

注意:独立域名无需设置(ccTLD 本身就是地理信号)。

3. 服务器位置

架构服务器位置建议
子目录使用 CDN,根据用户 IP 自动选择
子域名不同子域名部署在不同地区
独立域名每个域名部署在对应国家

4. 语言标签

1
2
3
<html lang="zh-CN">
<html lang="ja">
<html lang="de">

5. 内容管理系统

推荐方案

CMS多语言支持
WordPressWPML、Polylang 插件
Hugo内置多语言支持
Hexohexo-generator-i18n
Next.jsnext-intl、i18next

常见错误

错误一:混合使用多种架构

错误

1
2
3
example.com/cn/
jp.example.com
example.de

正确

1
2
3
example.com/cn/
example.com/jp/
example.com/de/

错误二:hreflang 配置错误

错误:只配置了部分语言

1
2
3
<link rel="alternate" hreflang="en" href="..." />
<link rel="alternate" hreflang="zh-CN" href="..." />
<!-- 缺少其他语言 -->

正确:配置所有语言

1
2
3
4
<link rel="alternate" hreflang="en" href="..." />
<link rel="alternate" hreflang="zh-CN" href="..." />
<link rel="alternate" hreflang="ja" href="..." />
<link rel="alternate" hreflang="x-default" href="..." />

错误三:自动翻译不审核

错误

使用 Google 翻译自动翻译内容,直接上线

正确

机器翻译后,人工审核和本地化


下一步

👉 第六讲:技术层面的 GEO 优化

下一讲我们会深入技术层面,包括服务器、CDN、结构化数据等。


💬 加入学习交流群

👉 点击加入交流群


推荐:AI Python 编程实战营

如果你想系统学习 AI 开发:

🎁 限时福利:送《利用 Python 进行数据分析》实体书

👉 点击了解详情


PS:架构设计是 GEO 优化的地基。选对架构,后续优化事半功倍;选错架构,可能需要推倒重来。


💬 联系我

平台账号/链接
微信扫码加好友
微博@程序员晚枫
知乎@程序员晚枫
抖音@程序员晚枫
小红书@程序员晚枫
B 站Python 自动化办公社区

主营业务:AI 编程培训、企业内训、技术咨询


🎓 AI 编程实战课程

想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!

AI搭建个人网站课程