2016-10-05 60 views
-1

我使移動網站的靜態部分符合放大器的要求,但我不確定是否還有其他必要的步驟。CDNed AMP頁面的正確鏈接URL

特別是,通過重寫網頁內部鏈接到頁面的CDN URL,強制用戶通過Google CDN加載頁面是否可行(或者甚至是必須的?)?即類似<a href="http_s_://cdn.ampproject.org/c/s/example.net/b.html">...</a>?或者會以某種方式搞砸Google的爬蟲?

事實上,我已經試過了,但是當點擊鏈接時,即使當前頁面是通過其CDN URL加載的,頁面仍會在新標籤頁中打開。那是故意的嗎?我嘗試使用target =「_ top」,但顯然這是不允許兼容amp-html。

那麼這裏推薦的解決方案是什麼?

+0

基於此[鏈接](http://stackoverflow.com/a/34757325/5832311),要使用AMP項目CDN,可以通過以下格式的URL訪問:https://cdn.ampproject。 org/c/s//'。注意,'/ s'部分是可選的並且表示一個安全的源,所以如果源不是通過https服務的,那麼你可以使用:https://cdn.ampproject.org/c/ /'。具有AMP同等效果的示例網址:https://cdn.ampproject.org/c/s/amp.theguardian.com/childrens-books-site/2016/jan/12/sugar-tax-andy-mulligan-liquidator ' – abielita

回答

1

當然沒有必要鏈接到AMP緩存的頁面副本。如果你願意,你可以,理論上CDN鏈接應該無限期地工作。每AMP Cache Guidelines,AMP的高速緩存:

  • 承諾永遠保持URL空間(甚至超出了緩存的生存期):
    • 這可以通過URL空間捐贈給值得信賴的實現第三方實體,如archive.org。
    • 這意味着,如果高速緩存決定不再運行,則URL應該重定向到源URL或由另一個高速緩存提供服務。

我選擇讓我的AMP頁面直接鏈接到我自己的我的其他AMP網頁的副本,但是,因爲我曾與谷歌AMP緩存一個小問題沒能成爲我的一些圖片並希望確保如果由於其他錯誤或驗證問題導致緩存不當地提供頁面,我將能夠快速修復問題。最終,您是否要鏈接到規範的非AMP頁面,AMP頁面或緩存的AMP頁面副本。

另請參見this amphtml feature request請求能夠請AMP緩存重寫鏈接,以儘可能指向CDN或非CDN版本的頁面。推測更爲瘋狂,我可以想象有一天瀏覽器會提供在瀏覽時自動進行重寫。我沒有嘗試過,但似乎已經有at least one Chrome extension that loads AMP versions of pages when they're available