מטמון לדף הקודם/הבא (או bfcache) הוא אופטימיזציה של דפדפן שמאפשרת ניווט מיידי אחורה וקדימה. היא משפרת משמעותית את חוויית הגלישה למשתמשים, במיוחד באתרים שכוללים הרבה תנועות חזרה וקדימה.
מאמר בנושא bfcache באתר web.dev
Yahoo! JAPAN News, אחת מפלטפורמות החדשות הפופולריות ביותר ביפן, השקיעה מאמצים רבים כדי לשפר את שיעור ההיטים של bfcache, וכתוצאה מכך חלה עלייה משמעותית בחוויית המשתמש ובתוצאות העסקיות. באופן ספציפי, תוצאות בדיקת ה-A/B שהם ערכו הראו שלדפים שמשתמשים ב-bfcache הייתה עלייה של 9% בהכנסות מפרסום.
במחקר המקרה הזה נסביר איך Yahoo! JAPAN News הסיר את החסימות של bfcache, ואיך bfcache שיפר באופן משמעותי את חוויית המשתמש.
הסרת גורמים לחסימה של bfcache
התכונה bfcache זמינה מאז Chrome 86, והיא זמינה גם בכל הדפדפנים המודרניים. עם זאת, כדי ליהנות מהיתרונות המלאים של bfcache, צריך להסיר חסימות פוטנציאליות באתר. כמה חסימות עיקריות ש-Yahoo! הבעיות שבהן נתקלה JAPAN News היו:
- שימוש במטפלים של
unload
. - שימוש בהוראה
no-store
בכותרותCache-control
.
כדי לבדוק אם יש חסימות עיקריות באתר, עוברים אל כלי הפיתוח של Chrome > אפליקציות > מטמון אחורה/קדימה.
לחלופין, אפשר להשתמש ב-notRestoredReasons
API כדי לקבל תצוגה מקיפה יותר של החסימות על סמך השימוש בפועל בשטח.
כך פועלת Yahoo! JAPAN News הסיר את החסימות שלו:
- החלפת גורמים שמטפלים באירועים שנטענו: הם השתמשו באירוע
pagehide
במקום באירועunload
, כיunload
לא מהימן.Permissions-Policy: unload=()
הושק ב-Chrome 115 כדי לאתרים יהיה אפשר להסיר באופן מהימן מנהלים שלunload
למקורות ספציפיים. אנחנו מתכננים להוציא משימוש בהדרגה את הגורמים המטפלים ב-unload
. - Changed
cache-control
: שינוי הכותרתCache-control
מ-no-store
(CCNS) ל-no-cache
מפעיל את bfcache. אנחנו מתכננים להוסיף ל-Chrome אחסון במטמון של bfcache, גם עם כותרתno-store
, בנסיבות מסוימות.
הכותרת CCNS מיועדת לדפים שאסור לשמור במטמון בשום מצב. עם זאת, חשוב לזכור שדפים עם CCNS לא נהנים מטכנולוגיות של שמירת נתונים במטמון, כולל שרתים קצה של CDN ומטמון מקומי.
אם יש לכם כותרת CCNS, זו הזדמנות מצוינת לדון באסטרטגיות הנכונות של Cache-control
לאתר שלכם. ריכזנו כאן את ההבדלים העיקריים בין no-store
לבין no-cache
.
מידע נוסף על האפשרויות של cache-control
זמין בתרשים התהליך של cache-control
.
בדיקת A/B כדי להוכיח את ההשפעה
כדי למדוד את ההשפעה של bfcache, מערכת צוות JAPAN News ערך בדיקת A/B במשך שבועיים. הם הציגו גרסה של הדפים שלהם עם התיקונים שלהם ל-bfcache בקבוצה אחת, וגרסה עם דפים שלא מתאימים לשמירה במטמון לדף הקודם/הבא בקבוצה אחרת. הם בדקו נתיבי כתובות URL עם נפח תנועה משמעותי, כדי להבטיח שהבדיקה תניב תוצאות משמעותיות. לא היו הבדלים חזותיים או פונקציונליים אחרים בין הדפים.
הנה סרטון שמציג השוואה בין האתר עם bfcache לבין האתר ללא bfcache. אפשר לראות שהאתר שבו התכונה bfcache מופעלת נטען מהר יותר באופן משמעותי במהלך ניווט אחורה או קדימה.
מה שמבטיח הוא שבקבוצה שבה האפשרות bfcache מופעלת הייתה עלייה משמעותית במספר צפיות בדפים ובהכנסות מפרסום, במיוחד במכשירים ניידים.
בהמשך מפורטים פרטים על ההשפעה שזוהתה על ידי Yahoo!. JAPAN News עם בדיקת ה-A/B של bfcache. מידע נוסף זמין במחקר המקרה שלהם.
כשהניווט לאחור/קדימה בין דפים הופך מיידי באמצעות bfcache, המשתמשים נוטים להישאר בדפים למשך זמן ארוך יותר, וכך מספר הצפיות במודעות גדל, מה שמוביל להגדלת ההכנסות מפרסום.
חוויית משתמש חלקה
כשדפים נטענים באופן מיידי, הניווט נראה חלק יותר.
ב-Yahoo! באתר JAPAN News, אחד מהתהליכים העיקריים שעוברים המשתמשים הוא קריאת מספר מאמרים:
- אפשר להיכנס לרשימת המאמרים.
- לוחצים על מאמר אחד כדי לקרוא אותו.
- בסיום, חוזרים לרשימת המאמרים.
- לוחצים על מאמר אחר כדי לקרוא אותו.
לפני bfcache, כשמשתמשים סיימו לקרוא מאמר, הם היו צריכים להמתין שוב לטעינה של דף רשימת המאמרים. זה יכול להוות גורם חיכוך למשתמשים שרוצים לחזור במהירות לרשימה כדי לבחור מאמר אחר לקריאה.
מקור בעיה נוסף במהלך ניווט לאחור היה מיקום הגלילה. בפועל, הדפדפן מנסה לשחזר את מיקום הגלילה כשמתבצע ניווט לאחור. עם זאת, בגלל מודעות שנוספו באופן דינמי או שינויים אחרים בפריסה, יכול להיות שמיקום הגלילה ישוחזר באופן שגוי. המצב הזה מוביל לבלבול בקרב המשתמשים או אפילו לנטישה של הדף.
הבעיה הזו נפתרת כשהניווט לאחור מופעל על ידי bfcache: מיקום הגלילה משוחזר באופן מיידי ובצורה נכונה.

עכשיו, עם bfcache, החיכוך במסלול להמרת המשתמש נעלם. המשתמשים יכולים לחזור באופן מיידי לדף רשימת המאמרים ולבחור מאמר אחר לקריאה, בלי להמתין לטעינה של דף רשימת המאמרים.
אותו הדבר קורה כשמשתמשים עוברים ישירות ממאמר אחד למאמר אחר ובחזרה:

בקצרה, היתרונות של bfcache ל-Yahoo! 'חדשות יפן' כוללת:
- עלייה במספר הצפיות בדפים: כשהדפים נשמרו במטמון באמצעות bfcache, המשתמשים נטו יותר לנווט באתר.
- עלייה בהכנסות: כתוצאה מעלייה במספר הצפיות בדפים בכל סשן, עלה מספר החשיפות של המודעות, וכתוצאה מכך נרשמה עלייה של 9% בהכנסות בנייד, בהשוואה לקבוצת הבקרה ללא bfcache.
יישום bfcache עכשיו
בקיצור, bfcache לא רק מאפשר לכם להציג את האתר באופן מיידי, אלא גם יכול לצמצם את החיכוך בחוויית המשתמש הכוללת ולהגדיל את המעורבות באתר.
צוות Chrome בוחן באופן שוטף חסימות של bfcache, במיוחד את הסיבות שצוינו, כי הן הסיבות הנפוצות ביותר לכך שלא נעשה שימוש ב-bfcache. יכול להיות שבעתיד האפשרויות האלה לא ימנעו שימוש ב-bfcache, אבל אין צורך להמתין עד אז. כדי להפיק תועלת מ-bfcache, כדאי לבדוק עכשיו את החסימות של bfcache ולהימנע מהדפוסים הנפוצים האלה (ודפוסים אחרים פחות נפוצים).