AMP

调试 AMP 缓存问题

为什么我的文档在 AMP 缓存上损坏?

有效的 AMP 文档通常在 AMP 缓存上的外观和行为与在原始域上的外观和行为相同。 但是,某些组件和服务器配置可能会有问题。

如果特定文档在您的原始域上按预期显示和运行,但在通过缓存查看时(如何将原始网址映射到 Google AMP 缓存)并非如此,请尝试以下操作

  1. 打开浏览器的开发者/错误工具控制台,并解决出现的任何错误或警告。
  2. 通过AMP 文档验证器运行文档,并解决任何意外的错误或警告。

如果在执行这些步骤后仍然存在问题,请检查下表。

症状 问题 解决方案
Web 字体不显示(使用后备字体) 字体提供商未将 AMP 缓存列入允许列表。 联系字体提供商并要求他们将所有缓存列入允许列表。
资产(例如,字体和图像)不显示(仅限 HTTP 原始域 文档使用协议相关的 URL。 切换到绝对 URL(即,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 内容