איך התכונה 'מטמון לדף הקודם/הבא' עזרה ל-Yahoo!‎ JAPAN News הגדילה את ההכנסות שלה ב-9% בנייד

Yuriko Hirota
Yuriko Hirota

מטמון לדף הקודם/הבא (או 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 היו:

  1. שימוש ב-handlers של unload.
  2. שימוש בהנחיה no-store בכותרות Cache-control.

כדי לבדוק אם יש חסימות משמעותיות באתר, עוברים אל כלי הפיתוח ל-Chrome > Applications (אפליקציות) > Back/forward Cache (מטמון של חזרה קדימה/אחורה). אפשרות אחרת היא להשתמש ב-notRestoredReasons API כדי לקבל תמונה מקיפה יותר של חסימות על סמך שימוש בפועל בשטח.

כך מקשרים חשבון Yahoo!‎ הסרנו את חסימות המודעות של JAPAN News:

הכותרת CCNS מיועדת לדפים שאסור לשמור במטמון בשום מקרה. חשוב לציין שדפים עם CCNS לא נהנים מטכנולוגיות מטמון, כולל שרתי קצה של CDN ומטמונים מקומיים.

אם יש לכם כותרת CCNS, זו הזדמנות מצוינת לדון באסטרטגיות הנכונות של Cache-control לאתר שלכם. אלה ההבדלים העיקריים בין no-store לבין no-cache.

Cache-control: no-store Cache-control: no-cache
  • אסור לשמור את התשובה במטמון.
  • לכן, התשובה מאוחזרת במלואה בכל בקשה.
  • האפשרות הזו מתאימה לתשובות פרטיות.
  • מותר לאחסן את התגובה במטמון כל עוד היא עוברת אימות מחדש בשרת לפני כל שימוש.
  • אלה צריכות להיות תגובות ציבוריות שרוצים לאמת מחדש בכל פעם (לדוגמה, דף הבית של אתר חדשות – אבל גם במקרה כזה, זמן אחסון במטמון קצר מאוד יכול לשפר את הביצועים ולהפחית את העומס מהשרתים הראשיים).

מידע נוסף על אפשרויות cache-control זמין בתרשים הזרימה של cache-control.

בדיקות A/B כדי להדגים את ההשפעה

כדי למדוד את ההשפעה של bfcache, ‏ Yahoo!‎ ‫JAPAN News ערכה בדיקת A/B למשך שבועיים. הם הציגו גרסה של הדפים שלהם עם תיקונים של המטמון לדף הקודם/הבא לקבוצה אחת, וגרסה עם דפים שלא מתאימים לשמירה במטמון לדף הקודם/הבא לקבוצה אחרת. הם בדקו נתיבי כתובות URL עם תנועה משמעותית, כדי לוודא שהבדיקה תניב תוצאות משמעותיות. לא היו הבדלים חזותיים או פונקציונליים אחרים בין הדפים.

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

מה שבאמת מבטיח הוא שבקבוצה שבה הופעל bfcache הייתה עלייה משמעותית במספר הצפיות בדפים ובהכנסות מפרסום, במיוחד במכשירים ניידים.

אלה פרטים על ההשפעה שנצפתה על ידי Yahoo!‎ ‫JAPAN News עם בדיקת ה-A/B שלהם בנושא bfcache. מידע נוסף זמין במחקר המקרה הזה.

מדדים שיפור הביצועים (%) (בנייד) שיעור העלייה (%) (מחשב)
שיעור ההיטים במטמון bfcache ‎+54.03 points (0.04% → 54.07%) ‫‎+47.28 נקודות (0.02% → 47.30%)
צפיות בדף עלייה של 2.26% ‫+0.65%
הכנסות מפרסום עלייה של 9.0% ‫+0.6%

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

חוויית משתמש חלקה

כשדפים נטענים באופן מיידי, הניווט מרגיש חלק יותר.

ב-Yahoo!‎ ב-JAPAN News, אחד התהליכים העיקריים שעוברים המשתמשים הוא קריאת כמה מאמרים:

  1. עוברים לרשימת המאמרים.
  2. לוחצים על מאמר כדי לקרוא אותו.
  3. אחרי שמסיימים, חוזרים לרשימת המאמרים.
  4. לוחצים על מאמר אחר כדי לקרוא אותו.

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

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

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

שני סרטי צילום של ניווט אחורה. החלק העליון הוא פס סרט שמטופל באמצעות bfcache, והעיבוד שלו נמשך 0.3 שניות, ואילו החלק התחתון הוא אותו תהליך שמטופל ללא bfcache, והעיבוד שלו נמשך 3.3 שניות.

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

אותו הדבר קורה כשמשתמשים עוברים ישירות ממאמר אחד למאמר אחר וחוזרים:

תמונה מונפשת שמציגה את תהליך הניווט לאחור ממאמר לדף רשימת המאמרים עם bfcache ובלי bfcache.
עם מטמון לדף הקודם/הבא, הניווט אחורה מהיר יותר ומיקום הגלילה נשמר בצורה מדויקת. בלי bfcache, אין ערובה לשיפורים האלה.

בקיצור, היתרונות של bfcache עבור Yahoo! החדשות ביפן כוללות:

  • הגדלת מספר הצפיות בדפים: הסיכוי שהמשתמשים ינווטו באתר היה גבוה יותר כשהדפים נשמרו במטמון באמצעות bfcache.
  • הגדלת ההכנסות: כתוצאה מהעלייה במספר הצפיות בדפים בכל סשן, חלה עלייה במספר החשיפות של המודעות, שהובילה לעלייה של 9% בהכנסות בנייד, בהשוואה לקבוצת הבקרה ללא bfcache.

הטמעה של bfcache

בקיצור, מטמון אחורי לא רק הופך את האתר שלכם למהיר יותר, אלא גם יכול לשפר את חוויית המשתמש הכוללת ולהגביר את המעורבות באתר.

הצוות של Chrome בודק באופן קבוע חסימות של bfcache, במיוחד את הסיבות שמופיעות ברשימה, כי הן סיבות נפוצות לכך שלא נעשה שימוש ב-bfcache. בעתיד, יכול להיות שהשימוש בהם לא ימנע את השימוש ב-bfcache, אבל אין צורך לחכות עד אז. כדי ליהנות מהיתרונות של bfcache, כדאי לבדוק עכשיו את הגורמים שמונעים את השימוש ב-bfcache ולמנוע את התבניות הנפוצות האלה (וגם תבניות פחות נפוצות).