עודכן לאחרונה: · מאת עשהאל דרייר
בקצרה: עגלה מתרוקנת בווקומרס, מחיר ישן או "עגלה עם 0 פריטים" אחרי הוספת מוצר הם כמעט תמיד בעיית קאש: עמוד דינמי נשמר בקאש והוגש לגולש אחר. הפתרון הוא להחריג את העגלה, הקופה והחשבון ואת עוגיות ווקומרס מכל שכבת קאש: Varnish, Breeze ו-Cloudflare. בקלאודוויז (Cloudways) Varnish ו-Breeze מחריגים אותם כברירת מחדל, ולכן הבעיה מגיעה בדרך כלל מחוק קאש של Cloudflare או מתבנית לא סטנדרטית.
⏱ זמן תיקון: 15–40 דקות · רמת קושי: בינוני · נבדק לאחרונה: 07.11.2026
| שכבת קאש | מחריגה עגלה, קופה וחשבון כברירת מחדל? | מה בודקים |
|---|---|---|
| Varnish (שרת קלאודוויז) | כן: /cart, /checkout, /my-account, ?add-to-cart=, wc-ajax ועוגיות ווקומרס | כתובות בעברית או בשמות מותאמים, ועוגיות של תוספים |
| Breeze (תוסף הקאש) | כן: Cart, Checkout, My Account | בוני עמודים ותבניות עגלה לא סטנדרטיות |
| Cloudflare עם קאש ל-HTML | לא, אלא אם הגדרתם חוק עוקף | חוק Cache Everything או Eligible for cache שתופס גם את החנות |
הנתונים בטבלה מתוך מדריך Varnish של קלאודוויז ומתוך מדריך החוקים המתקדמים של Breeze, נכון ל-7.11.2026.
למה העגלה בווקומרס מתרוקנת או מציגה מחיר ישן?
קאש עמודים שומר עותק HTML מוכן של עמוד ומגיש אותו לכל מי שמבקש אותו. זה מצוין לדף מוצר שנראה אותו דבר לכולם, ומסוכן לעמוד שתוכנו שונה לכל קונה.
ווקומרס יודע איזו עגלה שייכת למי בעזרת עוגיות. לפי התיעוד של ווקומרס, העוגייה wp_woocommerce_session_ מחזיקה קוד ייחודי לכל לקוח למשך יומיים, ו-woocommerce_items_in_cart ו-woocommerce_cart_hash מסמנות שהעגלה השתנתה. אם שכבת קאש מגישה עמוד שמור בלי להסתכל על העוגיות האלה, הקונה רואה עגלה של מישהו אחר, או עגלה ריקה.
הסימפטומים הנפוצים:
- מוסיפים מוצר, עוברים לעגלה, והיא ריקה.
- אייקון העגלה בכותרת מראה מספר פריטים שגוי, או אותו מספר לכל הגולשים.
- שיניתם מחיר או הפעלתם מבצע, ובחלק מהעמודים עדיין מופיע המחיר הישן.
- איפוס סיסמה ב"החשבון שלי" חוזר שוב ושוב למסך ההתחברות.
המקרה האחרון מתועד אצל ווקומרס עצמם: לולאת איפוס סיסמה נגרמת כשעמוד My Account נשמר בקאש של השרת.
איך יודעים איזו שכבת קאש אשמה?
בודקים את כותרות התגובה של עמוד העגלה. זה לוקח שתי דקות ומונע ניחושים.
- פתחו את העגלה בחלון רגיל (לא גלישה בסתר), הוסיפו מוצר, ופתחו את כלי המפתחים בדפדפן (F12) > Network.
- רעננו את עמוד העגלה ולחצו על הבקשה הראשונה (המסמך עצמו).
- חפשו cf-cache-status. אם כתוב HIT בעגלה או בקופה, Cloudflare מגיש אותן מהקאש. התשובה הנכונה לעמודים האלה היא DYNAMIC, BYPASS או MISS.
- חפשו כותרת קאש של השרת (בקלאודוויז מופיעה x-cache). HIT בעגלה אומר ש-Varnish מגיש אותה מהקאש.
- פתחו את קוד המקור של העמוד (Ctrl+U) וחפשו הערת Breeze בתחתית. אם היא מופיעה בעגלה, Breeze שמר אותה.
מה מדדנו בעצמנו (7.11.2026): באתר שלנו, שאינו חנות, Cloudflare שומר את עמודי התוכן בקאש. שלחנו בקשה עם עוגיית גולש מחובר וקיבלנו cf-cache-status: DYNAMIC, כלומר החוק עוקף את הקאש. שלחנו את אותה בקשה עם העוגיות woocommerce_items_in_cart ו-woocommerce_cart_hash וקיבלנו HIT. באתר תוכן זה בסדר. בחנות, זה בדיוק המתכון לעגלה שנראית ריקה: חוק HTML של Cloudflare שנכתב לבלוג ועבר כמו שהוא לחנות.
איך מחריגים את העגלה מ-Varnish בקלאודוויז?
ברוב החנויות אין צורך: Varnish בקלאודוויז מחריג כברירת מחדל את /cart, /checkout, /my-account, /wc-api, ?add-to-cart= ואת הבקשה ?wc-ajax=get_refreshed_fragments, וגם את העוגיות woocommerce_cart, woocommerce_session ו-wp_woocommerce_session. כל בקשת POST מוחרגת גם היא.
צריך להוסיף החרגה כשהעמודים לא יושבים בכתובות האלה. דוגמה ישראלית נפוצה: עמוד עגלה בכתובת /עגלה או /cart-page, קופה בעמוד נחיתה מותאם, או תוסף שמוסיף עוגייה משלו (מטבעות, מועדון לקוחות, משלוחים).
- בפאנל, פתחו Servers, בחרו את השרת ואת האפליקציה.
- תחת Application Management בחרו Application Settings ועברו ללשונית Varnish Settings.
- בשדה Type בחרו URL, ובשדה Value הקלידו כתובת יחסית (למשל /cart-page). כתובת מלאה עם הדומיין לא תעבוד.
- לעוגייה, בחרו Cookie והקלידו את שם העוגייה המלא. אפשר גם ביטוי רגולרי.
- לחצו Save, ואז נקו את Varnish כדי שהעותקים הישנים יימחקו.
הסבר מלא על חוקי ההחרגה, TTL ו-Ignore Query String נמצא במדריך Varnish בקלאודוויז. איך מנקים את כל שכבות הקאש בבת אחת: ניקוי קאש מהשרת.
מה בודקים ב-Breeze?
Breeze מזהה את עמודי Cart, Checkout ו-My Account לפי מבנה ברירת המחדל של ווקומרס ומדלג עליהם בלי הגדרה. לפי קלאודוויז, אם אחד מהם עדיין מוגש מהקאש, הסיבה היא בדרך כלל בונה עמודים או תבנית עגלה לא סטנדרטית.
- בוורדפרס, פתחו Settings > Breeze > Advanced Options.
- בשדה Never Cache These URLs הוסיפו את כתובות העגלה, הקופה והחשבון כפי שהן באתר שלכם, וכל עמוד עם טופס דינמי.
- שמרו ונקו את הקאש של Breeze ושל Varnish. לפי שאלות הנפוצות של Breeze, הקאש של Varnish לא נשמר בתיקיית wp-content/cache, ולכן צריך לנקות גם אותו.
מלכודת נוספת: האפשרות Cache Logged-in Users. אם הפעלתם אותה לתפקיד Customer או Subscriber, לקוחות מחוברים עלולים לראות תוכן של לקוח אחר. בחנות, השאירו אותה כבויה. הגדרות Breeze המלאות: המדריך ל-Breeze.
איך מגדירים את Cloudflare כך שלא ישמור את העגלה?
Cloudflare לא שומר HTML כברירת מחדל. הבעיה מתחילה כשמוסיפים חוק Cache Everything או Eligible for cache כדי להאיץ את האתר, וזו כנראה הסיבה הנפוצה ביותר לעגלה ריקה בחנויות שמחוברות ל-Cloudflare.
לפי התיעוד של Cloudflare, כשעמוד דינמי נשמר בקאש, Cloudflare יכול להסיר ממנו את כותרת Set-Cookie, והדפדפן לא מקבל את עוגיית הסשן. ההמלצה שלהם: להגביל את חוק הקאש לנתיבים סטטיים, ולהוסיף חוק ספציפי שעוקף את הקאש ב-/cart, /checkout, /account ובנתיבי API.
- ב-Cloudflare, פתחו את חוקי הקאש (Cache Rules) ומצאו את החוק ששומר HTML.
- הוסיפו לפניו חוק עקיפה (Bypass cache) לנתיבים /cart, /checkout, /my-account, /wc-api, ?wc-ajax= ולבקשות עם הפרמטר add-to-cart.
- הוסיפו תנאי עקיפה לפי עוגייה: כל בקשה שמכילה woocommerce_items_in_cart, wp_woocommerce_session_ או wordpress_logged_in.
- נקו את הקאש של Cloudflare (Purge Everything) ובדקו שוב את cf-cache-status בעגלה.
מי שמשתמש ב-Cloudflare Enterprise דרך קלאודוויז (Edge Page Caching) מקבל את אותן החרגות של Varnish אוטומטית, לפי מדריך Cloudflare של קלאודוויז. מגבלה שכדאי להכיר: באותו מדריך כתוב שהחרגת עוגיות מותאמות ל-Edge Page Caching עדיין לא זמינה. חנות שתלויה בעוגייה של תוסף צריכה לבדוק את זה לפני שמפעילה. ההסבר המלא על קאש HTML ב-Cloudflare לוורדפרס: איך שומרים HTML בקאש של Cloudflare בלי לשבור את האתר.
למה מופיע מחיר ישן אחרי שעדכנתי מוצר?
זו בעיה הפוכה: לא העגלה נשמרה בטעות, אלא דף המוצר או דף הקטגוריה נשאר בקאש אחרי השינוי. Breeze מנקה את הקאש של עמוד כשמעדכנים אותו או כשהמלאי משתנה, אבל דף קטגוריה, דף הבית או קאש של Cloudflare לא תמיד מתנקים יחד איתו.
- מבצע מתוזמן: מחיר מבצע שמתחיל בשעה מסוימת תלוי ב-WP-Cron. עמוד שנשמר לפני תחילת המבצע יציג את המחיר הישן עד שהקאש יפוג. נקו קאש מיד אחרי שהמבצע נפתח, או קצרו את זמן החיים של הקאש בימי מבצע.
- Cloudflare: חברו את Breeze ל-Cloudflare כדי שינקה גם את הקאש שם כשמעדכנים תוכן. ההגדרה מתוארת במדריך האינטגרציה של Breeze עם Cloudflare.
- Object Cache: אם מחיר שגוי מופיע גם בעמוד שלא נשמר בקאש, נסו לנקות את ה-Object Cache (Redis). זה נדיר, אבל קורה אחרי ייבוא מוצרים ישיר למסד הנתונים.
הקוד BFCM802 מוריד 80% מהחשבון בחודשיים הראשונים (עד 200$ הנחה בחודש), כולל העברת אתרים חינם בלי הגבלה. ללקוחות חדשים בלבד, ורק עד סוף המבצע.
המבצע מסתיים ב-4 בדצמבר 2026, ב-23:59 שעון ישראל.
מתחילים בניסיון חינם, בלי כרטיס אשראי. את הקוד מזינים בקופה ובודקים שהוא מופיע.
אחרי בלאק פריידי: 30% הנחה ל-3 חודשים עם הקוד ASAEL. בשרת גדול (מעל כ-444$ בחודש) ASAEL משתלם יותר כבר עכשיו. למחשבון BFCM802 מול ASAEL
פותחים שרת ניסיון חינם, בלי כרטיס אשראי. כשעוברים לתוכנית בתשלום, הקוד ASAEL מוריד 30% מהחשבון בשלושת החודשים הראשונים.
הקישור ממלא את הקוד בטופס ההרשמה. רק ודאו שהוא מופיע.
טעויות נפוצות ואיך לפתור אותן
שני תוספי קאש במקביל: Breeze ועוד תוסף קאש שומרים כל אחד עותק משלו, וכל אחד מחריג עמודים אחרים. השאירו תוסף קאש אחד בלבד. השוואה: תוספי קאש לוורדפרס.
מיניפיקציה של JavaScript: ווקומרס ממליץ להימנע ממיניפיקציה של קבצי JS בתוסף הקאש. אם כפתור "הוסף לסל" הפסיק לעבוד אחרי הפעלת אופטימיזציה, כבו את איחוד ה-JS ובדקו שוב.
"תיקון" שמכבה את כל הקאש: כיבוי Varnish פותר את העגלה, אבל מאט את כל החנות. לפני שמכבים, מצאו את השכבה האשמה לפי הכותרות. אם הקופה איטית ולא שבורה, זה כבר נושא אחר: קופה איטית בווקומרס.
שאלות נפוצות
כמעט תמיד בגלל קאש: עמוד העגלה, או העוגיות שמזהות את העגלה, עוברים דרך שכבת קאש שמגישה עותק שמור. בודקים את cf-cache-status ואת x-cache בעמוד העגלה, ומחריגים אותו בשכבה שמחזירה HIT.
כן. קלאודוויז מגדירה את Varnish לווקומרס כברירת מחדל, כולל החרגה של העגלה, הקופה, החשבון ועוגיות הסשן. צריך להוסיף החרגות רק לכתובות מותאמות או לעוגיות של תוספים.
לא, אם החנות משתמשת בעמודי ברירת המחדל של ווקומרס. Breeze מחריג אותם אוטומטית. אם בניתם עגלה או קופה עם בונה עמודים או בכתובת אחרת, הוסיפו אותן ידנית ונקו קאש.
אפשר, רק עם חוקי עקיפה לעגלה, לקופה, לחשבון, לבקשות add-to-cart ולעוגיות של ווקומרס. בלי החוקים האלה Cloudflare יגיש עמודים שמורים לקונים ויכול להסיר את עוגיית הסשן.
כי דף המוצר, דף הקטגוריה או העותק ב-Cloudflare עדיין שמורים. נקו את הקאש בכל השכבות, וחברו את Breeze ל-Cloudflare כדי שהניקוי יקרה אוטומטית בעדכון הבא.
כן. לפי התיעוד של ווקומרס, הסיבה הנפוצה היא שעמוד My Account נשמר בקאש של השרת. ודאו שהעמוד מוחרג מכל שכבות הקאש ונסו שוב בחלון גלישה בסתר.
מדריכים קשורים
- Varnish בקלאודוויז: החרגות, TTL וניקוי
- Breeze: הגדרות מומלצות לוורדפרס ולווקומרס
- קאש HTML ב-Cloudflare לאתר וורדפרס
- קופה איטית בווקומרס: מה בודקים
- אחסון לחנות ווקומרס בקלאודוויז
- כל המדריכים בתחום: מדריכי וורדפרס ווקומרס
מקורות
- How to Use Varnish at Cloudways – Cloudways KB (החרגות ברירת מחדל לווקומרס, החרגת URL ועוגייה)
- Breeze Advanced Rules – Cloudways KB (Never Cache These URLs, החרגה אוטומטית של עמודי ווקומרס)
- Breeze Cache on Cloudways FAQ – Cloudways KB
- How to Enable Cloudflare on Your Application – Cloudways KB (Edge Page Caching)
- Configuring caching plugins – WooCommerce Docs (עוגיות, עמודים להחרגה, לולאת איפוס סיסמה)
- Dynamic content and login issues – Cloudflare Docs
מקור רשמי: Cloudways Knowledge Base ו-WooCommerce Docs. המדריך נכתב ונבדק על ידי עשהאל דרייר · עודכן: 07.11.2026
גילוי נאות: זהו אתר עצמאי ואינו האתר הרשמי של Cloudways. חלק מהקישורים באתר הם קישורי שותפים – אם תירשמו דרכם נקבל עמלה, בלי עלות נוספת לכם. לפרטים המלאים