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

תחזוקת אתרים וריטיינר: למה אתרים קורסים ומה מונע את זה

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

מה כולל הסכם תחזוקת אתר?

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

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

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

מה זה חוב טכני ולמה אתרים מזדקנים?

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

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

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

מה מאט את האתר עם הזמן?

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

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

למה עדכוני תוספים שוברים אתרים?

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

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

מה זה גיבוי אמיתי?

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

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

אילו סימנים מראים שהאתר זקוק לתחזוקה דחופה?

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

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

מה ההבדל בין תחזוקת אתר וורדפרס לתחזוקת אתר בקוד?

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

מה ההבדל בין ריטיינר לבנק שעות, ומתי כל אחד עדיף?

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

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

איך נראה נוהל תחזוקה חודשי נכון?

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

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

מה מבקשים מספק תחזוקה לפני שחותמים?

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

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

לסיכום: תחזוקה היא השקעה, לא הוצאה

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

אהבת את המאמר? נשמח לדירוג שלך

מתי בדקתם לאחרונה שהאתר שלכם מעודכן?

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