WhatsApp

שגיאת 500 באתר וורדפרס — איך לתקן

שגיאת 500 (Internal Server Error) בוורדפרס היא הודעה כללית עם 5 סיבות נפוצות....

איור של שגיאת 500 בדפדפן עם לוגים של שרת מאחור ומפתח שקורא אותם — סמל לאבחון שגיאת 500 בוורדפרס
תיקונים נפוצים

נכנסת לאתר וקיבלת 500 Internal Server Error. זה אחד המסכים הכי גנריים בעולם האינטרנט — שום מידע, רק "משהו השתבש". הבעיה: יש 5-6 סיבות שונות שיכולות לגרום ל-500 בוורדפרס, וכל אחת דורשת פתרון אחר. במאמר הזה אני עובר על כל סיבה, מסביר איך לזהות אותה ספציפית, ונותן את שלב התיקון. אני גרי, מומחה וורדפרס עצמאי, וניסיון של 10 שנים אומר שאם אתה עובד מסודר, 500 הוא תקלה של שעה — לא של יום.

התשובה המהירה: שגיאת 500 בוורדפרס היא הודעת שגיאה כללית שהשרת מציג כשמשהו נכשל בעיבוד הבקשה. חמש הסיבות הנפוצות: קובץ .htaccess שבור או עם חוקים סותרים, שגיאת PHP קריטית בתוסף או תבנית, מגבלת זיכרון של PHP שנגמרה, הרשאות קבצים שגויות (לא 644 לקבצים / 755 לתיקיות), או קובץ ליבת וורדפרס פגום. הצעד הראשון: גש ל-FTP, שנה את שם .htaccess ל-.htaccess-OFF, רענן. אם זה תוקן — היה קובץ שבור. אם לא — הפעל WP_DEBUG_LOG ב-wp-config.php וקרא את הלוג.

תוכן עניינים

  • מה אומר בעצם 500 (ומה ההבדל ממסך לבן)
  • הצעד הראשון לפני כל אבחון
  • סיבה 1: קובץ .htaccess שבור
  • סיבה 2: שגיאת PHP קריטית
  • סיבה 3: מגבלת זיכרון נגמרה
  • סיבה 4: הרשאות קבצים שגויות
  • סיבה 5: קובץ ליבת וורדפרס פגום
  • תהליך אבחון של 15 דקות
  • איך לקרוא את לוג השרת
  • איך למנוע שזה יחזור
  • שאלות נפוצות

מה אומר בעצם 500 (ומה ההבדל ממסך לבן)

500 Internal Server Error הוא קוד סטטוס HTTP שאומר: "השרת ניסה לעבד את הבקשה אבל נתקל במצב שלא יכול להמשיך." אין מידע נוסף ברמת המשתמש — זה במכוון, כדי לא לחשוף פרטים שתוקפים יוכלו לנצל.

ההבדל מ-WSOD (מסך לבן):

  • 500 — השרת כן הצליח לזהות שיש בעיה והחזיר קוד שגיאה.
  • WSOD — השרת לא הצליח אפילו להחזיר קוד, רק HTML ריק.

הסיבות חופפות במידה רבה (תוסף, זיכרון, PHP), אבל אבחון של 500 קצת יותר קל כי אתה יודע שאפשר לראות הודעה — והשאלה רק לאן ללכת לקרוא אותה. ראה גם מסך לבן באתר וורדפרס למקרים חופפים.

הצעד הראשון לפני כל אבחון

לפני שאתה משחק עם קבצים, גש לקובץ wp-config.php דרך FTP/SFTP ושנה את WP_DEBUG:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

רענן את האתר. וורדפרס כותב את כל השגיאות לקובץ /wp-content/debug.log. הורד את הקובץ, פתח, וקרא את השורה האחרונה. שם נמצא 80% מהאבחון.

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

תרחיש נדיר: הלוג ריק, או 500 הוא ברמת השרת ולא של PHP. במקרה הזה צריך לקרוא את לוג השרת — ראה סעיף "איך לקרוא את לוג השרת" בהמשך.

סיבה 1: קובץ .htaccess שבור

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

איך לאבחן ולתקן:

  1. דרך FTP, גש לתיקייה הראשית של האתר.
  2. מצא את הקובץ .htaccess (קובץ נסתר — ודא ש-FTP client שלך מציג קבצים נסתרים).
  3. שנה את שמו ל-.htaccess-OFF.
  4. רענן את האתר.

עובד? .htaccess היה הבעיה.

הפתרון לטווח ארוך:

  • היכנס ל-Settings → Permalinks ולחץ "Save Changes" (בלי לשנות כלום). וורדפרס יצור .htaccess נקי.
  • אם הוספת חוקים מותאמים ל-.htaccess (הפניות 301, חסימת bots, חוקי קאשינג) — הוסף אותם בחזרה לקובץ החדש. אבל בדוק כל חוק בנפרד — אחרי כל הוספה רענן ו-וודא שאין 500.

סיבה 2: שגיאת PHP קריטית

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

PHP Fatal error: Uncaught Error: Call to undefined function...
in /wp-content/plugins/some-plugin/includes/file.php on line 142

הפתרון:

  1. ב-FTP, היכנס ל-/wp-content/plugins/.
  2. מצא את התיקייה של התוסף הבעייתי.
  3. שנה את שם התיקייה (למשל מ-some-plugin ל-some-plugin-DISABLED).
  4. רענן את האתר.

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

אם הלוג לא ברור:

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

סיבה 3: מגבלת זיכרון נגמרה

הלוג יראה:

Allowed memory size of 134217728 bytes exhausted (tried to allocate X bytes)

134217728 = 128MB. Ootherwise, רוב התוספים הכבדים (WooCommerce, Elementor, BackupBuddy) דורשים יותר.

הפתרון:

ב-wp-config.php, מעל /* That's all, stop editing! */:

define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

לא עזר? סביר שחברת האחסון נועלת memory_limit ב-php.ini. פנה לתמיכה ובקש העלאה ל-256M לפחות. באחסונים ישראלים זו בקשה לגיטימית בלי תוספת תשלום.

סיבה 4: הרשאות קבצים שגויות

בוורדפרס, הרשאות נכונות הן:

  • תיקיות: 755 (מספרי 8־בסיס: בעלים יכול לקרוא/לכתוב/להריץ, אחרים יכולים רק לקרוא ולהריץ)
  • קבצים: 644 (בעלים קורא/כותב, אחרים רק קוראים)
  • wp-config.php: 400 (רק בעלים יכול לקרוא — סודות שם)

אם הרשאות שגויות (למשל 777 לתיקייה, או 666 לקובץ), השרת עלול לסרב להריץ — בעיקר אם רץ עם suExec או phpsuexec (רוב חברות האחסון).

הסימן: הלוג יראה "Permission denied" או 500 בלי הודעה ברורה.

הפתרון:

דרך FTP / SSH:

# תיקיות → 755
find /path/to/wordpress -type d -exec chmod 755 {} ;

# קבצים → 644
find /path/to/wordpress -type f -exec chmod 644 {} ;

# wp-config.php → 400
chmod 400 /path/to/wordpress/wp-config.php

ב-FileZilla: לחץ ימני על קובץ → File Permissions → הזן 644 או 755.

סיבה 5: קובץ ליבת וורדפרס פגום

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

הסימן: הלוג יראה שגיאה בקובץ בתוך /wp-includes/ או /wp-admin/.

הפתרון:

  1. הורד את גרסת וורדפרס שלך מ-https://wordpress.org/download/release-archive/ (אותה גרסה בדיוק).
  2. פתח את הזיפ.
  3. דרך FTP, העלה דריסה מלאה רק של:
    • /wp-includes/
    • /wp-admin/
    • כל קובץ .php בשורש (חוץ מ-wp-config.php)

אל תיגע ב-/wp-content/ ו-אל תיגע ב-wp-config.php.

תהליך אבחון של 15 דקות

זה הסדר המדויק שאני מריץ:

  1. דקות 1-2: גישת FTP/SFTP, גיבוי של .htaccess ו-wp-config.php.
  2. דקות 3-5: הפעלת WP_DEBUG_LOG ב-wp-config.php. רענון האתר. הורדת הלוג.
  3. דקות 6-7: קריאת הלוג. ה-95% מהמקרים נפתרים פה.
  4. דקות 8-10: אם הלוג ריק או לא ברור — שינוי שם .htaccess, רענון.
  5. דקות 11-13: אם עדיין 500 — שינוי שם תיקיית /plugins/, רענון.
  6. דקות 14-15: אם עדיין — בדיקת הרשאות / דריסת ליבה.

ב-90% מהמקרים, אחרי 15 דקות יש פתרון.

איך לקרוא את לוג השרת

לפעמים debug.log של וורדפרס לא מספיק — השגיאה לא הגיעה ל-PHP בכלל. אז צריך את לוג השרת.

מקומות נפוצים:

  • cPanel: Errors → "Last 300 errors"
  • Plesk: Logserror_log
  • DirectAdmin: Site Summary / Statistics / Logs
  • דרך SSH: tail -f /var/log/apache2/error.log # או tail -f /usr/local/apache/logs/error_log

חפש שורות מהדקה האחרונה (כשהתקלה קרתה). השרת יגיד לך אם זו בעיית .htaccess, הרשאות, PHP-FPM שמת, וכו'.

איך למנוע שזה יחזור

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

  1. גיבוי לפני כל עדכון. ראה עדכון וורדפרס בבטחה — שיטה מסודרת מונעת 80% מהבעיות.
  2. ניטור Uptime. UptimeRobot חינמי שולח אימייל שניות אחרי שהאתר נופל. אתה לא מגלה את התקלה מלקוח כועס.
  3. חבילת תחזוקה. מי שמחזיק אצלי חבילת תחזוקה לא מתעורר ל-500 בלילה — אני כבר יודע מ-monitoring ומטפל. ראה איך לבחור חבילת תחזוקה לאתר וורדפרס.

שאלות נפוצות

מה ההבדל בין 500 ל-503 ל-502?
500 — Internal Server Error. השרת ניסה ונכשל.
502 — Bad Gateway. השרת קיבל תגובה לא תקינה משרת אחר (לעיתים PHP-FPM נפל).
503 — Service Unavailable. השרת אומר "אני לא יכול לטפל עכשיו" (תחזוקה, או overload).

הפתרונות שונים, אבל האבחון דומה — בדוק את לוג השרת.

500 רק על עמוד אחד, לא על כל האתר. למה?
זה מצביע על תוכן ספציפי או על תוסף שמתבצע רק בעמוד הזה. בדוק:

  • האם זה עמוד עם shortcode מסוים? התוסף שמייצר אותו אולי שובר.
  • האם זה עמוד עם תמונה גדולה? אולי memory_limit מספיק כללית אבל לא לעמוד ספציפי.
  • האם זה עמוד שיוצא מ-cache? אולי תוסף קאשינג שמר גרסה שבורה. נקה.

500 בעת התחברות לדאשבורד אבל פרונט עובד.
לרוב זה תוסף שלא טעון בפרונט אבל כן ב-Admin (תוספי SEO, תוספי ניהול חנות). בדוק את הלוג בעת התחברות, או השבת תוספים אחד-אחד.

אחרי שעדכנתי PHP מ-7.4 ל-8.1 התחיל 500. מה עכשיו?
תוסף או תבנית לא תואמים לפי PHP 8.x. אם האחסון מאפשר — חזור זמנית ל-7.4. ובמקביל: זהה את התוסף הבעייתי (עדכן/החלף), כי PHP 7.4 כבר לא מקבל תמיכה אבטחתית והוא סיכון.

500 רק כשנכנסת תנועה גדולה (חנות בקמפיין).
זה לא תקלה אלא overload. השרת לא מסוגל. הפתרון לטווח ארוך: שדרוג אחסון. לטווח קצר: cache אגרסיבי + CDN. ראה האתר שלי איטי.


תקלת 500 פעילה כרגע?

500 שלא מטופל = הכנסה אבודה כל שעה. השירות "תקן לי את הוורדפרס" כולל אבחון מהיר ופתרון של תקלות 500 — תוך שעה ברוב המקרים. פנייה דחופה או וואטסאפ.


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


תפריט נגישות