Perbarui Konten AMP

Gunakan permintaan update-cache untuk memperbarui dan menghapus konten dari Google AMP Cache. Saat ini, update-cache hanya memastikan bahwa konten diperbarui dalam maks., yang berarti jumlah maksimum waktu resource akan dianggap baru.

Permintaan update-cache mengharuskan pemilik domain untuk menandatangani permintaan dengan kunci RSA dan menyalurkan kunci publik yang cocok dari URL standar di domain asal.

Anda dapat membersihkan semua versi dokumen yang saat ini di-cache dengan mengajukan permintaan yang ditandatangani ke Cache AMP. Permintaan update-cache dipanggil di alamat ini:

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

Parameter

Permintaan update-cache memerlukan parameter dan nilai berikut:

Parameter
example-com dan example.com

Wajib

Nama domain yang ditentukan sesuai dengan format yang digunakan dalam format URL cache AMP.
<cache.updateCacheApiDomainSuffix>

Wajib

Nama domain Cache AMP. Lihat Memanggil permintaan update-cache untuk mengetahui informasi selengkapnya.
amp_ts=<ts_val>

Wajib

Parameter ini merepresentasikan stempel waktu UNIX-epoch, yang digunakan untuk mencegah serangan replay. Nilainya harus berupa waktu saat ini dalam detik, yang harus dalam waktu 1 menit sebelum atau setelah waktu saat ini.
amp_url_signature=<sig_val>

Wajib

Parameter ini mewakili tanda tangan RSA dari seluruh jalur permintaan (lihat Membuat kunci RSA), termasuk amp_action dan amp_ts, tetapi mengecualikan tanda tangan itu sendiri.

Panduan

Anda harus mengikuti panduan update-cache:

  • Hostname AMP Cache (mailto.ampproject.org) dikecualikan dari tanda tangan untuk memungkinkan pengiriman permintaan bertanda tangan yang sama ke beberapa operator AMP Cache.
  • Untuk verifikasi tanda tangan, Anda harus menyalurkan kunci RSA publik di lokasi tetap pada domain dokumen AMP (untuk membuat kunci, lihat Membuat kunci RSA). Misalnya:
    https://example.com/.well-known/amphtml/apikey.pub
  • Kunci publik tidak boleh di-robot.
  • URL harus berupa HTTPS.
  • Domain harus berupa domain yang sama persis dengan yang ingin Anda perbarui, bukan sub-domain atau domain super.
  • Anda harus memublikasikan kunci dalam format PEM dan menayangkan kunci dengan jenis konten "text/plain".
  • Cache AMP selalu mengambil kunci publik dari domain permintaan yang sama, terlepas dari domain yang ditentukan oleh dokumen melalui tag rel=canonical apa pun. Jika domain asal menayangkan pengalihan HTTP di lokasi yang akan dihapus, hanya jalur yang diminta yang akan dihapus dari cache, bukan target pengalihan.

Memperbarui atau menghapus konten

Anda dapat menggunakan update-cache untuk memperbarui atau menghapus konten dari Google AMP Cache secara permanen setelah konten dihapus dari asalnya. Untuk memperbarui atau menghapus konten, ikuti langkah-langkah berikut:

  1. Ambil file berikut:
    https://cdn.ampproject.org/caches.json
  2. Lakukan iterasi pada entri dalam entri caches dalam file JSON.
  3. Pilih caches yang ingin Anda dukung.
  4. Panggil permintaan update-cache menggunakan updateCacheApiDomainSuffix dari setiap entri cache.
  5. Buat URL menggunakan format berikut:
    https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&amp_ts=<ts_val>&amp_url_signature=<sig_val>

Buat kunci RSA

Project OpenSSL menyediakan alat command line untuk membuat dan mengelola kunci RSA asimetris. Anda juga dapat membuat kunci RSA dan mengelolanya secara terprogram melalui library OpenSSL, atau API kripto yang setara (node-Crypto, NSS, atau GnuTLS).

  1. Buat sepasang kunci RSA dalam format PEM tekstual seperti ini:
    openssl genrsa 2048 > private-key.pem
    openssl rsa -in private-key.pem -pubout >public-key.pem
  2. Posting kunci publik di domain agar dimuat ulang di lokasi berikut:
    https://example.com/.well-known/amphtml/apikey.pub

    URL harus berupa HTTPS. Kunci harus dapat diakses secara publik oleh pengguna anonim.

  3. Gunakan kunci pribadi untuk menandatangani permintaan update-cache. Contoh:
    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

    Output ke signature.bin adalah tanda tangan RSA biner.

  4. Gunakan kunci publik untuk memverifikasi tanda tangan:
    openssl dgst -sha256 -signature signature.bin -verify public-key.pem url.txt
  5. Enkodekan tanda tangan RSA biner menggunakan varian aman web base64:
    cat signature.bin | base64 -w0 | tr '/+' '_-' | tr -d '=' > base64.txt
  6. Tambahkan tanda tangan RSA yang dienkode base64 ke URL menggunakan parameter kueri amp_url_signature.
    echo "$(cat url.txt)&amp_url_signature=$(cat base64.txt)"

Perbarui kunci RSA

Jika ingin memperbarui kunci RSA, Anda dapat mengakses kunci RSA melalui link AMP Cache dan Google dapat meng-crawl kunci RSA baru Anda dalam beberapa jam. Berikut link AMP Cache:

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