חיפוש ]

מה זה שגיאת שרת 500 בוורדפרס וכיצד לפתור אותה? (Server Error)

שגיאת שרת 500 או בלעז 500 Internal Server Error היא אחת השגיאות המתסכלות ביותר שניתן להיתקל בהן באתרי וורדפרס בפרט, ובאתרי אינטרנט בכלל.

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

שגיאה 500 באתר וורדפרס - הודעה טיפוסית

שגיאה 500 באתר וורדפרס – הודעה טיפוסית

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

פתרונות מהירים לשגיאת שרת 500

  • בדקו את יומן השגיאות של השרת: גשו ליומן השגיאות בלוח הבקרה של האחסון (למשל cPanel > Metrics > Errors) כדי לראות את השגיאה המדויקת.
  • השבתת כל התוספים דרך FTP: שנו את שם תיקיית ה-plugins בתוך wp-content דרך FTP כדי להשבית תוספים. אם זה פותר את הבעיה, החזירו את שם התיקייה ובדקו כל תוסף בנפרד.
  • שינוי שם תיקיית התבנית הפעילה: שנו את שם תיקיית התבנית הפעילה בתוך wp-content/themes דרך FTP. וורדפרס תעבור לתבנית ברירת מחדל אם קיימת.
  • בדיקה ושינוי שם קובץ .htaccess: שנו את שם הקובץ .htaccess ל-.htaccess_old בתיקייה הראשית של האתר. אם זה עובד, שחזרו את הקובץ דרך הגדרות > קישורים קבועים.
  • הפעילו מצב דיבאג לאיתור שגיאות: הוסיפו את השורה define('WP_DEBUG', true); ב-wp-config.php כדי לצפות ביומני שגיאות. כבו את מצב הדיבאג לאחר סיום הבדיקה.
  • הגדלת זיכרון PHP: הוסיפו define('WP_MEMORY_LIMIT', '256M'); ל-wp-config.php או הגדילו את הזיכרון דרך לוח הבקרה של האחסון.

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

בדקו את יומן השגיאות של השרת

לפני שמבצעים שינויים כלשהם, בדקו את יומן השגיאות של השרת. רוב ספקי האחסון מספקים גישה ליומני שגיאות דרך cPanel (Metrics > Errors), Plesk, או לוח בקרה דומה.

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

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

האם אחד התוספים באתר גורם ל-Error 500?

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

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

בשני המקרים אתם צריכים גישת FTP, אך מנהל קבצים שקיים ב-cPanel או Plesk גם כן יעזור במקרה זה.

אם אתם יודעים איזה תוסף גרם לבעיה, גשו לתיקייה wp-content/plugins ומחקו או שנו את שם תיקיית התוסף. אם אינכם יודעים איזה תוסף גורם לשגיאה, שנו את שם תיקיית התוספים כולה.

הוסיפו קו תחתון בתחילתה כבדוגמה הבאה ("_plugins"):

האם תוסף כלשהו בוורדפרס גורם לשגיאה 500?

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

במקרה זה תקבלו הערות בוורדפרס בסגנון הבא:

"The plugin something.php has been deactivated due to an error: Plugin file does not exist."

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

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

האם שגיאה 500 נגרמת בגלל בעיה בתבנית?

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

זו אגב הסיבה העיקרית שעליכם להשאיר תבנית ברירת מחדל (כמו Twenty Twenty-Five) באתר.

תיקיית התבניות נקראית themes ונמצאת בתיקיית wp-content.

שגיאה 500 בעקבות בעיה בתבנית האקטיבית

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

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

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

האם ישנה בעיה בקובץ htaccess שגורמת לשגיאת שרת 500?

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

הקובץ .htaccess מנהל (בין היתר) את ההמרה של קישורים קבועים (Permalinks) לכתובות הסטנדרטיות של וורדפרס.

כדי לבדוק אם קובץ זה הוא הבעיה, גשו באמצעות FTP לתיקייה הראשית בה וורדפרס מותקנת ושנו את שם הקובץ ל-htaccess_old. אם אינכם רואים את הקובץ בתיקייה, עליכם לאפשר הצגה של קבצים מוסתרים (hidden files) – הדרך לעשות זאת שונה בין תוכנות ה-FTP השונות.

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

האם נגמר הזיכרון באתר שלכם?

בשרתים שיתופיים, ייתכן ותגיעו למצב בו אין מספיק זיכרון עבור האתר שלכם (PHP Memory Limit).

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

"Fatal Error: Allowed memory size of xxx bytes exhausted".

תוכלו לתקן בעיה זו על ידי הוספת השורה הבאה לקובץ wp-config.php:

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

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

אם אתם משתמשים באלמנטור, המינימום הנדרש הוא 256M. ההמלצה היא 512M ומעלה. אתרים המשתמשים בתוספים רבים יחד עם אלמנטור עשויים להזדקק ל-768M.

נסו למצוא את הבעיה על ידי הפעלת מצב דיבאג (Debug Mode)

אתם יכולים להפעיל מצב Debug בקובץ הקונפיגורציה של וורדפרס (wp-config.php). במצב Debug ייתכן ותקבלו רמז לגבי גורם הבעיה, אך בנקודה זו יהיה עליכם להבין בעצמכם כיצד למצוא ולתקן את הבעיה, והתהליך עשוי לדרוש יכולות תכנות.

הקובץ wp-config.php נמצא בתיקייה הראשית בה וורדפרס מותקנת.

כדי להפעיל מצב Debug, ערכו את הקובץ וחפשו את השורה הבאה:

define( 'WP_DEBUG', false );

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

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

define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

במצב זה השגיאות ייכתבו בקובץ בשם debug.log הנמצא בתוך תיקיית wp-content. לפרטים נוספים על גישה זו, עיינו במדריך על שימוש ב-WP_DEBUG_LOG בפיתוח וורדפרס.

הפעלת מצב Debug והצגת שגיאות PHP בוורדפרס

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

בקובץ ה-log חפשו שורה המכילה את הביטוי "PHP Error" ולפי זה נסו להבין איזה קובץ גורם לבעיה.

שימו לב: חפשו "PHP Error" כפי שציינו ולא "PHP Notice."

זכרו – קובץ זה יגדל במשקלו מכיוון שכל שגיאה נכתבת אליו. ודאו שאתם מסירים את השורות המדוברות מקובץ wp-config.php לאחר שסיימתם את תהליך ה-Debugging.

חוסר תאימות של גרסת PHP

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

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

בדקו את גרסת ה-PHP הנוכחית בלוח הבקרה של האחסון ונסו לעבור לגרסה אחרת. אם אתם על PHP 7.4 או 8.0, נסו לשדרג ל-8.2 או 8.3. אם שדרגתם לאחרונה והשגיאה התחילה, נסו לחזור לגרסה הקודמת באופן זמני בזמן שאתם מעדכנים את התוספים והתבנית.

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

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

ההרשאות המומלצות לוורדפרס הן:

  • תיקיות: 755
  • קבצים: 644
  • wp-config.php: 600 או 640

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

שגיאה 500 בעקבות הגדרות לא נכונות של השרת

אם אתם מריצים שרת עצמאי משלכם (VPS) ושיניתם משהו בהגדרות השרת, או אם התקנתם extension כלשהו בשרת, ייתכן וזה הגורם לשגיאות 500 באתר.

Internal Server Error יכולות להתרחש מקומבינציה של הגדרות בשרת שאינן תואמות. אם אתם משתמשים באחסון מנוהל, כנראה שזו אינה הבעיה. אך אם אתם אחראים על השרת והגדרותיו, באחריותכם לבדוק שאין בעיות תאימות עם מודולי PHP, הגדרות Apache/Nginx, או extensions שהותקנו לאחרונה.

שאלות נפוצות

שאלות נפוצות בנושא שגיאת שרת 500 בוורדפרס:

מה המשמעות של שגיאת 500 Internal Server Error?
שגיאה 500 היא שגיאה כללית בצד השרת. המשמעות היא שמשהו השתבש בזמן שהשרת עיבד את הבקשה, אך השרת לא יכול לפרט מה בדיוק הבעיה. בוורדפרס, הסיבות הנפוצות הן קונפליקט בין תוספים, קובץ .htaccess פגום, מגבלת זיכרון PHP, או שגיאת PHP בקוד התבנית או התוסף.
האם שגיאה 500 יכולה להיפתר מעצמה?
לפעמים כן. אם השגיאה נגרמת מעומס זמני על השרת או מקפיצת משאבים קצרה, היא עשויה להיפתר מעצמה ברגע שהשרת מתאושש. עם זאת, אם השגיאה נמשכת יותר מכמה דקות, כמעט בוודאות מדובר בבעיית הגדרות שדורשת טיפול ידני.
האם אאבד מידע בגלל שגיאה 500?
לא. שגיאה 500 לא מוחקת או פוגעת במידע שלכם. מסד הנתונים, הפוסטים, העמודים וקבצי המדיה נשארים שלמים. השגיאה רק מונעת מהשרת לייצר ולהגיש עמודים כראוי. ברגע שתתקנו את הגורם, הכל יחזור לפעול כרגיל.
איך מתקנים שגיאה 500 אם אין גישה לממשק הניהול?
השתמשו ב-FTP או במנהל הקבצים של ספק האחסון כדי לגשת לקבצי האתר ישירות. משם תוכלו לשנות את שם תיקיית התוספים כדי להשבית את כולם, לשנות את שם תיקיית התבנית כדי לעבור לתבנית ברירת מחדל, לשנות את שם .htaccess, או לערוך את wp-config.php כדי להפעיל מצב debug. אף אחד מהשלבים האלו לא דורש גישה לממשק הניהול.
האם שגיאה 500 משפיעה על SEO?
אם השגיאה קצרה (כמה דקות), סביר שלא תשפיע על הדירוג. עם זאת, אם האתר מחזיר שגיאות 500 לתקופה ממושכת, מנועי חיפוש יפסיקו בסופו של דבר להציג את העמודים שלכם בתוצאות. גוגל ינסה לסרוק שוב, אך השבתה ממושכת עלולה להוביל להסרה מהאינדקס. תקנו את השגיאה מהר ככל האפשר ועקבו אחר שגיאות סריקה ב-Google Search Console.
האם כדאי לפנות לספק האחסון בנוגע לשגיאה 500?
כן, אם ניסיתם את שלבי הפתרון במדריך זה והשגיאה ממשיכה. ספק האחסון יכול לבדוק יומני שגיאות ברמת השרת, הגדרות PHP ומגבלות משאבים שייתכן ואין לכם גישה אליהם. הם יכולים גם לוודא אם הבעיה ספציפית לחשבון שלכם או בעיית שרת רחבה יותר.

סיכום

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

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

בהצלחה!

דיון ותגובות
0 תגובות  ]

השאירו תגובה

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

Savvy WordPress Development official logo