问题出现得很突然,日志倒是留得挺全。搜索引擎给的摘要是一段「版权所有 备案号」的页脚文字,正文其实写得挺完整,问题在于正文开头先插了一条 200 字的广告位,摘要算法跳过了那段。
把日志和配置对完,能解释这个现象的基本就这几处。广告区块和正文在同一个容器里,没有语义区分。还有一种是正文用 div 拼装,没有 article 或 main 标签。
不容易想到的是,页面顶部还有一段公告,被当成正文开头。
第一件事是确认正文是否有语义容器
curl -s https://www.example.com/post/1 | grep -o '<article' | head -1
再往下把广告与公告移出正文容器
grep -n 'ad-slot' wp-content/themes/yourtheme/single.php
末了加 JSON-LD 的 articleBody 指向正文
curl -s https://www.example.com/post/1 | grep -o 'articleBody' | wc -l
别只看报错消失,验证要多做一步。调整结构后摘要开始取正文首段,两个月内该批页面的点击率提升约 0.8 个百分点。
提醒一点。摘要取哪一段由引擎决定,能做的只是把广告和公告从正文语义里挪出去。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。
