把标题按 60 个字符写满,中文字符在必应那边按字节算,实际只显示 30 个字左右。改版后 5000 条页面标题后半段全被截掉,品牌词和年份都看不见。
一开始怀疑是「标题里堆了两个长尾词,主语被挤到最后」,查了一圈,方向不对。
把日志和配置对完,能解释这个现象的基本就这几处。按字符数而不是像素或字节控制长度。也可能是关键词和品牌词都放在后半段,被截断后消失。
少数情况下是移动端和桌面端展示宽度不同,只按桌面长度写。
量一下现有标题的字符与字节长度
python -c "t='中文标题示例';print(len(t), len(t.encode('utf-8')))"
接着把核心词挪到前 20 个字以内
curl -s https://www.example.com/p/1 | grep -o '<title>[^<]*</title>'
批量统计超长标题数量
python title_len.py --max 30 --csv titles.csv
剩下的就是抽查必应结果的实际展示
https://www.bing.com/search?q=site%3Awww.example.com
别只看报错消失,验证要多做一步。前 30 个字里包含核心词和品牌,必应结果不再出现省略号,点击率两周内回升。
中文按两个字节算,60 字节大概就是 30 个汉字,留出余量比刚好写满更稳。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
