事情本身不复杂,线索都在日志里。多语言站英文页面正文是英文,meta description 却直接调用了中文摘要字段,搜索结果里英文标题下面挂着一行中文,点击率明显低于其他页面。
第一反应是「英文页语言声明写的是 en,内容却是中文,被判不符」,验证下来不成立。
原因不止一个,得分开看。摘要字段只有一个,模板按语言取错了变量。另一种情况是翻译流程只覆盖正文,SEO 字段没有进翻译队列。
少数情况下是缓存插件把中文页的 head 整段缓存后复用到英文页。
上来先确认英文页的摘要内容
curl -s https://www.example.com/en/post-1024/ | findstr /i "name=\"description\""
随后检查语言声明
curl -s https://www.example.com/en/post-1024/ | findstr /i "<html"
给英文页补独立摘要字段
SELECT meta_key, meta_value FROM wp_postmeta WHERE post_id=2048 AND meta_key LIKE '%description%';
等前面都确认过,再清缓存后复验
curl -s -X PURGE https://www.example.com/en/post-1024/
恢复的判定其实很直接。英文页补上独立摘要后,搜索结果里的描述变成英文,该目录的点击率一周内回升。
容易忽略的是,多语言站的 SEO 字段要和正文一起翻译,只翻正文的话,摘要和标题还是原语言。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
