בקצרה
- CDN שומר עותקים של קבצי האתר בעשרות ומאות מרכזי נתונים, ומגיש כל גולש מהקרוב אליו.
- הוא מאיץ מאוד תמונות, CSS ו‑JavaScript. עמודים דינמיים, כמו עגלה ואזור אישי, עדיין תלויים בשרת.
- בודקים שהוא עובד לפי כותרת התשובה: HIT אומר שהקובץ הגיע מה‑CDN.
- לרוב העסקים בישראל Cloudflare בחינם הוא נקודת פתיחה מצוינת, בתנאי שמגדירים אותו נכון.
מה זה CDN, במשפט אחד
CDN (Content Delivery Network, רשת להפצת תוכן) היא רשת של שרתים שפזורים בעשרות ומאות מרכזי נתונים בעולם. היא שומרת עותק של הקבצים של האתר שלכם, ומגישה כל גולש מהשרת הקרוב אליו, במקום שכל בקשה תיסע עד השרת המקורי.
הרעיון פשוט: המרחק עולה זמן. בקשה שיוצאת מחיפה לשרת בפרנקפורט ובחזרה לוקחת עשרות אלפיות שנייה, ועמוד אחד יכול לבקש עשרות קבצים. כשהקבצים מחכים בשרת קרוב, כל אחד מהם מגיע מהר יותר, והשרת המקורי בכלל לא צריך לעבוד.
איך CDN עובד מאחורי הקלעים
כשמחברים אתר ל‑CDN, הדומיין מפנה אל הרשת של ה‑CDN ולא ישר לשרת שלכם. מכאן כל בקשה עוברת את אותו מסלול:
- הגולש מבקש קובץ, למשל תמונה. הבקשה מגיעה לשרת ה‑CDN הקרוב אליו, שנקרא גם שרת קצה (Edge).
- אם הקובץ כבר שמור שם (HIT), שרת הקצה מחזיר אותו מיד. השרת שלכם לא שומע על הבקשה בכלל.
- אם הקובץ לא שמור (MISS), שרת הקצה מבקש אותו מהשרת שלכם, מחזיר אותו לגולש, ושומר עותק לבקשה הבאה.
- העותק נשמר לזמן מוגדר (TTL). כשהזמן נגמר, או כשמנקים את הקאש (Purge), שרת הקצה מביא גרסה טרייה.
מי מחליט כמה זמן לשמור כל קובץ? השרת שלכם, דרך כותרת שנקראת Cache-Control. למשל, Cache-Control: public, max-age=31536000 אומרת לשמור את הקובץ שנה שלמה, וזה מתאים לקבצים שהשם שלהם משתנה בכל גרסה. ב‑CDN כמו Cloudflare אפשר גם לקבוע כללים משלכם, בלי לגעת בשרת.
מה CDN מאיץ, ומה הוא לא יכול לתקן
כאן נמצאת רוב אי ההבנה. CDN מצוין בקבצים שזהים לכל הגולשים, ופחות רלוונטי לעמודים שנבנים לכל גולש מחדש.
| סוג תוכן | CDN עוזר? | למה |
|---|---|---|
| תמונות, CSS, JavaScript, גופנים | מאוד | זהים לכולם, ואפשר לשמור אותם לזמן ארוך |
| וידאו וקבצים להורדה | מאוד | קבצים כבדים שמגיעים מקרוב, בלי להעמיס על השרת |
| עמודי תוכן (מאמרים, עמודי מוצר) | כן, אם מגדירים קאש לעמודים | ברירת המחדל ברוב ה‑CDN היא לא לשמור HTML |
| עגלה, קופה, אזור אישי | לא | כל גולש רואה משהו אחר, ואסור לשמור אותם |
המשמעות: אם האתר איטי כי השרת לוקח הרבה זמן לבנות את העמוד (מה שנמדד כ‑TTFB, הזמן עד הבייט הראשון), CDN לבד לא יפתור את זה. צריך גם קאש עמודים בשרת, ושרת שמספיק חזק לאתר.
היתרונות, אחד אחד
אתר מהיר יותר
פחות מרחק, פחות זמן. ההבדל מורגש במיוחד בעמודים עם הרבה תמונות, ובגולשים מחו"ל כשהשרת בישראל, או להפך.
השרת עובד פחות
כשרוב הבקשות לקבצים נענות מה‑CDN, השרת שלכם מתפנה לבנות עמודים. זה מה שמונע קריסה ביום שבו קמפיין או כתבה מביאים פתאום פי עשרה גולשים.
הגנה מפני התקפות
ספקי CDN גדולים בולמים התקפות DDoS, שמציפות את האתר במיליוני בקשות, עוד לפני שהן מגיעות לשרת. רבים מהם מוסיפים גם חומת אש לאתר (WAF).
חיבור מוצפן ומודרני
ה‑CDN מטפל בתעודת ה‑SSL ותומך ב‑HTTP/3, הגרסה החדשה של הפרוטוקול, שמתמודדת טוב יותר עם רשתות סלולר לא יציבות.
איך בודקים שה‑CDN באמת עובד
הדרך הכי פשוטה היא להסתכל על כותרות התשובה של קובץ באתר. בדפדפן: כלי המפתחים (F12), לשונית Network, בוחרים קובץ, ומחפשים כותרת של ה‑CDN. משורת הפקודה:
curl -sI https://example.co.il/wp-content/uploads/logo.png | grep -i cache
ב‑Cloudflare תראו כותרת בשם cf-cache-status:
- HIT: הקובץ הוגש מה‑CDN. זה מה שרוצים לראות בתמונות ובקבצים.
- MISS: הקובץ לא היה שמור והגיע מהשרת. בטעינה הבאה הוא אמור להיות HIT.
- DYNAMIC: ה‑CDN לא שומר את הסוג הזה בכלל. זה רגיל לעמודי HTML, כל עוד לא הגדרתם קאש לעמודים.
- BYPASS: משהו ביקש לעקוף את הקאש, למשל עוגייה של משתמש מחובר.
אם כל התמונות שלכם תמיד MISS או DYNAMIC, כנראה שהשרת שולח כותרות שאוסרות לשמור אותן, ושווה לבדוק את ההגדרות.
איך בוחרים ספק CDN
- Cloudflare: תוכנית חינמית נדיבה, הגנת DDoS וחומת אש, ומרכז נתונים בתל אביב. נקודת פתיחה מצוינת לרוב העסקים.
- Bunny.net: תשלום לפי שימוש, פשוט וזול, טוב במיוחד לתמונות ולווידאו.
- Amazon CloudFront: טבעי למי שהאתר או הקבצים שלו כבר יושבים ב‑AWS.
- Fastly ו‑Akamai: לארגונים גדולים עם דרישות מיוחדות ותקציב בהתאם.
מה לבדוק לפני שבוחרים: איפה נמצאים מרכזי הנתונים ביחס לגולשים שלכם, אם יש הגנה מהתקפות, כמה קל לנקות קאש, ואיך מחושב המחיר כשהתנועה גדלה.
הגדרה נכונה, בחמישה צעדים
- מחברים את הדומיין: ב‑Cloudflare מחליפים את שרתי ה‑DNS של הדומיין לאלה שלהם, ומפעילים את ה‑Proxy (הענן הכתום) על הרשומות של האתר.
- מגדירים SSL במצב Full (strict), כדי שגם החיבור בין ה‑CDN לשרת יהיה מוצפן ומאומת.
- מוודאים שהשרת שולח כותרות קאש נכונות לקבצים קבועים, כדי שיישמרו לזמן ארוך.
- מחליטים על עמודים: אם רוצים לשמור גם HTML, מגדירים כלל שמדלג על עגלה, קופה, אזור אישי ומשתמשים מחוברים.
- בודקים עם כותרות התשובה, וגם בגלישה בחלון פרטי, שהאתר עובד ושהתמונות חוזרות כ‑HIT.
טעויות נפוצות, ואיך נמנעים מהן
- לולאת הפניות אחרי הפעלת SSL: במצב Flexible, ה‑CDN פונה לשרת ב‑HTTP, השרת מפנה חזרה ל‑HTTPS, וחוזר חלילה. הגולש רואה שגיאה של יותר מדי הפניות (
ERR_TOO_MANY_REDIRECTS). הפתרון: תעודה תקינה בשרת ומצב Full (strict). - שינוי שלא מופיע באתר: עדכנתם קובץ CSS, והגולשים עדיין רואים את הישן. מנקים את הקובץ מהקאש של ה‑CDN, ועדיף לעבוד עם כתובת שמשתנה בכל גרסה (למשל
style.css?v=2), כך שהגרסה החדשה נטענת לבד. - חסימה של שירותים שלכם: הגנת בוטים או חומת אש קשוחה מדי עלולות לחסום גם כלים לגיטימיים, כמו מערכת סליקה ששולחת אישור תשלום או אפליקציה שמתחברת ל‑API של האתר. אחרי ההפעלה עוברים על יומן האירועים של חומת האש ומאשרים את מה שצריך.
- כתובת השרת נחשפת: רשומת DNS שמפנה ישר לשרת בלי Proxy, למשל
mailאוftp, מגלה לתוקף את הכתובת שלו, והוא יכול לעקוף את ה‑CDN. בודקים אילו רשומות חושפות את הכתובת, וכשאפשר, השרת מקבל תנועה לאתר רק מכתובות ה‑CDN. - כל הגולשים נראים כמו גולש אחד: כשהכול עובר דרך ה‑CDN, השרת רואה את הכתובת של ה‑CDN ולא של הגולש. בלי הגדרה מתאימה בשרת (למשל המודול
mod_remoteipב‑Apache), יומני הגישה, הגבלות הקצב ותוספי האבטחה מתבלבלים.
בשורה התחתונה
CDN הוא אחד השיפורים הכי משתלמים לאתר: הוא מאיץ את מה שזהה לכל הגולשים, מוריד עומס מהשרת ומוסיף שכבת הגנה. הוא לא מחליף שרת טוב וקאש עמודים, אבל יחד איתם הוא מה שהופך אתר לסתם מהיר לאתר שלא נשבר ביום עמוס.
שאלות נפוצות
האם CDN מתאים גם לאתר שכל הגולשים שלו בישראל?
כן. גם כשהשרת בישראל, CDN מוריד ממנו את רוב הבקשות לקבצים, מגיש אותם מהר יותר, ומוסיף הגנה מפני התקפות. ל‑Cloudflare, למשל, יש מרכז נתונים בתל אביב.
CDN יפתור לי אתר וורדפרס איטי?
רק חלק מהבעיה. CDN מאיץ קבצים קבועים, אבל אם השרת לוקח שתי שניות לבנות את העמוד, צריך גם קאש עמודים בשרת, כמו ReallyCache, ואחסון מהיר.
איך מנקים את הקאש של ה‑CDN אחרי שינוי באתר?
דרך לוח הבקרה של ה‑CDN (Purge), לקובץ אחד או לכל האתר. בוורדפרס יש תוספים שמנקים אוטומטית כשמעדכנים עמוד.
האם CDN פוגע ב‑SEO?
לא, להפך: אתר מהיר יותר משפר את חוויית הגולש ואת מדדי המהירות שגוגל בודק. צריך רק לוודא שה‑CDN לא מגיש לגוגל גרסה ישנה או שגויה של העמודים.
כמה זה עולה?
ל‑Cloudflare יש תוכנית חינמית שמספיקה לרוב האתרים. ספקים אחרים גובים בדרך כלל לפי כמות התעבורה. ללקוחות האחסון שלנו, ניהול Cloudflare בסיסי כלול.