דילוג לתוכן
חיפוש באתר

ביצועים

ווקומרס איטי? למה חנויות מאטות ומה מתקנים קודם

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

· 1 צפיות ·

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

למה חנות קשה יותר להאצה מאתר תוכן

באתר תוכן, כמעט כל עמוד זהה לכל הגולשים, ולכן אפשר להגיש אותו ממטמון בלי להריץ PHP בכלל. בחנות, חלק מהעמודים אישיים לכל גולש. לפי התיעוד של ווקומרס, עמודי העגלה, החשבון שלי והקופה חייבים להישאר דינמיים, וצריך להחריג ממטמון גם את העוגיות של ווקומרס — בהן woocommerce_cart_hash, woocommerce_items_in_cart ועוגיית הסשן. כלומר: דווקא העמודים הכי חשובים בתהליך הקנייה רצים תמיד מול השרת. אם השרת איטי, הקופה איטית.

הגורמים הנפוצים, ומה עושים

1. מבנה ההזמנות במסד הנתונים

במשך שנים ווקומרס שמר הזמנות בטבלאות הפוסטים הכלליות של וורדפרס. אחסון ההזמנות בביצועים גבוהים (HPOS) מעביר אותן לטבלאות ייעודיות עם אינדקסים מתאימים, ולפי התיעוד מפחית את העומס על מסד הנתונים ככל שמספר ההזמנות גדל. HPOS פעיל כברירת מחדל בהתקנות חדשות מאז ווקומרס 8.2 (אוקטובר 2023); בחנויות ותיקות צריך להפעיל אותו ידנית. לפני ההפעלה בודקים שכל התוספים תומכים בו — בסביבת בדיקות.

2. עדכון העגלה בכל עמוד (cart fragments)

מנגנון "קטעי העגלה" שולח בקשת AJAX כדי לעדכן את מונה העגלה בכותרת. בקשה כזו עוקפת את המטמון ומגיעה לשרת. לפי פוסט המפתחים של ווקומרס, החל מגרסה 7.8 הסקריפט כבר לא נטען בכל עמוד כברירת מחדל, אלא רק כשיש באותו עמוד וידג'ט עגלה. אבל תבניות רבות מציגות עגלה קטנה בכל עמוד — ואז הבקשה חוזרת. אם רואים בכלי המפתחים בקשות get_refreshed_fragments בכל טעינה, שווה לבדוק אם אפשר להציג את מונה העגלה בדרך אחרת או לטעון אותו רק אחרי הוספה לעגלה.

3. תוספים

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

4. סינון וחיפוש מוצרים

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

5. תמונות מוצר

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

6. השרת עצמו

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

סדר העבודה שאני ממליץ עליו

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

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

שאלות נפוצות

WP Rocket מספיק לחנות?

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

הקופה איטית אבל שאר האתר מהיר. למה?

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

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

אהבתם את המאמר?

בואו נבנה יחד!

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

חיפוש באתר