调试 AMP 缓存问题
为什么我的文档在 AMP 缓存中出现问题?
有效的 AMP 文档通常在 AMP 缓存上的外观和行为与在源站上相同。但是,某些组件和服务器配置可能会存在问题。
如果某个特定文档在您的源站上显示和行为正常,但在通过缓存查看时(如何将源站网址映射到 Google AMP 缓存)显示不正常,请尝试以下操作
- 打开浏览器的开发者/错误工具控制台,并解决出现的任何错误或警告。
- 通过 AMP 文档验证器运行该文档,并解决任何意外的错误或警告。
如果在执行这些步骤后仍然存在问题,请查看下表。
症状 | 问题 | 解决方案 |
---|---|---|
网页字体未显示(使用了后备字体) | AMP 缓存未被字体提供商列入白名单。 | 联系字体提供商,并要求他们将 所有缓存 列入白名单。 |
资产(例如,字体和图像)未显示(仅限 HTTP 源站) | 文档使用协议相对网址。 | 切换到绝对网址(即 http://www.site.com/doc/amp ,而不是 //www.site.com/doc/amp )。 |
资产(例如,字体和图像)未显示 | 资产的 MIME 类型不正确。 | 指定 可接受的 MIME 类型。 |
AMP 缓存无法访问资产。 | 确保 AMP 缓存可以访问您的资产,并且没有被 IP 地址或用户代理等阻止(Google 抓取工具使用的用户代理列表)。 | |
诸如 <amp-form> 、<amp-list> 之类的动态元素未按预期运行。 | CORS 标头已损坏或丢失。 | 这些组件会从 AMP 缓存向您的源站发出跨源请求。默认情况下,浏览器会阻止这些请求。要允许这些请求,请发出允许 所有缓存 列入白名单的 CORS 标头。 |
由于法律下架通知,正在提供必须删除的内容。 | AMP 缓存尚未收到删除通知。 | 请遵循每个 AMP 缓存的指南来刷新内容。对于 Google AMP 缓存,请参阅 更新 AMP 内容。 |