现场是这样的。标签聚合页的 h1 是按关联标签自动拼接的,一页能拼出十二个词,输出成「手机 耳机 充电器 数据线 保护壳 支架 车载 蓝牙 有线 快充 收纳 配件」。搜索结果里标题被截断,前后两段读起来毫无意义。
中间走过弯路,把「h1 与 title 完全一致 没有任何取舍空间」当成主因,改完现象没变。
原因不止一个,得分开看。聚合页标题由标签数组直接拼接 没有长度和数量控制;同一批标签在不同页面上重复出现 多页标题高度相似;标签顺序按创建时间排列 与用户搜索意图无关。
先看聚合页标题的实际长度
curl -s https://www.example.com/tag/phone | grep -o '<h1[^>]*>[^<]*' | head -1
限制拼接数量并保留核心词
$h1 = implode(' ', array_slice($tags, 0, 2)) . ' 相关推荐';
title 与 h1 做区分 只保留一个主词
<title>手机配件推荐|<?php echo $tag_name; ?></title>
等前面都确认过,再检查站内聚合页标题的重复度
curl -s https://www.example.com/sitemap-tags.xml | head -20
别只看报错消失,验证要多做一步。控制词数后聚合页标题变得可读,搜索结果的截断问题消失,这批页面的点击率比改前高出两成。
提醒一点。聚合页的标题要能回答一个具体问题,把标签堆成词表既不利于理解,也会让多页之间互相重复。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。
