Genel bakış

Google AMP Cache, web'de yayınlanan geçerli AMP içeriğinin önbelleğe alınmış kopyalarını sunar. Hızlı bir kullanıcı deneyimi sağlamak için içeriği doğrudan Google AMP Cache'den sunun.

Google AMP Cache'den yararlanmak için AMP Cache URL biçimini kullanarak doğrudan bir önbellekten AMP URL'sine erişilebilmelidir. Bir kullanıcı önbellekten AMP içeriğine her eriştiğinde, içerik otomatik olarak güncellenir ve güncellenen sürüm, içerik önbelleğe alındıktan sonra bir sonraki kullanıcıya sunulur.

AMP Cache URL biçimi

AMP Cache URL biçimi aşağıdaki bileşenlerden oluşur:

Bileşen Açıklama
Alt alan adı

Google AMP Cache tarafından oluşturulan alt alan adları, karakter sınırlamaları ve teknik özellikler izin verdiğinde kullanıcılar tarafından okunabilir olup yayıncının kendi alan adına çok benzer olur. Mümkün olduğunda Google AMP Cache, her alt alanı şu şekilde oluşturur:

  1. AMP dokümanı alanını IDN'den (Punycode) UTF-8'e dönüştürme.
  2. Her &"," (çizgi) yerine "&" (2) işareti kullanılır.
  3. Her &"," (nokta) bir &"
  4. Tekrar IDN'ye (Punycode) dönüştürülüyor.

Örneğin pub.com, pub-com.cdn.ampproject.org ile eşlenir. Teknik sınırlamalar, kullanıcıların okuyabileceği alt alan adlarının engellendiği durumlarda bunun yerine tek yönlü karma kullanılır.

İçerik türü İçerik türü şunlardan biridir: AMP HTML dokümanı için 'c' resim için veya 'r' yazı tipi gibi bir kaynak için. Google AMP Cache, bu içerik türleriyle eşleşmeyen kaynaklar için 404 hatası döndürür (temel hata bölümüne bakın).
İsteğe bağlı 's' Mevcut olduğunda, Google'ın içeriği TLS (güvenli HTTPS) kullanarak kaynaktan getirmesini gerektirir. 's' yoksa içerik, düz HTTP kullanılarak kaynaktan getirilir.
URI Alınacak içeriğin URI'si. URI, bir şema (yani "http://" veya "https://") içeremez.

Alt alan adını bulma

Genellikle bir Google AMP Cache URL'sinin alt alan adı, yukarıda açıklanan adımlar uygulanarak orijinal URL'nin kullanıcılar tarafından okunabilir bir dönüşümü olur. Ancak bunun doğru olmadığı durumlar olduğu için, üretime hazır uygulamalar için Google AMP Cache URL'lerini almanın en iyi yolu Google AMP Cache URL API'sini kullanmaktır.

Üretim harici durumlarda, Google AMP Cache'in hangi alt alan adını oluşturacağını belirlemek için amp.dev adresindeki Google AMP Cache'i kullanma etkileşimli aracını deneyin.

TLS kullanan belge isteme örneği

https://example.com/amp_document.html kaynağından getirilen AMP HTML dokümanı (/c ön ekiyle belirtilen) isteği:

https://example-com.cdn.ampproject.org/c/s/example.com/amp_document.html

/s, /c ön ekini kullandığı için doküman, TLS kullanılarak example.com'dan getirilir.

Düz HTTP kullanarak resim isteme örneği

http://example.com/logo.png kaynağından getirilen resim isteği (/i önekiyle belirtilir):

https://example-com.cdn.ampproject.org/i/example.com/logo.png

/i ön ekinden sonra /s bulunmadığından Google, resmi TLS üzerinden HTTP yerine düz HTTP kullanarak example.com'dan getirir.

Sorgu parametresi örneği

AMP Cache URL biçimi, sorgu dizesindeki parametreleri de içerebilir. Aşağıda parametreleri içeren bir HTTPS örneği verilmiştir: https://example-com.cdn.ampproject.org/c/s/example.com/g?value=Hello%20World

Google AMP Cache güncellemeleri

Kullanıcılar Google AMP Cache'den AMP dokümanı istediğinde önbellek, bir sonraki kullanıcıya içerik önbelleğe alındıktan sonra yeni içerik sunabilmek için otomatik olarak güncellemeleri ister. Bu modelde, AMP dokümanlarında yapılan güncellemeler otomatik ve hızlı bir şekilde yayılır; güncellemenizden sonra az sayıda kullanıcı güncellenmemiş sürümü görür.

Önbellek, "eski bir tarihi yeniden doğrulama" modelini izler. Belirli bir dokümanın veya kaynağın eski olup olmadığına karar verirken ipucu olarak Max-Age gibi içeriğin kaynak önbelleğe alma başlıklarını kullanır. Bir kullanıcı eski bir dosya için istekte bulunduğunda, bu istek yeni bir kopyanın getirilmesine neden olur. Böylece sonraki kullanıcı yeni içerik alır.

Google AMP Cache, yayıncı siteleri için oluşturduğu yük miktarını sınırlamak üzere tüm dokümanları en az 15 saniye süreyle yeni olan öğeleri ve en az 1 dakika boyunca yeni olan kaynakları dikkate alır. Önbelleğin, yayıncı sitelerinde güncellik ve yükleme arasındaki optimum dengeyi ayarladığımız için bu sayılar gelecekte değişebileceğini unutmayın.

Önbellek optimizasyonları ve değişiklikleri

Google AMP Cache, aşağıdaki gibi optimizasyonlar ve değişiklikler gerçekleştirir:

  • İçeriğin AMP biçiminde olduğunu ve tüm AMP performans hedeflerini karşıladığını doğrular.
  • AMP dokümanlarına ek olarak resimleri ve yazı tiplerini önbelleğe alır.
  • Tarayıcı bellek sorunlarını ve yanıt verme hızının etkilenmesini önlemek için maksimum resim boyutlarını sınırlandırır.
  • amp-img etiketi aracılığıyla resimlerin yayınlanma verimliliğini artırmak için çeşitli dönüştürmeler. Örneğin:
    • Belirli meta veriler gibi görünmez olan veya görülmesi zor olan verilerin kaldırılması.
    • WebP'yi destekleyen tarayıcılarda GIF, PNG ve JPEG biçimindeki resimlerin WebP'ye dönüştürülmesi gibi, resimlerin daha küçük ve mobil uyumlu resim biçimlerine dönüştürülmesi.
    • İstek Save-Data başlığını içeriyorsa resmin daha düşük kalitede dönüştürülmesi.
    • Alternatif olarak boyutlandırılmış sürümler oluşturma ve duyarlı boyutlara sahip resimlerin yayınlanmasını desteklemek için srcset özellikleri ekleme.
  • Güvenli bir kanal (HTTPS) üzerinden hizmet verir ve en son web protokollerini (SPDY, HTTP/2) kullanır.
  • Hatalı olarak kapatılmış HTML etiketleri, yorumlar ve daha fazlasına dayalı XSS saldırılarını önlemek için AMP dokümanlarını temizler.

Google AMP Cache, yukarıdaki dönüşümleri yaparken "Cache-Control: no-conversion" başlığını dikkate almaz.

HTML temizleme

Google AMP Cache, ayrıştırmayı normalleştirmek için tüm dokümanları yeniden yazar. Örnekler:

  • Tüm HTML yorumları kaldırılır.
  • Etiket ve özellik adları küçük harfle yazılmıştır.
  • Özellik değerleri tırnak işaretleri içinde atlanır ve atlanır.
  • HTML5 geçersiz öğeler hariç tüm etiketler kapalıdır.
  • Etiketlerin içindeki boşlukları çıkarılır.
  • Metin çıkışlıdır.
  • Kodlanmış metin karakterleri, UTF-8 eşdeğer karakterleri kullanılarak sadeleştirilir.
  • Yalnızca body içinde olabilecek öğeler body klasörüne taşınır.
  • Doküman, yayıncı kaynağı yerine Google AMP Cache kaynağı üzerinden sunulduğunda çalışmaya devam etmesi için giden bağlantılar mutlak hale getirilir.

Önceden getirme etiketleri ekleme

Google AMP Cache, kaynakların daha erken yüklenmesine yardımcı olmak için tarayıcılara çeşitli önceden getirme ipucu etiketleri ekler. Örneğin, <link href='https://fonts.googleapis.com/css?family=Lato' rel='stylesheet’> olarak değişir:

<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
<link href="https://fonts.gstatic.com" rel="dns-prefetch preconnect">