amp html 必须满足五项硬性条件:根标签为或;为首项;含;引入v0.js脚本;css内联且≤75kb、禁用@import等;所有媒体标签须用amp-*组件。

HTML AMP 本身不是“移动加速”的通用解法,而是一套有严格约束的、面向内容类页面(尤其是新闻/文章)的性能优化方案。它能显著提升特定场景下的首屏加载速度,但代价是放弃交互自由、动态能力与设计灵活性。
AMP HTML 必须满足哪些硬性条件才能被识别为有效 AMP
不满足任意一条,页面就无法通过 AMP 验证器,也不会被 AMP Cache 收录或打上 AMP 标识:
-
或声明必须存在,且是根标签唯一合法形式 -
<meta charset="utf-8">必须是中第一个元素 - 必须包含
<link rel="canonical" href="https://example.com/article.html">指向非 AMP 版本 - 必须引入
<script async src="https://cdn.ampproject.org/v0.js"></script> - CSS 只能内联在
<style amp-custom></style>中,且总大小不能超过 75 KB;禁止@import、!important、transition等部分属性 - 所有外部资源(图片、视频、iframe)必须用
<amp-img></amp-img>、<amp-video></amp-video>、<amp-iframe></amp-iframe>替代原生标签
为什么 AMP 页面在 Google 搜索结果里加载快,但自己访问却没感觉
用户感知到的“秒开”,主要来自 AMP Cache 的 CDN 分发和预渲染机制,而非页面本身代码多轻量:
- 当用户从 Google 搜索结果点击 AMP 链接时,实际访问的是
https://www-google-com.cdn.ampproject.org/c/s/...这类缓存地址,由 Google 托管并预优化 - 直接访问你自己的
https://yoursite.com/article.amp.html,没有经过 AMP Cache,加载表现等同于普通静态页,甚至因 JS 库加载反而略慢 - AMP Cache 不缓存带用户态的页面(如登录态、个性化推荐),所以电商、后台、表单类页面天然不适用
- 国内搜索生态中,百度 MIP 已基本停止更新,Google 搜索在中国大陆不可用,AMP 的流量红利实际已大幅衰减
amp-img 和 img 在懒加载、宽高比、SEO 上的关键差异
<img> 是自由的,<amp-img></amp-img> 是受控的——这种控制换来确定性,也带来限制:
-
<amp-img></amp-img>强制要求width和height属性,用于提前计算布局,避免重排;缺失会直接报错,页面失效 - 懒加载由 AMP Runtime 自动管理,无需
loading="lazy";但无法手动触发或监听加载完成事件 -
<amp-img></amp-img>支持srcset和sizes,但不支持decoding="async"或fetchpriority - SEO 方面,
<amp-img></amp-img>的alt仍起作用,但若未设置layout="responsive"或尺寸不当,可能被搜索引擎降权(因影响 CLS) - 注意:
<amp-img></amp-img>不支持 WebP 自动降级,需手动提供<source type="image/webp"></source>配合<amp-img></amp-img>的<fallback></fallback>子节点
现在还该不该上 AMP:三个现实判断点
别被“加速”二字带节奏。是否采用 AMP,取决于你的页面类型、技术栈和真实目标:
- 如果你运营的是资讯站、博客、政府公告页等以静态内容为主、无登录/交互需求的页面,且主要流量来自 Google 搜索(尤其欧美市场),AMP 仍有实操价值
- 如果你的页面依赖大量 JavaScript 交互(如地图、实时评论、购物车)、需要第三方 SDK(微信 JS-SDK、支付宝 API)、或使用现代构建工具(Vite、Next.js),强行套 AMP 会导致维护成本飙升,得不偿失
- 如果目标是整体移动体验优化,优先做 Core Web Vitals 诊断:
LCP卡在图片?换intrinsic sizing + fetchpriority=high;CLS高?加aspect-ratio和height:auto;这些手段兼容性更好、控制更细、无需妥协架构
AMP 最容易被忽略的复杂点,其实是它的“二进制契约”:你交出控制权,它承诺性能。但这个契约只在 AMP Cache 生效,而 Cache 的准入、刷新、调试全不在你掌控中。一旦 canonical 链接写错、验证器突然报新规则、或某天 AMP Cache 停服,你就只剩一个孤立的、无法独立运行的 HTML 文件。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











