【问题标题】:Generating AMP CDN URLs生成 AMP CDN URL
【发布时间】:2017-08-18 19:36:58
【问题描述】:

我想通过将 AMP 文档链接到其他 AMP 文档来进行实验。

我知道我可以使用ampUrls:batchGet 查找 CDN 网址,但我有数十万个网址,我不想缓存这个庞大的映射。

我可以使用AMP Cache URL format 中定义的架构预测 CDN URL,并将其用作链接 URL,但我没有看到任何地方推荐这种方法。

这样做有什么坏处?

【问题讨论】:

    标签: amp-html


    【解决方案1】:

    TLDR:不建议以这种方式使用缓存,因为 AMP 缓存网址仅供 AMP 查看器内部使用。

    造成这个问题的主要原因有两个:

    1. Google 搜索等平台会在查看器中显示 AMP 页面(例如,在移动设备上打开:https://www.google.co.uk/amp/s/ampbyexample.com/)。 AMP 查看器的一项重要功能是它们显示 AMP 的原始主机。根据 AMP 查看器的实现,传出链接将离开查看器 - 即使它们链接到缓存的 AMP - 并且将不再显示原始主机。这没有问题,因为传出链接通常会导致正确的来源。但是,对于指向缓存 AMP 的链接,这意味着由于缺少查看器,源会被隐藏,应该避免这种情况。
    2. AMP 缓存仅显示有效的 AMP。如果您不小心破坏了 AMP,用户将看到错误消息而不是您的内容。从您自己的来源提供的无效 AMP 仍将(很可能)显示内容。

    我的建议是:如果您想尝试 AMP 到 AMP 的链接,请链接到您自己来源的 AMP,并让平台决定是否要从缓存中显示您链接的 AMP。

    【讨论】:

    • 感谢您的回答。我将使用我的网址进行测试。
    • 我不确定您所说的“让平台决定是否要从缓存中显示链接的 AMP”是什么意思。哪些平台会显示缓存的文档而不是我的?
    • Google 搜索结果中显示的 AMP 来自 AMP 缓存。