问题出现得很突然,日志倒是留得挺全。站点同时输出 AMP 和标准页,AMP 插件自动插了 canonical。三个月后 site 查询里全是 /amp/ 结尾的地址,标准页一条都没有。

刚开始盯着「标准页加载慢,蜘蛛优先抓更轻的 AMP 版本」,折腾了半个多小时,排掉了。

把日志和配置对完,能解释这个现象的基本就这几处。AMP 页的 canonical 指向了自己,标准页的 canonical 也指向自己。另一种情况是移动端的入口链接被插件改写成 AMP 地址。

还有一种情况,两套页面的 hreflang 和 canonical 关系没理清。

第一件事是分别看两套页面的 canonical 指向

curl -s https://www.example.com/a/amp/ | grep -o 'rel="canonical"[^>]*'

随后让 AMP 页回指标准页

add_action('amp_post_template_head', function(){ echo '<link rel="canonical" href="' . get_permalink() . '">'; });

接着把移动入口改回标准页

curl -s -A 'Googlebot' https://www.example.com/ | grep -o 'href="[^"]*/a/"' | head

复查标准页是否被抓

grep -c 'GET /a/ ' access.log

改完先别撤,确认这几项。AMP 页的 canonical 指向标准页,标准页在 GSC 里从已发现变成已编入索引,site 查询里 /amp/ 的条目逐步减少。

AMP 早已不是排名加分项,现在留着的唯一理由是快,两套页面 canonical 互相指自己的站点最容易两头落空。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189