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

תוכן העניינים 7 פרקים

מה זה מסך לבן בפועל

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

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

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

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

למה אין הודעת שגיאה

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

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

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

שלושה מקורות אפשריים

כמעט כל מקרה שאני מטפל בו נופל לאחת משלוש הקטגוריות:

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

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

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

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

שלושה מקורות למסך הלבן - לאן מכוון התסמין | שיווקנט
שלושה מקורות למסך הלבן

עשרים הדקות הראשונות

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

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

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

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

עשרים הדקות הראשונות - מה עושים תחילה | שיווקנט
עשרים הדקות הראשונות

לקרוא את הלוג במקום לנחש

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

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

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

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

איך מונעים את הפעם הבאה

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

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

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

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

עלות, ומתי לקרוא לעזרה

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

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

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

אם אתם לא בטוחים לאיזו קטגוריה אתם שייכים, כתבו לי מה בדיוק אתם רואים ומה קרה לפני, ואגיד לכם אם זה משהו שתסדרו לבד או מקרה לפתרון תקלות WordPress, ₪350-₪1,500 לתקלה · חבילת חירום ₪2,500, לפני מע״מ. הכי מהיר דרך WhatsApp, או בטלפון 054-238-3789. דברו איתי בוואטסאפ ←

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