你刚改完AMP页面,一刷新Search Console,收录数直接从“几百”掉到“个位数”。红色报错像在对你冷笑。不是没检查,不是没重提,可它就是不收录——这种憋屈,我去年在帮三个客户救站时,天天都碰上。
AMP收录翻车,真不是玄学。问题就卡在那几处,而且几乎每次都能在Search Console里一眼揪出来。下面这些,全是实操中反复验证过的路径,不绕弯,不讲虚的。
AMP页面不收录,到底卡在哪一步?
AMP页面从被发现到进索引,得过三道关:被抓到、被画出来、被收进去。哪一环断了,收录就停摆。
抓取阶段,最常踩的坑是:服务器根本没让Googlebot进门。比如一个本地生活类客户,所有AMP页面返回的都是302跳转,目标却是PC首页。查下来发现,是CMS的“移动端适配插件”压根不认AMP这个身份,一律当普通手机端处理,强制跳走。结果Googlebot连HTML都没拿到,自然无法继续。
渲染阶段,AMP Cache会严格校验JS行为。哪怕只有一行非AMP标准的脚本,整个页面就可能被拒之门外。有个知识付费站点,用<amp-iframe>嵌了第三方测评组件,但对方在iframe内执行了一段document.write()——这在AMP里是明令禁止的。Search Console里清清楚楚写着“无法呈现AMP页面”,收录量当天归零。
索引阶段,就算前两步全过,Google也可能说:“内容太薄,不收。”比如一个行业资讯号,所有AMP页标题统一为“XX事件解读 - 站点名”,正文只有80字摘要+一个“点击阅读全文”按钮。Google判定这是“无实质内容的导流页”,直接跳过索引。
怎么快速定位?打开Search Console → “覆盖范围”报告 → 看具体URL的状态。如果显示“已提交但未索引”,重点查抓取和渲染;如果显示“已发现但未提交”,说明Google压根还没扫到你的AMP链接——这时候该回头检查<link rel="amphtml">有没有漏加、或者是否被robots.txt屏蔽了。
排查AMP页面收录异常的3个步骤
第一步:用官方验证器,一页一页过语法。别凭感觉。去 validator.ampproject.org,把AMP页面URL粘进去。高频雷区有这几个:
<script>标签里塞了自定义JS(包括GA、统计代码);<style amp-custom>里写了position: fixed或overflow: scroll这类禁用属性;<amp-img>缺了width和height,或者用了<img>替代;- CSS体积超50KB(AMP对样式大小有硬限制)。
一个教育类客户,所有AMP页失效,就因为主题里留着一段<script>if (window.location...)的跳转逻辑——删掉,换<amp-redirect>组件,当天恢复。
第二步:用curl模拟Googlebot,看服务器到底给了什么。命令很简单:
curl -I -A "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://yoursite.com/amp/article/
重点盯两个头:
✅ Content-Type: text/html —— 必须是这个,不能是text/plain或application/xhtml+xml;
⚠️ X-Frame-Options: DENY —— 如果存在,AMP Cache无法嵌入页面,收录直接中断。
第三步:用Search Console里的“URL检查工具”,提交一个典型AMP链接,点开“已呈现的页面”。如果空白、错位、图片不加载,或者文字堆成一团,说明渲染失败。常见原因是资源跨域受限。比如一个母婴博客,AMP页引用了CDN上的字体文件,但CDN的Access-Control-Allow-Origin只放行了主站域名,没加https://cdn.ampproject.org——结果字体加载失败,页面排版崩塌,Google直接放弃索引。
AMP页面收录后突然消失,怎么救?
先别急着重做页面。打开Search Console,直奔两个地方:
🔹 “手动操作” —— 看有没有人工处罚;
🔹 “安全问题” —— 看有没有黑链、挂马痕迹。
都没问题?再去看“核心网页指标”报告。
一个旅游攻略站,某天AMP收录掉了一半。查下来发现LCP(最大内容绘制)时间从2秒飙到7秒以上。原因很实在:首页AMP页加了个<amp-video>,但视频源是未压缩的原片,体积太大,首屏白屏太久。Google页面体验更新后,这类页面优先级被大幅下调。
还有一种情况是机制变化带来的“错觉”。比如2021年Google取消Top Stories对AMP的强制要求,很多站长误以为“AMP不重要了”。其实不是AMP失效,而是非AMP页也有了同等曝光机会——竞争变大了,但你的AMP页只要质量在线,依然能稳住。
怎么动手?进“核心网页指标”报告,按LCP、CLS排序,挑出表现最差的几个AMP页。
- LCP慢?优先检查首屏
<amp-img>或<amp-video>:加上loading="lazy",视频务必配poster图; - CLS抖动?给广告容器、评论框、动态插入的模块写死宽高,别让它加载时突然撑开页面。
为什么你的AMP页面被标记为“无效”?
Search Console里标“无效AMP页面”,意思是Google在解析时当场报错,连进渲染环节的资格都没有。真实原因往往就那么几条:
<style amp-custom>里用了position: sticky或transform: scale()——AMP只允许极少数CSS变换;<script>标签还在那儿杵着,哪怕只有一行,哪怕只是console.log();<amp-img>的src是HTTP链接(比如http://xxx.jpg),而AMP强制全站HTTPS;- 组件版本太老,比如还在用
<amp-carousel layout="responsive" width="400" height="300" data-next-button-aria-label="Go to next slide">,但新版要求data-next-button-aria-label必须配合data-next-button-id使用。
一个开发者社区的案例:所有AMP页被标无效,最后发现是主题footer里硬写了<script src="//cdn.xxx.com/comment.js"></script>。换成<amp-iframe>加载同一评论系统后,错误清零,收录次日回升。
修复建议:用AMP验证器批量导出错误列表。大部分CSS类错误,直接删掉对应样式就行;JS相关错误,一律替换为<amp-analytics>、<amp-bind>等官方组件;HTTP图片,批量替换成HTTPS地址——这些操作,在WordPress后台或静态站的HTML模板里,5分钟就能改完。
非AMP页面收录正常,AMP页面却不行,问题在哪?
这种情况,八成是“自己人坑自己人”。
最典型的是内容割裂:PC页有完整正文,AMP页只有标题+摘要+一张图+“阅读全文”按钮。Google明确要求AMP页与PC页“内容实质一致”。一个财经媒体因此被整站过滤——他们把AMP页当成“预告页”来运营,结果Google判定为“内容降级”,拒绝索引。
另一个隐蔽坑是canonical链接指向错误。比如AMP页写的<link rel="canonical" href="https://site.com/post/123">,但这个URL实际做了301跳转到https://site.com/article/123。Google顺着跳过去,发现目标页结构不同,就认为AMP页指向的是“重复内容”。
还有结构化数据不一致。PC页JSON-LD里写了"datePublished": "2024-03-15",AMP页却漏了这行,或者写成了"2024-03-14"。Google比对后,会怀疑页面真实性,索引意愿直线下降。
怎么做?三件事马上做:
- 打开一个AMP页和对应的PC页,左右对比——正文、标题、meta description,一个字都不能少;
- 检查AMP页的
<link rel="canonical">,确保它指向PC页当前生效的最终URL(不是跳转前的,也不是带UTM参数的); - 把PC页的JSON-LD代码块,原封不动复制进AMP页的
<head>里,字段顺序和值保持一致。
今天就能执行的1个操作
打开Search Console → 左侧菜单点“覆盖范围” → 右上角筛选器选“无效AMP页面” → 选一个报错最多、你最近改过的URL → 复制它的地址 → 打开 validator.ampproject.org → 粘贴、运行验证 → 截下错误详情。
然后回到你网站的AMP模板或单页HTML里,找到报错提到的<style>块,删掉所有含position:、transform:、overflow:的样式;找到所有<script>标签,全部删掉,换成对应AMP组件(比如统计用<amp-analytics>,轮播用<amp-carousel>)。
改完,保存,重新用验证器跑一次。
不出意外,这个URL的状态会在几小时内变成“有效”。收录恢复,往往就差这一步。