AMP İçeriğini Güncelleyin

Google AMP Cache'deki içeriği güncellemek ve kaldırmak için update-cache isteğini kullanın. Şu anda update-cache, yalnızca içeriğin maksimum yaş dahilinde güncellenmesini sağlar. Bu, kaynağın yeni kabul edileceği maksimum süreyi belirtir.

update-cache isteği, alan sahibinin istekleri bir RSA anahtarıyla imzalamasını ve eşleşen ortak anahtarı, kaynak alandaki standart bir URL'den sunmasını gerektirir.

AMP Cache'e imzalı bir istek göndererek belgenin o anda önbelleğe alınan herhangi bir sürümünü temizleyebilirsiniz. update-cache isteği şu adrese çağrılır:

https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&amp_ts=<ts_val>&amp_url_signature=<sig_val>

Parametreler

update-cache isteği için aşağıdaki parametreler ve değerler gerekir:

Parametreler
example-com ve example.com

Zorunlu

AMP önbellek URL biçiminde kullanılan biçimlere göre belirtilen alan adı.
<cache.updateCacheApiDomainSuffix>

Zorunlu

AMP Önbelleğinin alan adı. Daha fazla bilgi için update-cache isteğini çağırma konusuna bakın.
amp_ts=<ts_val>

Zorunlu

Bu parametre, tekrar saldırıları önlemek için kullanılan UNIX dönem zaman damgasını temsil eder. Değer, saniye cinsinden mevcut zaman olmalıdır. Bu değer, mevcut saatten 1 dakika önce veya sonra olmalıdır.
amp_url_signature=<sig_val>

Zorunlu

Bu parametre, tüm istek yolunun RSA imzasını temsil eder (bkz. RSA anahtarını oluşturma), amp_action ve amp_ts dahil ancak imzanın kendisi hariçtir.

Yönergeler

update-cache yönergelerine uymanız gerekir:

  • AMP Cache ana makine adı (cdn.ampproject.org), aynı imzalı isteğin birden fazla AMP Cache operatörüne gönderilmesine izin vermek için imzadan hariç tutulur.
  • İmza doğrulaması için genel RSA anahtarını AMP belgesinin alanında sabit bir konumda sunmalısınız (anahtarı oluşturmak için RSA anahtarı oluşturma konusuna bakın). Örneğin:
    https://example.com/.well-known/amphtml/apikey.pub
  • Ortak anahtar robot tarafından engellenmemelidir.
  • URL, HTTPS olmalıdır.
  • Alan, alt veya üst alan değil, tam olarak güncellemek istediğiniz alan olmalıdır.
  • Anahtarı PEM biçiminde yayınlamalı ve anahtarı "text/plain" içerik türüyle sunmalısınız.
  • AMP Önbelleği, ortak anahtarı, dokümanda herhangi bir rel=canonical etiketi aracılığıyla belirtilen alandan bağımsız olarak her zaman isteğin aynı alanından getirir. Kaynak alan, temizlenecek konumda bir HTTP yönlendirmesi sunuyorsa yönlendirmenin hedefi değil, yalnızca istenen yol önbellekten temizlenir.

İçerikleri güncelleme veya kaldırma

İçeriği kaynağından kaldırdıktan sonra Google AMP Cache'deki içeriği güncellemek veya kalıcı olarak kaldırmak için update-cache etiketini kullanabilirsiniz. İçeriği güncellemek veya kaldırmak için aşağıdaki adımları uygulayın:

  1. Şu dosyayı getir:
    https://cdn.ampproject.org/caches.json
  2. JSON dosyasındaki caches girişlerindeki girişleri yineleyin.
  3. Desteklemek istediğiniz caches değerini seçin.
  4. Her cache girişinde updateCacheApiDomainSuffix özelliğini kullanarak update-cache talebini iletin.
  5. URL'leri aşağıdaki biçimi kullanarak oluşturun:
    https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&amp_ts=<ts_val>&amp_url_signature=<sig_val>

RSA anahtarını oluşturma

OpenSSL projesi, asimetrik RSA anahtarları oluşturmak ve yönetmek için komut satırı araçları sağlıyor. RSA anahtarları da oluşturabilir ve OpenSSL kitaplığı veya eşdeğer bir kripto API (düğüm şifrelemesi, NSS veya GnuTLS) aracılığıyla programatik olarak yönetebilirsiniz.

  1. Aşağıdaki gibi metin PEM biçiminde bir çift RSA anahtarı oluşturun:
    openssl genrsa 2048 > private-key.pem
    openssl rsa -in private-key.pem -pubout >public-key.pem
  2. Alanda yenilenecek ortak anahtarı aşağıdaki konumda yayınlayın:
    https://example.com/.well-known/amphtml/apikey.pub

    URL, HTTPS olmalıdır. Anahtar, anonim bir kullanıcı tarafından herkesin erişimine açık olmalıdır.

  3. update-cache isteğini imzalamak için özel anahtarı kullanın. Örneğin:
    echo -n > url.txt "/update-cache/c/s/example.com/article?amp_action=flush&amp_ts=$(date +%s)" && cat url.txt | openssl dgst -sha256 -sign private-key.pem > signature.bin

    imza.bin çıkışı, ikili RSA imzasıdır.

  4. İmzayı doğrulamak için ortak anahtarı kullanın:
    openssl dgst -sha256 -signature signature.bin -verify public-key.pem url.txt
  5. İkili RSA imzasını, base64'ün web güvenli varyantını kullanarak kodlayın:
    cat signature.bin | base64 -w0 | tr '/+' '_-' | tr -d '=' > base64.txt
  6. amp_url_signature sorgu parametresini kullanarak URL6'ya base64 kodlu RSA imzasını ekleyin.
    echo "$(cat url.txt)&amp_url_signature=$(cat base64.txt)"

RSA anahtarını güncelleyin

RSA anahtarınızı güncellemek isterseniz AMP Cache bağlantısı üzerinden RSA anahtarına erişebilirsiniz. Google, yeni RSA anahtarınızı birkaç saat içinde tarayabilir. AMP Cache bağlantısı:

https://example-com.<cache.updateCacheApiDomainSuffix>/r/s/example.com/.well-known/amphtml/apikey.pub