[{"data":1,"prerenderedAt":855},["ShallowReactive",2],{"post-29":3},{"id":4,"title":5,"body":6,"description":841,"extension":842,"meta":843,"navigation":174,"path":851,"seo":852,"stem":853,"__hash__":854},"content/post/29.md","多语言方案分析：基于目录还是基于子域名？",{"type":7,"value":8,"toc":805},"minimark",[9,22,40,43,47,50,55,65,68,72,78,81,85,91,94,98,104,107,111,114,121,125,128,131,134,139,142,193,198,205,240,243,265,270,273,279,282,287,290,295,298,303,306,311,314,317,322,325,330,333,338,341,345,348,351,353,358,365,389,394,397,402,405,408,413,420,425,428,433,436,441,444,447,452,455,458,463,466,471,474,479,482,485,488,521,524,556,560,573,576,579,690,693,696,700,703,707,710,734,737,741,744,747,751,754,758,761,765,768,772,775,779,782,785,788,795,798,801],[10,11,12,13,17,18,21],"p",{},"做多语言网站，第一个要决定的问题就是：URL 结构怎么选。目前主流的有两种方案：",[14,15,16],"strong",{},"子目录（Subdirectory）"," 和 ",[14,19,20],{},"子域名（Subdomain）","。",[10,23,24,25,29,30,33,34,29,37,21],{},"子目录就是在主域名下面加语言路径，比如 ",[26,27,28],"code",{},"example.com/zh/","、",[26,31,32],{},"example.com/en/","。子域名就是每个语言一个独立的子域名，比如 ",[26,35,36],{},"zh.example.com",[26,38,39],{},"en.example.com",[10,41,42],{},"选哪个好？这个问题没有标准答案，要看你的具体情况。下面从多个维度来分析。",[44,45,46],"h2",{"id":46},"多语言的一般做法",[10,48,49],{},"在对比两种方案之前，先了解一下多语言网站常见的几种 URL 结构：",[51,52,54],"h3",{"id":53},"_1-子目录subdirectory-subfolder","1. 子目录（Subdirectory / Subfolder）",[56,57,62],"pre",{"className":58,"code":60,"language":61},[59],"language-text","example.com/zh/\nexample.com/en/\nexample.com/ja/\n","text",[26,63,60],{"__ignoreMap":64},"",[10,66,67],{},"所有语言版本都在同一个主域名下，通过路径区分语言。这是最常见的做法。",[51,69,71],{"id":70},"_2-子域名subdomain","2. 子域名（Subdomain）",[56,73,76],{"className":74,"code":75,"language":61},[59],"zh.example.com\nen.example.com\nja.example.com\n",[26,77,75],{"__ignoreMap":64},[10,79,80],{},"每个语言一个独立的子域名，技术上是不同的站点。",[51,82,84],{"id":83},"_3-独立域名cctld","3. 独立域名（ccTLD）",[56,86,89],{"className":87,"code":88,"language":61},[59],"example.cn\nexample.com\nexample.jp\n",[26,90,88],{"__ignoreMap":64},[10,92,93],{},"每个国家/地区一个独立的顶级域名。这种方案成本最高，适合大型跨国公司。",[51,95,97],{"id":96},"_4-参数方式","4. 参数方式",[56,99,102],{"className":100,"code":101,"language":61},[59],"example.com/?lang=zh\nexample.com/?lang=en\n",[26,103,101],{"__ignoreMap":64},[10,105,106],{},"用 URL 参数区分语言。这种方式最简单，但 SEO 效果最差，一般不推荐。",[51,108,110],{"id":109},"_5-其他方式","5. 其他方式",[10,112,113],{},"还有一些不太常见的方式，比如不同语言放在不同端口、或者基于内容协商（同一 URL 根据 Accept-Language 返回不同语言）。这些都不适合 SEO，就不展开了。",[10,115,116,117,120],{},"总的来说，",[14,118,119],{},"子目录和子域名是目前最主流、SEO 友好度最高的两种方案","，也是本文重点讨论的对象。",[44,122,124],{"id":123},"子目录方案subdirectory","子目录方案（Subdirectory）",[51,126,127],{"id":127},"实现方式",[10,129,130],{},"子目录方案的核心是：所有语言共享同一个域名，通过 URL 路径的第一层区分语言。",[10,132,133],{},"技术上的实现方式：",[10,135,136],{},[14,137,138],{},"1. 服务端路由",[10,140,141],{},"在服务器端根据路径前缀渲染不同语言的内容。比如用 Node.js + Express：",[56,143,147],{"className":144,"code":145,"language":146,"meta":64,"style":64},"language-javascript shiki shiki-themes github-light github-dark","app.get('/zh/about', (req, res) => {\n  res.render('about', { lang: 'zh' });\n});\n\napp.get('/en/about', (req, res) => {\n  res.render('about', { lang: 'en' });\n});\n","javascript",[26,148,149,157,163,169,176,182,188],{"__ignoreMap":64},[150,151,154],"span",{"class":152,"line":153},"line",1,[150,155,156],{},"app.get('/zh/about', (req, res) => {\n",[150,158,160],{"class":152,"line":159},2,[150,161,162],{},"  res.render('about', { lang: 'zh' });\n",[150,164,166],{"class":152,"line":165},3,[150,167,168],{},"});\n",[150,170,172],{"class":152,"line":171},4,[150,173,175],{"emptyLinePlaceholder":174},true,"\n",[150,177,179],{"class":152,"line":178},5,[150,180,181],{},"app.get('/en/about', (req, res) => {\n",[150,183,185],{"class":152,"line":184},6,[150,186,187],{},"  res.render('about', { lang: 'en' });\n",[150,189,191],{"class":152,"line":190},7,[150,192,168],{},[10,194,195],{},[14,196,197],{},"2. 前端框架国际化",[10,199,200,201,204],{},"Nuxt、Next.js 等框架都有成熟的 i18n 模块，配置一下就能自动生成带语言前缀的路由。比如 Nuxt 的 ",[26,202,203],{},"@nuxtjs/i18n","：",[56,206,208],{"className":144,"code":207,"language":146,"meta":64,"style":64},"// nuxt.config.js\ni18n: {\n  locales: ['zh', 'en', 'ja'],\n  defaultLocale: 'zh',\n  strategy: 'prefix_except_default',\n}\n",[26,209,210,215,220,225,230,235],{"__ignoreMap":64},[150,211,212],{"class":152,"line":153},[150,213,214],{},"// nuxt.config.js\n",[150,216,217],{"class":152,"line":159},[150,218,219],{},"i18n: {\n",[150,221,222],{"class":152,"line":165},[150,223,224],{},"  locales: ['zh', 'en', 'ja'],\n",[150,226,227],{"class":152,"line":171},[150,228,229],{},"  defaultLocale: 'zh',\n",[150,231,232],{"class":152,"line":178},[150,233,234],{},"  strategy: 'prefix_except_default',\n",[150,236,237],{"class":152,"line":184},[150,238,239],{},"}\n",[10,241,242],{},"生成的 URL 就是：",[244,245,246,253,259],"ul",{},[247,248,249,250],"li",{},"默认语言：",[26,251,252],{},"example.com/about",[247,254,255,256],{},"英文：",[26,257,258],{},"example.com/en/about",[247,260,261,262],{},"日文：",[26,263,264],{},"example.com/ja/about",[10,266,267],{},[14,268,269],{},"3. 静态站点生成",[10,271,272],{},"如果是纯静态站点，可以每个语言一个目录，生成静态 HTML 文件。比如：",[56,274,277],{"className":275,"code":276,"language":61},[59],"/\n  index.html\n  about.html\n  en/\n    index.html\n    about.html\n  ja/\n    index.html\n    about.html\n",[26,278,276],{"__ignoreMap":64},[51,280,281],{"id":281},"优点",[10,283,284],{},[14,285,286],{},"1. 域名权重集中",[10,288,289],{},"这是子目录方案最大的优势。所有语言版本都在同一个域名下，外链、权重、信任度都集中在一起。一个语言积累的权重，其他语言也能间接受益。",[10,291,292],{},[14,293,294],{},"2. 更容易被搜索引擎理解",[10,296,297],{},"搜索引擎把子目录视为同一个网站的不同部分，理解起来更直接。内部链接的权重传递也更顺畅。",[10,299,300],{},[14,301,302],{},"3. 建站成本低",[10,304,305],{},"只需要一个域名、一个服务器、一套代码（大多数情况下），维护成本低。",[10,307,308],{},[14,309,310],{},"4. 管理方便",[10,312,313],{},"所有语言在同一个后台管理，内容、用户、订单等数据天然在一起，不需要做跨子域名的数据同步。",[51,315,316],{"id":316},"缺点",[10,318,319],{},[14,320,321],{},"1. 地区针对性弱",[10,323,324],{},"子域名或独立域名更容易让搜索引擎和用户一眼看出\"这是针对某个国家/地区的版本\"。子目录在这方面弱一些，需要配合 hreflang 标签来明确。",[10,326,327],{},[14,328,329],{},"2. 大型站点可能结构混乱",[10,331,332],{},"如果语言很多（比如十几个），加上每个语言下又有很多分类和页面，URL 结构可能会变得很深很复杂。",[10,334,335],{},[14,336,337],{},"3. 服务器压力集中",[10,339,340],{},"所有语言的流量都打在同一个服务器上，峰值压力会比较大。当然这个可以通过 CDN 和负载均衡解决。",[44,342,344],{"id":343},"子域名方案subdomain","子域名方案（Subdomain）",[51,346,127],{"id":347},"实现方式-1",[10,349,350],{},"子域名方案的核心是：每个语言一个独立的子域名，技术上是独立的站点。",[10,352,133],{},[10,354,355],{},[14,356,357],{},"1. 通配符子域名 + 服务端判断",[10,359,360,361,364],{},"DNS 配置 ",[26,362,363],{},"*.example.com"," 都指向同一个服务器，服务端根据请求的子域名判断语言，返回对应内容。",[56,366,368],{"className":144,"code":367,"language":146,"meta":64,"style":64},"app.get('/', (req, res) => {\n  const subdomain = req.subdomains[0]; // 'zh', 'en', etc.\n  res.render('home', { lang: subdomain });\n});\n",[26,369,370,375,380,385],{"__ignoreMap":64},[150,371,372],{"class":152,"line":153},[150,373,374],{},"app.get('/', (req, res) => {\n",[150,376,377],{"class":152,"line":159},[150,378,379],{},"  const subdomain = req.subdomains[0]; // 'zh', 'en', etc.\n",[150,381,382],{"class":152,"line":165},[150,383,384],{},"  res.render('home', { lang: subdomain });\n",[150,386,387],{"class":152,"line":171},[150,388,168],{},[10,390,391],{},[14,392,393],{},"2. 多应用部署",[10,395,396],{},"每个子域名对应一个独立的应用，部署在不同的服务器或不同的进程中。这种方式隔离性好，但维护成本高。",[10,398,399],{},[14,400,401],{},"3. WordPress 多站点",[10,403,404],{},"WordPress 的多站点（Multisite）功能可以很方便地实现子域名方案，每个子站一个语言版本。",[51,406,281],{"id":407},"优点-1",[10,409,410],{},[14,411,412],{},"1. 地区/语言定位清晰",[10,414,415,416,419],{},"用户和搜索引擎一看域名就知道这是哪个语言的版本。比如 ",[26,417,418],{},"fr.example.com"," 明显是法语版，对法国用户来说也更有亲切感。",[10,421,422],{},[14,423,424],{},"2. 站点隔离，风险分散",[10,426,427],{},"每个子域名在搜索引擎眼中是相对独立的站点。如果某个语言版本出了问题（比如被惩罚、被黑），对其他版本的影响相对较小。",[10,429,430],{},[14,431,432],{},"3. 适合差异化运营",[10,434,435],{},"不同地区的业务可能差异很大——产品线不同、定价不同、活动不同。子域名方案下每个站点可以独立运营，互不干扰。",[10,437,438],{},[14,439,440],{},"4. 技术架构灵活",[10,442,443],{},"不同语言版本可以用不同的技术栈、部署在不同的服务器上，团队也可以独立维护。",[51,445,316],{"id":446},"缺点-1",[10,448,449],{},[14,450,451],{},"1. 域名权重分散",[10,453,454],{},"这是子域名方案最大的劣势。每个子域名在搜索引擎看来是不同的站点，外链、权重都是分开计算的。中文站积累的权重不会自动传递给英文站。",[10,456,457],{},"虽然子域名之间会有一些关联（毕竟在同一个主域名下），但权重传递的效果远不如子目录方案。",[10,459,460],{},[14,461,462],{},"2. SEO 成本高",[10,464,465],{},"每个子域名都需要单独做 SEO —— 单独建外链、单独积累权重、单独提交 Search Console。对于资源有限的团队来说，压力很大。",[10,467,468],{},[14,469,470],{},"3. 维护成本高",[10,472,473],{},"多个子域名意味着多个站点，代码部署、内容管理、数据同步都更复杂。",[10,475,476],{},[14,477,478],{},"4. 起步慢",[10,480,481],{},"新增加一个语言版本，相当于从零开始做一个新站，排名见效慢。而子目录方案下，新语言可以借助主站已有的权重更快起步。",[44,483,484],{"id":484},"什么场景选什么方案",[51,486,487],{"id":487},"优先选择子目录的场景",[489,490,491,497,503,509,515],"ol",{},[247,492,493,496],{},[14,494,495],{},"中小型网站","：语言数量不多（2-5 种），团队规模小，资源有限",[247,498,499,502],{},[14,500,501],{},"内容为主的网站","：博客、资讯站、知识库等，内容是核心，权重集中更重要",[247,504,505,508],{},[14,506,507],{},"初创期/成长期","：还在积累权重的阶段，子目录能更快见效",[247,510,511,514],{},[14,512,513],{},"多语言版本内容高度相似","：只是翻译一下，业务逻辑相同",[247,516,517,520],{},[14,518,519],{},"SEO 资源有限","：没有足够的精力给每个语言单独做外链和推广",[51,522,523],{"id":523},"优先选择子域名的场景",[489,525,526,532,538,544,550],{},[247,527,528,531],{},[14,529,530],{},"大型跨国企业","：每个地区有独立的团队和业务，需要独立运营",[247,533,534,537],{},[14,535,536],{},"地区差异大","：不同语言/地区的产品、定价、服务差异很大",[247,539,540,543],{},[14,541,542],{},"合规要求","：某些国家要求数据存放在当地，或者有特定的合规要求",[247,545,546,549],{},[14,547,548],{},"品牌本地化需求强","：希望给当地用户\"这是我们本地站\"的感觉",[247,551,552,555],{},[14,553,554],{},"有充足的 SEO 资源","：每个语言都有专门的人做推广和外链",[51,557,559],{"id":558},"什么时候用独立域名cctld","什么时候用独立域名（ccTLD）",[10,561,562,563,29,566,29,569,572],{},"如果你的业务在某个国家非常重要，需要最强的本地化信号，而且预算充足，可以考虑用独立的国家顶级域名，比如 ",[26,564,565],{},".cn",[26,567,568],{},".co.jp",[26,570,571],{},".co.uk"," 等。",[10,574,575],{},"独立域名在本地化搜索中的表现最好，但成本也最高，适合大型跨国公司。",[44,577,578],{"id":578},"两种方案的对比总结",[580,581,582,598],"table",{},[583,584,585],"thead",{},[586,587,588,592,595],"tr",{},[589,590,591],"th",{},"维度",[589,593,594],{},"子目录",[589,596,597],{},"子域名",[599,600,601,613,624,635,646,657,668,679],"tbody",{},[586,602,603,607,610],{},[604,605,606],"td",{},"域名权重",[604,608,609],{},"✅ 集中，共享",[604,611,612],{},"❌ 分散，各自独立",[586,614,615,618,621],{},[604,616,617],{},"SEO 见效速度",[604,619,620],{},"✅ 快，借主站权重",[604,622,623],{},"❌ 慢，相当于新站",[586,625,626,629,632],{},[604,627,628],{},"地区针对性",[604,630,631],{},"❌ 一般，需配合 hreflang",[604,633,634],{},"✅ 强，一目了然",[586,636,637,640,643],{},[604,638,639],{},"建站成本",[604,641,642],{},"✅ 低，一套代码",[604,644,645],{},"❌ 高，多套系统",[586,647,648,651,654],{},[604,649,650],{},"维护成本",[604,652,653],{},"✅ 低",[604,655,656],{},"❌ 高",[586,658,659,662,665],{},[604,660,661],{},"风险隔离",[604,663,664],{},"❌ 一损俱损",[604,666,667],{},"✅ 互不影响",[586,669,670,673,676],{},[604,671,672],{},"运营灵活性",[604,674,675],{},"❌ 统一管理",[604,677,678],{},"✅ 独立运营",[586,680,681,684,687],{},[604,682,683],{},"技术复杂度",[604,685,686],{},"✅ 简单",[604,688,689],{},"❌ 复杂",[44,691,692],{"id":692},"注意事项",[10,694,695],{},"不管选哪种方案，以下几点都需要注意：",[51,697,699],{"id":698},"_1-做好-hreflang-标签","1. 做好 hreflang 标签",[10,701,702],{},"无论是子目录还是子域名，都需要正确设置 hreflang 标签，告诉搜索引擎各语言版本之间的对应关系。这一点两种方案都一样重要。",[51,704,706],{"id":705},"_2-默认语言的处理","2. 默认语言的处理",[10,708,709],{},"子目录方案中，默认语言要不要加前缀？有两种做法：",[244,711,712,722],{},[247,713,714,204,717,29,719,721],{},[14,715,716],{},"加前缀",[26,718,28],{},[26,720,32],{},"，所有语言都统一有前缀",[247,723,724,204,727,730,731,733],{},[14,725,726],{},"不加前缀",[26,728,729],{},"example.com/"," 是默认语言，",[26,732,32],{}," 是英文",[10,735,736],{},"各有利弊。加前缀结构更统一，不加前缀默认语言的 URL 更短。根据自己的情况选择，但选了之后要全站保持一致。",[51,738,740],{"id":739},"_3-避免自动跳转","3. 避免自动跳转",[10,742,743],{},"有些网站会根据用户的 IP 或浏览器语言自动跳转到对应语言版本。这种做法对 SEO 不友好，因为搜索引擎爬虫主要来自美国，可能被自动跳转到英文版，导致中文内容不被正确抓取。",[10,745,746],{},"正确的做法是：让用户自己选择语言，或者通过 hreflang 让搜索引擎自己判断展示哪个版本。",[51,748,750],{"id":749},"_4-语言切换要方便","4. 语言切换要方便",[10,752,753],{},"页面上要有清晰的语言切换入口，用户可以随时切换到其他语言版本。切换后保持在当前页面，不要跳到首页。",[51,755,757],{"id":756},"_5-不要用机器翻译凑数","5. 不要用机器翻译凑数",[10,759,760],{},"多语言网站的核心是内容质量。如果某个语言版本全是机器翻译的低质量内容，反而会拉低整个网站的质量信号。宁缺毋滥，做一个语言就把它做好。",[51,762,764],{"id":763},"_6-内容不要高度重复","6. 内容不要高度重复",[10,766,767],{},"不同语言版本的内容如果只是简单翻译，SEO 效果会打折扣。如果能针对当地市场做本地化的内容（比如当地的案例、当地的新闻），效果会好很多。",[51,769,771],{"id":770},"_7-search-console-单独提交","7. Search Console 单独提交",[10,773,774],{},"子域名方案下，每个子域名都需要单独添加到 Google Search Console，单独提交 sitemap。子目录方案下，只需要添加主域名就行。",[51,776,778],{"id":777},"_8-内部链接的处理","8. 内部链接的处理",[10,780,781],{},"子目录方案下，跨语言的内部链接权重传递更自然。子域名方案下，跨子域名的链接算外链，虽然有一定价值，但传递效果不如站内链接。",[44,783,784],{"id":784},"写在最后",[10,786,787],{},"子目录和子域名没有绝对的好坏，关键看你的业务阶段和资源。",[10,789,790,791,794],{},"对于大多数网站来说，",[14,792,793],{},"子目录方案是更稳妥的起点","——权重集中、见效快、维护简单。等业务发展到一定规模，某个地区的业务足够大了，再考虑拆成子域名甚至独立域名也不迟。",[10,796,797],{},"当然，如果你是从一开始就定位为跨国企业、有充足的资源和团队，那直接上子域名甚至独立域名也是合理的选择。",[10,799,800],{},"记住：URL 结构只是多语言 SEO 的第一步，真正决定效果的还是内容质量和用户体验。",[802,803,804],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":64,"searchDepth":159,"depth":159,"links":806},[807,814,819,824,829,830,840],{"id":46,"depth":159,"text":46,"children":808},[809,810,811,812,813],{"id":53,"depth":165,"text":54},{"id":70,"depth":165,"text":71},{"id":83,"depth":165,"text":84},{"id":96,"depth":165,"text":97},{"id":109,"depth":165,"text":110},{"id":123,"depth":159,"text":124,"children":815},[816,817,818],{"id":127,"depth":165,"text":127},{"id":281,"depth":165,"text":281},{"id":316,"depth":165,"text":316},{"id":343,"depth":159,"text":344,"children":820},[821,822,823],{"id":347,"depth":165,"text":127},{"id":407,"depth":165,"text":281},{"id":446,"depth":165,"text":316},{"id":484,"depth":159,"text":484,"children":825},[826,827,828],{"id":487,"depth":165,"text":487},{"id":523,"depth":165,"text":523},{"id":558,"depth":165,"text":559},{"id":578,"depth":159,"text":578},{"id":692,"depth":159,"text":692,"children":831},[832,833,834,835,836,837,838,839],{"id":698,"depth":165,"text":699},{"id":705,"depth":165,"text":706},{"id":739,"depth":165,"text":740},{"id":749,"depth":165,"text":750},{"id":756,"depth":165,"text":757},{"id":763,"depth":165,"text":764},{"id":770,"depth":165,"text":771},{"id":777,"depth":165,"text":778},{"id":784,"depth":159,"text":784},"多语言网站有两种主流方案：子目录（/zh/、/en/）和子域名（zh.example.com、en.example.com）。本文详细分析两种方案的实现方式、适用场景、优缺点对比，以及选型注意事项。","md",{"category":844,"tags":845,"createdAt":849,"keywords":850},"SEO进阶",[846,847,594,597,848],"多语言SEO","国际化","SEO策略","2026-07-27","多语言SEO,子目录,子域名,国际化网站,URL结构,多语言方案对比","/post/29",{"title":5,"description":841},"post/29","o_ZJCZprySqcMt1YT-EnDcVltcbATssCDT4-uvj88AI",1788066548498]