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

למה חנות WooCommerce איטית יותר מאתר רגיל

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

לזה מתווספים כמה גורמים שמייחדים חנויות:

  1. טבלאות מסד נתונים נפוחות. WooCommerce שומר נתוני מוצרים, מטא-דאטה, סשנים של עגלות ומחיקות זמניות. עם הזמן הטבלאות תופחות וכל שאילתה הופכת איטית יותר.
  2. תוספים ספציפיים לחנות. מערכות נקודות ומועדון לקוחות, מחשבוני משלוח, מסנני מוצרים מתקדמים ותוספי תמחור דינמי, כולם מוסיפים עומס בדיוק בדפים הקריטיים.
  3. תבניות כבדות. ערכות עיצוב לחנויות מגיעות עמוסות בסליידרים, אנימציות וספריות שמטעינות בכל עמוד.
  4. AJAX מתמשך. עדכוני עגלה, פילטרים ו"הוסף לעגלה" בלי רענון עמוד שולחים בקשות לשרת ברקע שמכבידות על התגובתיות.

עמוד המוצר: איפה הזמן נשרף

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

תמונות מוצר במשקל מלא

חנויות מציגות גלריית תמונות, זום והמלצות, ולעיתים קרובות התמונות מועלות במשקל מקורי של מספר מגה-בייט כל אחת. זו הסיבה הבודדת הנפוצה ביותר. הפתרון הוא כיווץ התמונות, המרה לפורמט מודרני כמו WebP, וטעינה עצלה (lazy loading) של כל מה שמתחת לקו הקיפול. צמצום משקל התמונות לבדו מוריד לרוב שניות מזמן הטעינה.

מוצרים קשורים ו-upsell כבדים

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

סקריפטים שנטענים בכל עמוד

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

הצ׳קאאוט: הדף שאסור להאט

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

  • אל תשמרו את הצ׳קאאוט במטמון. זה דף אישי, ושמירה שלו במטמון עלולה לחשוף נתוני עגלה של לקוח אחד ללקוח אחר. מה שכן עושים הוא לוודא שהמטמון מוגדר נכון ומחריג את הדפים הדינמיים (cart, checkout, my-account).
  • צמצמו שדות ותוספים בטופס. כל שדה נוסף, כל תוסף אימות וכל מחשבון משלוח מורכב מוסיף זמן. השאירו רק את מה שבאמת נחוץ להשלמת ההזמנה.
  • בדקו את שערי התשלום. חיבור איטי לסולק או לספק משלוחים מתבטא ישירות בזמן שהלקוח ממתין אחרי שלחץ "שלם". כדאי לבדוק את זמן התגובה של ה-API החיצוני.
  • הפעילו AJAX checkout בזהירות. עדכון בזמן אמת של סכומים נוח למשתמש, אך כל שינוי שדה ששולח בקשה לשרת יכול להרגיש איטי. כוונון נכון מאזן בין נוחות למהירות.

הרחבנו על המדדים שגוגל מודד ועל איך מתקנים כל אחד מהם במדריך Core Web Vitals אדום בוורדפרס.

תשתית: מטמון, מסד נתונים ואחסון

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

  1. מטמון עמודים נכון. הגדרת cache שמגישה את דפי הקטלוג והמוצר מהר, אך מחריגה במדויק את העגלה והצ׳קאאוט. הגדרה שגויה כאן היא מקור נפוץ לבאגים בחנות.
  2. ניקוי מסד הנתונים. מחיקת רוויזיות ישנות, סשנים של עגלות נטושות, מחיקות זמניות ושאריות של תוספים שהוסרו. אופטימיזציה תקופתית של הטבלאות שומרת על שאילתות מהירות.
  3. אחסון מתאים לחנות. חנות צריכה משאבים אמיתיים: PHP בגרסה עדכנית, מספיק זיכרון, ובסיס נתונים מהיר. אחסון שיתופי זול מתאים לבלוג, אך חנות פעילה זקוקה לסביבה שמתוכננת ל-WooCommerce. הרחבנו בנושא במדריך האצת אתרים.

סדר הפעולות המומלץ

אם אתם ניגשים לזה בעצמכם, זה הסדר שמחזיר את ההשקעה הכי מהר:

  1. גבו את האתר לפני כל שינוי. אופטימיזציה בחנות חיה יכולה לשבור תהליך רכישה אם לא זהירים.
  2. כווצו והמירו את כל תמונות המוצרים.
  3. עברו על התוספים, הסירו כפילויות ומה שמת, וצמצמו טעינת סקריפטים מיותרת.
  4. הגדירו מטמון עם החרגה נכונה של העגלה והצ׳קאאוט.
  5. נקו ואופטמו את מסד הנתונים.
  6. מדדו לפני ואחרי בכלי כמו PageSpeed Insights, וודאו שהצ׳קאאוט עדיין עובד מקצה לקצה.

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

רוצים שנבדוק את החנות שלכם

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

שאלות נפוצות

למה דווקא הצ׳קאאוט שלי איטי כשהשאר מהיר?

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

האם אפשר לשמור את עמוד הצ׳קאאוט במטמון כדי להאיץ אותו?

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

תוסף קאשינג אחד יפתור לי את הבעיה?

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