文章模板把 title 直接输出成 H1,摘要里出现「Nginx 502 排查 Nginx 502 排查,先看 upstream 日志」,同一句连着出现两遍。
一开始怀疑是「模板没给 H1 留语义差异,无法用于补充信息」,查了一圈,方向不对。
把日志和配置对完,能解释这个现象的基本就这几处。H1 与 title 一字不差,摘要抽取时把两处都算进正文。还有一种是正文开头又重复一遍标题,形成三连。
不容易想到的是,面包屑最后一项也输出标题,第四处重复。
第一件事是确认 H1 与 title 是否逐字相同
curl -s https://www.example.com/post/ | grep -o '<h1[^>]*>[^<]*</h1>'
随后把 H1 改成带结论的表述
add_filter('the_title', function($t){ return is_singular() ? $t.' 的定位思路' : $t; });
接着删掉正文首段重复的标题句
UPDATE wp_posts SET post_content = TRIM(REPLACE(post_content,'Nginx 502 排查','')) WHERE ID=1234;
复核摘要里是否还重复
curl -s 'https://www.google.com/search?q=site:www.example.com+502' -A 'Mozilla/5.0' | grep -c '502 排查 502 排查'
恢复的判定其实很直接。摘要里不再出现连续重复的标题句,H1 保留关键词的同时多了一句具体结论,页面排名位置没有变化。
提醒一点。H1 不是必须和 title 不同,但完全相同就浪费了唯一能补充信息的标题位。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
