如何强制页面进入放大器缓存?

时间:2016-11-23 04:00:54

标签: amp-html

我已将示例AMP页面发布到heroku项目中;

http://boiling-garden-78683.herokuapp.com

然后我尝试使用以下curl命令来获取AMP缓存URL:

curl -i -s -k -X POST -H "Content-Type: application/json" -H "X-Goog-Api-Key:<MYKEY>" -d "{urls: ['http://boiling-garden-78683.herokuapp.com/']}" "https://acceleratedmobilepageurl.googleapis.com/v1/ampUrls:batchGet"

这个curl命令正在返回:

{
  "urlErrors": [
    {
      "errorCode": "NO_AMP_URL",
      "errorMessage": "No AMP URL for the request URL.",
      "originalUrl": "http://boiling-garden-78683.herokuapp.com/"
    }
  ]
}

我对AMP不了解什么?制作AMP页面的目的不是为了让我可以获得一个AMP URL给用户,而不是他们必须直接访问我的网站吗?

2 个答案:

答案 0 :(得分:2)

您有两种选择:

  1. 等待Google抓取工具何时发现您的网页更改

  2. 只需通过“curl”进行此调用,或者只是使用浏览器进行链接:

    curl https://cdn.ampproject.org/update-ping/c/s/boiling-garden-78683.herokuapp.com

  3. 然后您提供的API调用将返回您想要的内容;) 更新AMP缓存的机制(如果您的AMP有效,如果不在缓存中则会添加)将在此 Update AMP Content页面中进行说明。

答案 1 :(得分:0)

您也可以直接构建AMP缓存URL。逻辑很简单:删除协议(在这种情况下为http://),并添加前缀https://cdn.ampproject.org/c/。如果您的网页是通过https投放的,则可以使用https://cdn.ampproject.org/c/s/

但是,是的,您使用的API仅返回已经已缓存的结果。您可以使用Nick提供的update-ping网址来填充缓存,然后它应该可以正常工作。