וורדפרס עלולה לעיתים להיתקע במצב תחזוקה, מה שגורם לאתר להיות לא נגיש לגולשים. המסך מציג את ההודעה "Briefly unavailable for scheduled maintenance. Check back in a minute." וזה יכול להיות מתסכל כשאתם לא יודעים מה לעשות.
בפוסט הזה תלמדו בדיוק מה גורם לבעיה, כיצד לתקן אותה תוך פחות מדקה, וכיצד למנוע ממנה לקרות שוב.

מה גורם לוורדפרס להיתקע במצב תחזוקה?
כאשר וורדפרס מריצה עדכון, היא יוצרת קובץ זמני בשם .maintenance בתיקייה הראשית של האתר. הקובץ מכיל שורת PHP אחת בלבד:
<?php $upgrading = time(); ?>כל עוד הקובץ קיים, וורדפרס מציגה את הודעת התחזוקה וחוסמת גישה לאתר. ברגע שהעדכון מסתיים בהצלחה, וורדפרס מוחקת את הקובץ באופן אוטומטי.
הבעיה מתרחשת כשתהליך העדכון נקטע לפני שהוא מספיק לנקות אחריו. הסיבות הנפוצות כוללות:
- סגירת הדפדפן או מעבר לדף אחר במהלך עדכון
- חריגה מזמן ריצה (timeout) בגלל ערך
max_execution_timeנמוך מדי ב-PHP - מחסור בזיכרון PHP (ערך
memory_limitנמוך מדי) לביצוע העדכון - התנגשויות עם תוספים או תבניות שגורמים לקריסה במהלך העדכון
- עדכון מספר תוספים או תבניות במקביל על שרת איטי
- ניתוק חיבור אינטרנט במהלך העדכון
וורדפרס בודקת את חותמת הזמן (
$upgrading) בקובץ.maintenance. אם הקובץ ישן מ-10 דקות, וורדפרס מתעלמת ממנו וטוענת את האתר כרגיל. אם האתר עדיין תקוע אחרי 10 דקות, ייתכן שיש בעיה עמוקה יותר בעדכון עצמו.
כיצד לתקן מצב תחזוקה תקוע בוורדפרס
התיקון פשוט – עליכם למחוק את קובץ .maintenance מתיקיית השורש של וורדפרס. הנה מספר דרכים לעשות זאת:
שיטה 1 – באמצעות FTP
התחברו לאתר באמצעות לקוח FTP (כמו FileZilla) ונווטו לתיקייה הראשית – אותה תיקייה שמכילה את wp-config.php.
מצאו את קובץ .maintenance ומחקו אותו. שימו לב שקבצים שמתחילים בנקודה מוסתרים כברירת מחדל. ב-FileZilla, לחצו על Server > Force showing hidden files כדי לחשוף אותם.

שיטה 2 – באמצעות מנהל הקבצים של השרת
היכנסו לפאנל הניהול של שרת האחסון (cPanel, Plesk או דומה) ופתחו את מנהל הקבצים. נווטו לתיקייה הראשית של האתר (public_html או דומה), הפעילו "Show hidden files" במידת הצורך, ומחקו את .maintenance.
שיטה 3 – באמצעות SSH או WP-CLI
אם יש לכם גישת SSH לשרת, זו הדרך המהירה ביותר:
rm /path/to/wordpress/.maintenanceאו אם מותקן אצלכם WP-CLI:
wp maintenance-mode deactivateלאחר מחיקת הקובץ
ברגע שתמחקו את .maintenance, האתר צריך להיטען באופן מיידי. לאחר מכן בצעו את הצעדים הבאים:
- היכנסו לממשק הניהול של וורדפרס ועברו אל Dashboard > Updates
- בדקו אם יש עדכונים שנכשלו והריצו אותם מחדש, אחד בכל פעם
- נקו את המטמון (Cache) של תוסף הקאשינג שלכם (אם אתם משתמשים באחד)
- נקו גם את המטמון של הדפדפן
אם קובץ .maintenance ממשיך להופיע שוב אחרי שמחקתם אותו, סביר שהעדכון נכשל שוב ושוב. בדקו את לוג השגיאות של PHP בשרת. הסיבות הנפוצות הן מחסור בזיכרון, תוסף פגום, או אי-תאימות גרסת PHP.
הגדלת Timeout למניעת כשלון בעדכונים
אם עדכונים נכשלים בגלל חריגה מזמן הריצה של השרת, תוכלו להגדיל את הזמן שוורדפרס מקצה לעדכונים על ידי הוספת שורה זו לקובץ wp-config.php:
define( 'WP_MAX_EXECUTION_TIME', 300 );כדאי גם לוודא שהגדרות ה-PHP שלכם מתאימות. הוסיפו את הערכים הבאים לקובץ .htaccess או בקשו מחברת האחסון לעדכן:
php_value max_execution_time 300
php_value memory_limit 256Mהגדרות אלו נותנות לוורדפרס עד 5 דקות ו-256MB זיכרון לביצוע עדכונים, מה שמספיק ברוב המקרים.
כיצד למנוע מוורדפרס להיתקע במצב תחזוקה
פעלו לפי ההמלצות הבאות כדי למזער את הסיכון:
עדכנו תוספים אחד בכל פעם
הימנעו מלחיצה על "עדכן הכל" בעמוד התוספים, במיוחד באחסון משותף. עדכנו כל תוסף בנפרד והמתינו שהעדכון יסתיים לפני שתתחילו את הבא.
אל תסגרו את הדפדפן במהלך עדכונים
כאשר וורדפרס מריצה עדכון, תנו לו להסתיים. סגירת הלשונית או מעבר לדף אחר קוטעת את התהליך ומשאירה את קובץ .maintenance.
בדקו תאימות תוספים לפני עדכון
לפני שתעדכנו את הליבה של וורדפרס, וודאו שהתוספים והתבנית הפעילים תואמים לגרסה החדשה. ספריית התוספים של וורדפרס מציגה את הגרסה "Tested up to" עבור כל תוסף.
השתמשו בסביבת Staging
לעדכונים משמעותיים, בדקו אותם קודם על עותק staging של האתר. רוב חברות האחסון מציעות סביבת staging בלחיצה אחת. כך תוכלו לאתר התנגשויות לפני שהן משפיעות על האתר החי.
שמרו על משאבי שרת מתאימים
ודאו שתוכנית האחסון שלכם מספקת לפחות 256MB זיכרון PHP ו-max_execution_time של 300 שניות. אתרים על אחסון משותף בסיסי עם משאבים מוגבלים נוטים יותר לחוות כשלונות עקב חריגה מזמן הריצה.
שאלות נפוצות
שאלות נפוצות על מצב תחזוקה בוורדפרס:
.maintenance הוא קובץ זמני שוורדפרס יוצרת בתיקייה הראשית של האתר במהלך עדכונים. הוא מכיל חותמת זמן PHP ($upgrading = time();) שאומרת לוורדפרס להציג את הודעת התחזוקה במקום לטעון את האתר. וורדפרס מוחקת אותו אוטומטית כשהעדכון מסתיים בהצלחה..maintenance. אם הקובץ ישן מ-10 דקות, וורדפרס מתעלמת ממנו וטוענת את האתר כרגיל. עם זאת, אם תהליך העדכון רץ בלולאה או ששעון השרת מוגדר לא נכון, ההתאוששות האוטומטית לא תעבוד ותצטרכו למחוק את הקובץ ידנית..maintenance נמצא באותה תיקייה של wp-config.php.wp-content/plugins ל-plugins-disabled דרך FTP. היכנסו לוורדפרס, שנו את שם התיקייה חזרה, והפעילו תוספים אחד אחד כדי לזהות את ההתנגשות. בדקו גם את לוג השגיאות של PHP לקבלת הודעות שגיאה ספציפיות.סיכום
מצב תחזוקה תקוע בוורדפרס נגרם מקובץ .maintenance שנשאר כשעדכון נקטע. התיקון פשוט – מחקו את הקובץ דרך FTP, מנהל הקבצים של שרת האחסון, או WP-CLI.
כדי למנוע הישנות, עדכנו תוספים אחד בכל פעם, ודאו שמשאבי השרת מספיקים, ולעולם אל תסגרו את הדפדפן במהלך עדכון. אם הקובץ ממשיך להופיע מחדש, בדקו את לוג השגיאות של PHP כדי לאתר את הסיבה.
זכרו תמיד לגבות את האתר לפני הרצת עדכונים משמעותיים. גיבוי נותן לכם נקודת שחזור בטוחה אם משהו משתבש. צריכים עזרה בתחזוקת האתר? צרו איתנו קשר.

