繁体站同时开了台湾和香港两个目录,正文只差几个用词,hreflang 一个写 zh-TW 一个写 zh-HK,搜索结果里两个版本轮流出现,点击率一直在掉。试过把香港版 canonical 指到台湾版,香港流量直接没了。
一开始怀疑是「canonical 都指向台湾版,香港版等于主动放弃索引」,查了一圈,方向不对。
把日志和配置对完,能解释这个现象的基本就这几处。两个地区代码都合法,但正文几乎相同会被当成重复页面。另一种情况是两版之间没有 hreflang 互指,蜘蛛只能靠 canonical 猜。
还有一种情况,页面没有币种、地址、客服时间这类地区差异信号。
量两版的正文差异
diff <(curl -s https://www.example.com/tw/p/1/ | sed 's/<[^>]*>//g') <(curl -s https://www.example.com/hk/p/1/ | sed 's/<[^>]*>//g') | wc -l
两版各自 canonical 自指
curl -s https://www.example.com/hk/p/1/ | grep -i canonical
补双向 hreflang
curl -s https://www.example.com/tw/p/1/ | grep -c 'hreflang="zh-HK"'
给香港版补本地化信息
grep -c 'HK$' /var/www/html/hk/p/1/index.html
别只看报错消失,验证要多做一步。两版互指生效后,台湾版守住台湾关键词,香港版开始出现在港区结果,重复网页报告里的条目归零。
这里还有个坑。繁体不等于同一个市场,用词和计价单位至少要有可见差异,否则两个代码只是给重复内容换了件外套。这类问题最好一次改到位,反复小改反而容易把原因搅混。
