עדכון תוכן 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-epoch, המשמשת למניעת תקיפות של הפעלות מחדש. הערך צריך להיות השעה הנוכחית בשניות, כלומר בתוך דקה לפני השעה הנוכחית או אחריה.
amp_url_signature=<sig_val>

נדרש

הפרמטר הזה מייצג את חתימת ה-RSA של כל נתיב הבקשה (מידע נוסף זמין בקטע יצירת מפתח RSA), כולל amp_action ו-amp_ts, אבל לא כולל את החתימה עצמה.

הנחיות

צריך לפעול לפי ההנחיות של update-cache:

  • שם המארח של מטמון ה-AMP (cdn.ampproject.org) לא נכלל בחתימה כדי לאפשר שליחה של אותה בקשה חתומה לאופרטורים מרובים של מטמון AMP.
  • לצורך אימות, עליכם להציג את מפתח ה-RSA הציבורי במיקום קבוע בדומיין ה-AMP של המסמך (כדי ליצור את המפתח, קראו את המאמר יצירת מפתח RSA). למשל:
    https://example.com/.well-known/amphtml/apikey.pub
  • אסור להכניס את המפתח הציבורי.
  • כתובת ה-URL חייבת להיות מסוג HTTPS.
  • הדומיין צריך להיות הדומיין המדויק שאתם רוצים לעדכן, לא דומיין משנה או דומיין משנה.
  • עליכם לפרסם את המפתח בפורמט PEM ולהציג את המפתח באמצעות סוג התוכן "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 או באמצעות crypto API מקביל (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

    הפלט של record.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