تعديل محتوى AMP

يمكنك استخدام طلب update-cache لتعديل المحتوى وإزالته من ذاكرة التخزين المؤقت لصفحات AMP على Google. في الوقت الحالي، تضمن سياسة update-cache تعديل المحتوى فقط في الحد الأقصى للعمر، ما يعني أنّ الحد الأقصى للوقت الذي سيتم فيه اعتبار المورد حديثًا.

يتطلب طلب update-cache من مالك النطاق توقيع الطلبات باستخدام مفتاح RSA وعرض المفتاح العام المطابق من عنوان URL عادي على النطاق الأصلي.

يمكنك محو أي نسخة مخزَّنة حاليًا من مستند من خلال إصدار طلب موقَّع إلى ذاكرة التخزين المؤقت لصفحات AMP. ويتم طلب طلب update-cache على هذا العنوان:

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

المعلّمات

يتطلب طلب update-cache المعلمات والقيم التالية:

المعلّمات
example-com وexample.com

مطلوب

اسم النطاق المُحدَّد وفقًا للتنسيقات المستخدَمة في تنسيق عنوان URL لذاكرة التخزين المؤقت لصفحات AMP.
<cache.updateCacheApiDomainSuffix>

مطلوب

اسم النطاق لذاكرة التخزين المؤقت لصفحات AMP. يمكنك الاطّلاع على الاتصال بطلب update-cache للحصول على مزيد من المعلومات.
amp_ts=<ts_val>

مطلوب

وتمثّل هذه المعلّمة طابعًا زمنيًا من حقبة UNIX يُستخدم لهجمات إعادة التشغيل. يجب أن تكون القيمة هي الوقت الحالي بالثواني، والذي يجب أن يكون قبل دقيقة واحدة من الوقت الحالي أو بعده.
amp_url_signature=<sig_val>

مطلوب

وتمثّل هذه المعلّمة توقيع RSA لمسار الطلب بالكامل (راجِع إنشاء مفتاح RSA)، بما في ذلك amp_action وamp_ts، ولكن مع استبعاد التوقيع نفسه.

الإرشادات

عليك اتّباع إرشادات update-cache:

  • يتم استبعاد اسم مضيف "ذاكرة التخزين المؤقت لصفحات AMP " (cdn.ampproject.org) من التوقيع للسماح بإرسال الطلب نفسه الموقّع إلى العديد من عوامل تشغيل ذاكرة التخزين المؤقت لصفحات AMP.
  • للتحقق من صحة التوقيع، يجب عرض مفتاح RSA العلني في مكان ثابت على نطاق AMP AMP (مستند AMP) (لإنشاء المفتاح، يمكنك الاطّلاع على إنشاء مفتاح RSA). على سبيل المثال:
    https://example.com/.well-known/amphtml/apikey.pub
  • يجب ألا يكون الروبوت للمفتاح العام.
  • يجب أن يكون عنوان URL HTTPS.
  • يجب أن يكون النطاق هو النطاق نفسه الذي تريد تعديله، وليس النطاق الفرعي أو النطاق المميّز.
  • يجب نشر المفتاح بتنسيق PEM وعرض المفتاح مع نوع المحتوى "content-type "text/plain".
  • تجلب ذاكرة التخزين المؤقت لصفحات AMP دائمًا المفتاح العام من النطاق نفسه للطلب، بغض النظر عن النطاق المحدّد في المستند من خلال أي علامة rel=canonical. إذا كان النطاق المصدر يعرض إعادة توجيه HTTP في الموقع المطلوب محوه، سيتم محو المسار المطلوب فقط من ذاكرة التخزين المؤقت، وليس من الهدف من عملية إعادة التوجيه.

تعديل المحتوى أو إزالته

يمكنك استخدام update-cache لتعديل المحتوى أو إزالته نهائيًا من ذاكرة التخزين المؤقت لصفحات AMP على Google بعد إزالة المحتوى من مصدره. لتعديل المحتوى أو إزالته، اتّبِع الخطوات التالية:

  1. جلب الملف التالي:
    https://cdn.ampproject.org/caches.json
  2. كرِّر هذه الخطوات من خلال إدخالات caches في ملف JSON.
  3. اختَر caches الذي تريد دعمه.
  4. اتصل بطلب update-cache باستخدام updateCacheApiDomainSuffix من كل إدخال cache.
  5. أنشِئ عناوين URL باستخدام التنسيق التالي:
    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

يوفر مشروع OpenSSL أدوات سطر أوامر لإنشاء وإدارة مفاتيح RSA غير متماثلة. ويمكنك أيضًا إنشاء مفاتيح RSA وإدارتها آليًا من خلال مكتبة OpenSSL أو واجهة برمجة تطبيقات مشفّرة مماثلة (node-crypto أو NSS أو GnuTLS).

  1. أنشئ مفتاحَي RSA بتنسيقَي PEM نصيَين على النحو التالي:
    openssl genrsa 2048 > private-key.pem
    openssl rsa -in private-key.pem -pubout >public-key.pem
  2. نشر المفتاح العام على النطاق المطلوب إعادة تحميله في الموقع التالي:
    https://example.com/.well-known/amphtml/apikey.pub

    يجب أن يكون عنوان URL HTTPS. يجب أن يتمكّن مستخدم مجهول الهوية من الوصول إلى المفتاح.

  3. يمكنك استخدام المفتاح الخاص لتوقيع طلب update-cache. على سبيل المثال:
    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

    الناتج إلى توقيع.bin هو توقيع RSA ثنائي.

  4. يمكنك استخدام المفتاح العام لإثبات صحة التوقيع:
    openssl dgst -sha256 -signature signature.bin -verify public-key.pem url.txt
  5. ترميز توقيع RSA الثنائي باستخدام صيغة الويب الآمنة من base64:
    cat signature.bin | base64 -w0 | tr '/+' '_-' | tr -d '=' > base64.txt
  6. أضِف توقيع RSA المشفر إلى base64 إلى عنوان URL باستخدام معلَمة طلب البحث amp_url_signature.
    echo "$(cat url.txt)&amp_url_signature=$(cat base64.txt)"

تعديل مفتاح RSA

إذا كنت تريد تعديل مفتاح RSA، يمكنك الوصول إلى مفتاح RSA من خلال رابط "ذاكرة التخزين المؤقت لصفحات AMP" وقد يزحف محرك البحث Google إلى مفتاح RSA الجديد في غضون عدة ساعات. في ما يلي رابط"ذاكرة التخزين المؤقت لصفحات AMP":

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