יש כמה מטרות עיקריות ליצירת אתר עמיד עם ביצועים טובים ועלות נמוכה של נתונים.
צריך לבצע ביקורת לכל יעד.
מטרה | למה? | מה כדאי לבדוק? |
---|---|---|
שמירה על פרטיות, אבטחה ותקינות נתונים, והפעלת שימוש יעיל ב-API | למה חשוב להשתמש ב-HTTPS | הוטמע חיבור HTTPS לכל הדפים/המסלולים והנכסים באתר. |
שיפור ביצועי הטעינה | 53% מהמשתמשים נוטשים אתרים שהטעינה שלהם נמשכת יותר משלוש שניות | JavaScript ו-CSS שאפשר לטעון באופן אסינכרוני או לדחות. מגדירים יעדים לזמן לפעולה אינטראקטיבית ולגודל של נתוני המטען: לדוגמה, TTI ב-3G. מגדירים תקציב ביצועים. |
הפחתת משקל הדף | • הפחתת עלויות הגלישה למשתמשים עם תוכניות גלישה עם מכסה • הפחתת דרישות האחסון של אפליקציות אינטרנט – חשוב במיוחד למשתמשים במכשירים עם מפרט נמוך • הפחתת עלויות האירוח והצגת המודעות • שיפור הביצועים, האמינות והעמידות של הצגת המודעות | מגדירים תקציב למשקל הדף: לדוגמה, הטעינה הראשונה צריכה להיות קטנה מ-400KB. בודקים אם יש קוד JavaScript כבד. כדאי לבדוק את גודל הקבצים כדי למצוא תמונות, מדיה, קובצי HTML, CSS ו-JavaScript שמיותרים. כלים למדידת הכיסוי מאפשרים למצוא תמונות שאפשר לטעון באופן מדורג ולבדוק אם יש קוד שלא בשימוש. |
הפחתת הבקשות למשאבים | • הפחתת בעיות זמן אחזור • הפחתת עלויות ההצגה • שיפור הביצועים, האמינות והעמידות של הצגת המודעות | מחפשים בקשות מוגזמות או מיותרות לכל סוג של משאב. לדוגמה: קבצים שנטענים שוב ושוב, JavaScript שנטען בכמה גרסאות, CSS שאף פעם לא נעשה בו שימוש, תמונות שאף פעם לא צופים בהן (או שאפשר לטעון אותן באיטרציה). |
השתמש בזיכרון בצורה אופטימלית | זיכרון יכול להפוך לצוואר בקבוק חדש, במיוחד במכשירים ניידים | אתם יכולים להשתמש במנהל המשימות של Chrome כדי להשוות את האתר שלכם לאתרים אחרים מבחינת השימוש בזיכרון בזמן טעינת דף הבית ושימוש בתכונות אחרות באתר. |
הפחתת העומס על המעבד | למכשירים ניידים יש מעבד (CPU) מוגבל, במיוחד למכשירים עם מפרט נמוך | בודקים אם יש קוד JavaScript כבד. באמצעות כלים למדידת הכיסוי, אפשר למצוא רכיבי JavaScript ו-CSS שלא נמצאים בשימוש. בודקים אם יש גודל DOM מוגזם וסקריפטים שפועלים ללא צורך בטעינה הראשונה. מחפשים JavaScript שנטען במספר גרסאות, או ספריות שאפשר להימנע מהן באמצעות טירגוט מחדש קל. |
יש מגוון רחב של כלים ושיטות לבדיקת אתרים:
- כלי מערכת
- כלים מובנים בדפדפן
- תוספים לדפדפן
- בקשות לבדיקות אונליין
- כלי אמולציה
- Analytics
- מדדים שסופקו על ידי שרתי ומערכות עסקיות
- הקלטת מסך והקלטת וידאו
- בדיקות ידניות
בהמשך מוסבר איזו גישה רלוונטית לכל סוג של ביקורת.
תיעוד בקשות למשאבים: מספר, גודל, סוג ותזמון
התחלה טובה לביקורת באתר היא לבדוק את הדפים באמצעות הכלים של הרשת בדפדפן. אם אתם לא בטוחים איך לעשות זאת, תוכלו לעיין במדריך למתחילים בחלונית הרשת בכלי הפיתוח ל-Chrome. כלים דומים זמינים גם ל-Firefox, ל-Safari, ל-Internet Explorer ול-Edge.
חשוב לתעד את התוצאות לפני שמבצעים שינויים. בבקשות לרשת, אפשר פשוט לצלם צילום מסך. אפשר גם לשמור את נתוני הפרופיל כקובץ JSON. בהמשך מוסבר איך שומרים ומשתפים את תוצאות הבדיקה.
לפני שמתחילים לבצע ביקורת על השימוש ברשת, חשוב להשבית את המטמון של הדפדפן כדי לוודא שמקבלים נתונים סטטיסטיים מדויקים לגבי ביצועי הטעינה הראשונה. אם אתם כבר משתמשים במטמון דרך service worker, צריך לנקות את האחסון של Cache API. מומלץ להשתמש בחלון פרטי כדי שלא תצטרכו לדאוג להשבתת המטמון בדפדפן או להסרת רשומות שהוגדרו קודם לכן במטמון.
ריכזנו כאן כמה תכונות ומדדים מרכזיים שכדאי לבדוק באמצעות הכלים בדפדפן:
- ביצועי טעינה: Lighthouse מספק סיכום של מדדי הטעינה. Addy Osmani כתב סיכום מצוין של רגעים מרכזיים של משתמשים בטעינה של דפים.
- אירועים בכרונולוגיה של טעינה וניתוח משאבים ושימוש בזיכרון. כדי להבין לעומק את הבעיה, אפשר להריץ פרופיל של זיכרון ו-JavaScript.
- משקל הדף הכולל ומספר הקבצים.
- מספר קובצי JavaScript והמשקל שלהם.
- קבצי JavaScript בודדים במיוחד גדולים (למשל, מעל 100KB).
- JavaScript שלא בשימוש. אפשר לבדוק זאת באמצעות כלי הכיסוי של Chrome.
- המספר הכולל של קובצי התמונות והמשקל שלהם.
- קובצי תמונות גדולים במיוחד.
- פורמטים של תמונות: האם יש קובצי PNG שאפשר להמיר לקובצי JPEG או SVG? האם נעשה שימוש ב-WebP עם חלופות?
- אם נעשה שימוש בטכניקות של תמונות רספונסיביות (כמו srcset).
- גודל קובץ ה-HTML.
- המספר הכולל של קובצי ה-CSS והמשקל שלהם.
- CSS שלא בשימוש. (ב-Chrome, משתמשים בחלונית הכיסוי).
- בודקים אם יש שימוש בעייתי בנכסים אחרים, כמו גופנים לאינטרנט (כולל גופנים של סמלים).
- בודקים את ציר הזמן של DevTools כדי למצוא גורמים שמונעים את טעינת הדף.
אם אתם עובדים בחיבור Wi-Fi מהיר או בחיבור סלולרי מהיר, כדאי לבדוק עם הדמיה של רוחב פס נמוך וזמן אחזור ארוך. חשוב לזכור לבדוק גם בנייד וגם במחשב – בחלק מהאתרים נעשה שימוש בניתוח נתונים של UA כדי לספק נכסים ותצוגות שונות למכשירים שונים. יכול להיות שתצטרכו לבדוק בחומרה בפועל באמצעות ניפוי באגים מרחוק, ולא רק באמצעות סימולציה של מכשיר.
בדיקת העומס על הזיכרון ועל המעבד (CPU)
לפני שמבצעים שינויים, כדאי לתעד את השימוש בזיכרון ובמעבד.
ב-Chrome אפשר לגשת למנהל המשימות מתפריט החלונות. זו דרך פשוטה לבדוק את הדרישות של דף אינטרנט.

בדיקת הביצועים של הטעינה הראשונה והטעינות הבאות
Lighthouse, WebPagetest ו-Pagespeed Insights הם כלים שימושיים לניתוח המהירות, עלות הנתונים ושימוש המשאבים. ב-WebPagetest ייבדקו גם אחסון של תוכן סטטי במטמון, זמן האחזור של הביתט הראשון והאם האתר משתמש ביעילות ב-CDN.
שמירת התוצאות
- WebPagetest: לכל תוצאת בדיקה יש כתובת URL משלה.
- PageSpeed Insights: הכלי האינטרנטי PageSpeed Insights כולל עכשיו נתונים מהדוח לגבי חוויית המשתמש ב-Chrome, שמציגים נתונים סטטיסטיים של ביצועים בפועל.
- Lighthouse: שומרים דוחות מחלונית הביקורת של כלי הפיתוח ל-Chrome בלחיצה על לחצן ההורדה:
בדיקה של הדרישות הבסיסיות של Progressive Web App
Lighthouse עוזר לבדוק את האבטחה, הפונקציונליות, הנגישות, הביצועים והביצועים במנועי חיפוש. באופן ספציפי, Lighthouse בודק אם האתר שלכם מטמיע בהצלחה תכונות של PWA, כמו שירותי עבודה (service workers) ומניפסט של אפליקציה לאינטרנט.
ב-Lighthouse מתבצעת גם בדיקה אם האתר יכול לספק חוויה מקובלת אופליין.
אפשר להוריד דוח של Lighthouse כקובץ JSON. אם אתם משתמשים בתוסף Lighthouse ל-Chrome, תוכלו לשתף את הדוח כ-GitHub Gist: לוחצים על לחצן השיתוף, בוחרים באפשרות 'פתיחה ב'תצוגה', לוחצים שוב על לחצן השיתוף בחלון החדש ובוחרים באפשרות 'שמירה כ-Gist'.

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

מערכת Google Analytics משתמשת בנתונים מ-Navigation Timing API.
מומלץ לתעד נתונים באמצעות אחד מ-JavaScript performance APIs או באמצעות מדדים משלכם, לדוגמה:
const subscribeBtn = document.querySelector('#subscribe');
subscribeBtn.addEventListener('click', (event) => {
// Event listener logic goes here...
const lag = performance.now() - event.timeStamp;
if (lag > 100) {
ga('send', 'event', {
eventCategory: 'Performance Metric'
eventAction: 'input-latency',
eventLabel: '#subscribe:click',
eventValue: Math.round(lag),
nonInteraction: true,
});
}
});
אפשר גם להשתמש ב-ReportingObserver כדי לבדוק אם יש אזהרות על הוצאה משימוש של דפדפנים ועל התערבות. זהו אחד מממשקי ה-API הרבים שבעזרתם אפשר לקבל מדידות בזמן אמת מהעולם האמיתי ממשתמשים אמיתיים.
חוויה בעולם האמיתי: הקלטת מסך וסרטונים
מצלמים סרטון של טעינת הדף בנייד ובמחשב. התכונה הזו פועלת טוב יותר בקצב פריימים גבוה, וגם אם מוסיפים תצוגה של טיימר.
כדאי גם לשמור הקלטות מסך. יש הרבה אפליקציות לצילום סרטוני מסך לפלטפורמות Android, iOS ומחשב (וגם סקריפטים שאפשר להשתמש בהם לאותה מטרה).
תיעוד הווידאו של טעינת הדף פועל באופן דומה לתצוגת סרטון ב-WebPagetest או לצילום צילומי מסך בכלי הפיתוח ל-Chrome. אתם מקבלים תיעוד בזמן אמת של מהירות הטעינה של רכיבי הדף: מה מהיר ומה איטי. שומרים סרטונים והקלטות מסך כדי להשוות אותם לשיפורים שבוצעו בהמשך.
השוואה בין שתי תמונות – אחת לפני השינוי ואחת אחרי – יכולה להיות דרך מצוינת להמחיש את השיפורים.
מה עוד?
אם רלוונטי, בודקים את הציון של 'תוכן מיותר באתר'. זהו מבחן מהנה, אבל הוא יכול גם להיות דרך משכנעת להדגים את הבעיה של קוד מיותר – או להראות שערכתם שיפורים.
בקטע מה העלות של האתר שלי?, שמופיע בהמשך, מפורט מדריך גס לגבי העלות הכספית של טעינת האתר באזורים שונים.

יש עוד הרבה כלים עצמאיים ואונליין זמינים: כדאי לעיין ב-perf.rocks/tools.