当一個站点開始做多語言或分地区版本,运营上的很多习惯都得跟着改。單語言站点只需要關心一套 URL、一套标题;多語言站点則是几套内容並排存在,它們之間的對應關系一旦没说清楚,蜘蛛就可能把不同語言当成重复内容,或者只抓其中一套、丢掉另一套。
先確認語言版本的落地方式
常见的做法有三種:放在同一域名下的語言目錄、獨立子域名、以及按國家划分的顶級域名。三種都能用,但要清楚各自的取舍。
- 語言目錄:例如按 /en/、/ja/ 這样的前缀区分。维護成本最低,容易繼承主域名已有的积累,适合内容規模不大的站点。
- 子域名:把不同語言放在獨立子域下。配置和部署更灵活,但每個子域都要單獨照看索引情况。
- 獨立域名:地区差异大、需要本地化运营时更常见,代價是资源分散,起步更慢。
選定之後尽量不要再改,中途換结构意味着所有對應關系都要重做一遍。
hreflang 自查的四個点
hreflang 的作用是告诉搜尋引擎這几個地址是同一内容的不同語言版本,不是重复頁面。寫法不难,出错往往在细节。
一、标注是否互相回指
中文頁要指向英文頁,英文頁也要指回中文頁,缺一邊等于没说完。只做單向标注时,另一方看起来仍然像互不相干的頁面。
二、代碼與頁面實际語言是否一致
给英文頁寫 zh,给中文頁寫 en,是複製模板时最容易留下的错誤。检查时可以抽几頁逐條比對,尤其是新加的語言。
三、地址是否可訪問且規范
hreflang 里寫的地址必须是能直接打開的 URL,不能是经過跳轉的中間頁面,也不能大小寫、尾斜杠各不相同,否則和頁面自身地址對不上。
四、是否需要 x-default
如果存在一個面向所有未匹配用戶的預設版本,加上 x-default 會更清晰;如果没有語言選擇頁或預設版本,不加也没關系,不必為了完整而硬塞。
自動跳轉與語言切換
按浏览器語言自動跳轉看起来很贴心,但風險不小。搜尋引擎抓取时使用的語言标识未必和用戶一致,自動跳轉可能让它只看得到一種語言版本,其他版本连抓都抓不到。
更稳妥的做法是:保留一個清晰的語言選擇入口,让用戶自己点;服務端可以根據地区给提示,但不要把跳轉寫成强制。如果确實需要自動跳轉,也要保證被跳轉的目标頁面能被直接訪問,且跳轉是可撤销的。
語言切換按钮同样值得检查。它應该指向目前頁面對應的另一語言版本,而不是一律跳回首頁。栏目頁、文章頁各自有對應關系,切換後落到首頁會让用戶重新找一遍。
用日誌和抓取结果驗證
配置寫完之後,靠肉眼看不出的問题最好交给資料:
- 在服務器日誌里篩選各語言目錄的訪問记錄,看蜘蛛是否每個版本都走到了,還是只集中在其中一套。
- 用抓取工具模拟不同地区的訪問,確認返回的頁面語言、hreflang 标注與预期一致。
- 检查各語言版本的收錄數量是否嚴重失衡,某一套長期為零通常是结构或跳轉出了問题。
- 對照站点地图,確認每種語言都有對應的地址,而不是只提交了主語言。
上线後的持續观察
多語言站点的维護成本主要在後續。新增語言、調整目錄、更換模板,任何一個動作都可能破坏原有的對應關系。建议把 hreflang 和語言目錄的检查放進改版清單,每次结构調整後重新跑一遍。
多語言版本之間最重要的是關系清楚:谁和谁是同一篇,谁是預設版本,用戶和蜘蛛都能自己走到想去的那一版。把這三件事理顺,比反复調翻译更能减少运营上的麻烦。