בואו נדבר על הרעיון והבסיס מאחורי Caching באתרים. נתאר מה זה Cache (הנקרא בעברית זיכרון מטמון או "קאש"), נסביר מדוע הוא חיוני באתרי וורדפרס, ונראה אילו סוגי Cache קיימים לאתרים ואפליקציות web.
מה זה Caching?
Caching הוא תהליך המאפשר לשמור עותק זמני של קבצים או נתונים כדי לאפשר גישה חוזרת אליהם באופן מהיר יותר. במקום לעבד כל בקשה מחדש, ניתן לעשות שימוש חוזר במידע שנשמר ובכך לשפר את הביצועים ולהפחית את העומס על השרת.
אתרי וורדפרס הם אתרים דינמיים – כל עמוד נבנה בזמן אמת באמצעות PHP ומסד נתונים כמו MySQL. כל טעינת עמוד מפעילה עשרות שאילתות למסד הנתונים עבור פוסטים, הגדרות, תפריטים ומטא-דאטה. תהליכים אלו יכולים להיות עתירי משאבים, ולכן Cache הוא מרכיב קריטי בשיפור מהירות ויעילות האתר.
סוגי ה-Cache הקיימים

Cache יכול להישמר על המכשיר של המשתמש עצמו (client-side), על השרת של האתר (server-side), או על שרתים מפוזרים ברחבי העולם באמצעות CDN (כלומר Content Delivery Network). אתרים מסוימים משתמשים בכל שיטות ה-Cache, בעוד שאחרים משתמשים רק בחלקן.
א. קאש צד לקוח – Client-side Caching
כל הדפדפנים המודרניים תומכים ב-client-side caching. הדפדפן של המשתמש יודע שקבצים מסוימים משתנים לעיתים רחוקות – קבצי CSS, קבצי JavaScript וקבצי תמונה יכולים להישמר מקומית ב-cache של הדפדפן, כך שתהיה לאלו גישה מהירה ללא הצורך להוריד אותם שוב מהשרת.
שליטה ב-client-side caching מתבצעת באמצעות HTTP headers. הנפוצים ביותר הם Cache-Control (שמגדיר כמה זמן לשמור משאב ב-cache), Expires (שקובע תאריך תפוגה מוחלט), ו-ETag (שמאפשר לדפדפן לבדוק אם קובץ שמור השתנה). הגדרה נכונה של headers אלו מבטיחה שמבקרים חוזרים יטענו את האתר מהר יותר באופן משמעותי.
ב. קאש צד שרת – Server-side Caching
מרבית העבודה של יצירת והגשת עמודים מתבצעת בצד השרת, כך שהגיוני שרוב ההזדמנויות לשפר ביצועים גם כן יימצאו שם. קיימים ארבעה סוגים מרכזיים של Cache בצד השרת הזמינים לאתרי וורדפרס:
1. קאש של מסד הנתונים – Database Cache
Database cache חוסך זמן ומשאבים הקשורים להרצת שאילתות למסד הנתונים (database queries). וורדפרס מסתמכת על מסד הנתונים כדי לקבל מידע על האתר – תוכן, הגדרות, תפריטים ועוד – והיא מבקשת את אותו מידע שוב ושוב. Database cache שומר את תוצאות שאילתות אלו כך שניתן יהיה לגשת אליהן במהירות, ללא צורך לפנות למסד הנתונים בכל פעם מחדש.
כלים לדוגמה: Redis, Memcached (באמצעות תוספים כמו Redis Object Cache).
2. קאש של אובייקטים – Object Cache
לוורדפרס יש מנגנון מובנה של object caching, המאפשר לשמור אובייקטי נתונים הנדרשים במהלך בקשה. יש לציין ש-object cache אינו persistent כברירת מחדל – כלומר, הוא נבנה מחדש בכל טעינת עמוד, אלא אם מוסיפים backend חיצוני כמו Redis או Memcached.
Object cache שומר מידע הנדרש מספר פעמים במהלך אותה בקשה, ובכך חוסך חישובים יקרים. הוא גם שומר לעיתים שאילתות למסד הנתונים, וזו הסיבה שרבים מתבלבלים בינו לבין database cache.
Object cache פועל ברמת האפליקציה והוא ספציפי לבקשה בודדת, אלא אם הפכתם אותו ל-persistent באמצעות Redis או Memcached. Database cache, לעומת זאת, שומר תוצאות שאילתות ספציפיות.
אם ספק האחסון שלכם תומך ב-Redis או Memcached, הפעלת persistent object caching היא אחד השיפורים המשמעותיים ביותר שתוכלו לבצע – במיוחד באתרים עם WooCommerce, אזורי חברים, או תוכן דינמי אחר שלא ניתן לשמור ב-page cache.
3. OpCode Cache
OpCode cache חוסך זמן ומשאבים הקשורים להרצת קוד PHP. לפני שניתן להריץ קוד PHP, עליו לעבור קומפילציה ל-bytecode. OpCode cache (כמו OPcache) שומר את הקוד המקומפל בזיכרון השרת, כך שניתן להשתמש בו ללא צורך בקומפילציה מחדש.
OPcache זמין ברוב סביבות האחסון המודרניות, אך האם הוא פעיל תלוי בהגדרות ה-PHP של הספק. אם אתם מנהלים שרת משלכם, ודאו ש-OPcache מופעל – הוא מספק שיפור ביצועים משמעותי ללא חסרונות באתרי production. PHP 8.0 ומעלה כולל גם JIT (Just-In-Time compilation) כחלק מ-OPcache, אך עבור עומסי עבודה טיפוסיים של וורדפרס JIT לרוב לא ישפיע באופן מורגש. בדקו לפני שמפעילים.
שלושת סוגי הקאש הראשונים יחסכו משאבים לשרת, אך יהיה בהם צורך מועט לאחר שה-Page Cache ייצור עותק סטטי של העמודים.
4. קאש של עמודים – Page Cache
התוסף LiteSpeed Cache ו-WP-Rocket (למשל) נחשבים כ-Page Cache. כמו סוגי הקאש האחרים, גם page cache חוסך זמן ומשאבים – והוא עושה זאת על ידי שמירת התוכן המלא של עמודים שנבנו דינמית, כך שעותק "סטטי" של אותם עמודים הוא זה שמוגש לגולשים.
Page cache מאפשר לשרת לעקוף את כל תהליך ה-PHP והשאילתות למסד הנתונים. סוגי ה-cache האחרים יעזרו בתהליך הבנייה של אותם דפים סטטיים, אך ברגע שקיים page cache טרי ומנוהל היטב, הצורך בסוגי הקאש הקודמים פוחת משמעותית.
זהו סוג הקאש שמניב את שיפור הביצועים הגדול ביותר מבין כל הסוגים.
Content Delivery Network (או CDN בקצרה)
CDN שומר קבצים סטטיים (ולעיתים גם עמודים שלמים) על שרתים מפוזרים ברחבי העולם. גרסאות אלו זמינות למבקרים מהשרת הקרוב ביותר פיזית למיקומם, מה שמפחית את זמן ההשהיה ומשפר את המהירות.
CDN מצוין להפצת קבצים כמו תמונות, פונטים וקבצי JavaScript. שירותי CDN מסוימים (כמו Cloudflare APO או QUIC.cloud) יכולים גם לשמור עמודי HTML שלמים ב-edge, מה שמאפשר להגיש גם תוכן דינמי של וורדפרס ממיקום קרוב למבקר. עם זאת, טיפול בתוכן מותאם אישית (למשל למשתמשים מחוברים) דורש לרוב הגדרות מיוחדות.
CDN אידיאלי לתוכן סטטי. עבור תוכן דינמי או מותאם למשתמשים מחוברים בוורדפרס, השתמשו ב-CDN שתומך בכללי cache חכמים או edge logic.
Cache Invalidation – ניקוי קאש
אחד האתגרים ב-caching הוא לוודא שתוכן ישן לא מוגש למבקרים. Cache invalidation הוא התהליך של ניקוי או רענון ה-cache כאשר התוכן משתנה.
רוב תוספי ה-caching (כמו LiteSpeed Cache ו-WP Rocket) מנקים ומחדשים את ה-cache באופן אוטומטי כשאתם מעדכנים פוסטים, עמודים או הגדרות. ללא cache invalidation תקין, משתמשים עלולים לראות תוכן מיושן – ולכן חשוב להגדיר זאת נכון, במיוחד בעת שימוש באסטרטגיות caching אגרסיביות או CDN.
כיצד שכבות ה-Cache עובדות יחד
בפועל, סוגי ה-cache אינם מחליפים זה את זה – אתר וורדפרס מותאם היטב משתמש במספר שכבות במקביל:
- Browser cache מגיש למבקרים חוזרים קבצים מהאחסון המקומי באופן מיידי.
- CDN cache מפיץ קבצים סטטיים (ולעיתים עמודים שלמים) מהשרת הקרוב ביותר.
- Page cache מגיש קובץ HTML מוכן מראש, ללא צורך ב-PHP או שאילתות למסד הנתונים.
- OpCode cache מאיץ את הרצת ה-PHP כאשר יש צורך לייצר עמודים.
- Object ו-Database cache מפחיתים עומס שאילתות עבור בקשות דינמיות שלא ניתן לשמור ב-page cache.
כל שכבה תופסת את מה שהשכבה הקודמת לא כיסתה. למבט מעמיק יותר על טכניקות אופטימיזציה מעשיות, עיינו במדריך שלנו על שיפור מהירות הטעינה של אתרי וורדפרס.
לא כל אתר צריך את כל שכבות ה-cache. בלוג קטן ירוויח בעיקר מ-page caching ו-browser caching. אתרים עם תעבורה גבוהה או תוכן דינמי (WooCommerce, אזורי חברים, SaaS) צריכים להוסיף גם object caching ו-CDN.
שאלות נפוצות
שאלות נפוצות בנושא caching בוורדפרס:
לסיכום
Caching הוא אחת הדרכים היעילות ביותר לשפר את ביצועי אתר הוורדפרס שלכם. מ-browser caching בצד הלקוח, דרך שכבות בצד השרת כמו object cache, OpCode cache ו-page cache, ועד הפצה באמצעות CDN – כל שכבה ממלאת תפקיד ספציפי בהפחתת זמני טעינה ועומס על השרת.
בין אם מדובר בבלוג קטן או בחנות עם תעבורה גבוהה, הבנה ויישום של השילוב הנכון של שכבות cache יכולים לשפר באופן דרמטי את מהירות האתר וחוויית המשתמש.



Object cache pro שבא עם קלאודוויז ורוקט יכולים לעבוד ביחד?
כן, עובדים ביחד..