אם פתאום אתה רואה "אירעה שגיאה קריטית באתר זה" או דף ריק ברגע שפותחים אותו /wp-adminאינך חסום "לנצח". ברוב המקרים, ניתן לקבל גישה מחדש תוך 10 עד 30 דקות בשיטה נקייה, מבלי לגעת בליבת ה... וורדפרס.

הבעיה

אינך יכול עוד לגשת לניהול וורדפרס (https://votre-site.tld/wp-admin/ ou /wp-login.phpהחזית (החלק הציבורי) יכולה לעבוד... או שהיא יכולה להיות שבורה גם כן.

הנה כמה הודעות אופייניות שראיתי (ושאפשר למצוא ביומני השרת):

There has been a critical error on this website.

HTTP ERROR 500

ERR_TOO_MANY_REDIRECTS

Error establishing a database connection

Sorry, you are not allowed to access this page.

403 Forbidden - You don't have permission to access /wp-admin/ on this server.

היכן ומתי זה מופיע?

  • מנהל בלבד : /wp-admin מחזירה שגיאה 500, דף ריק או לולאת הפניה, בזמן שדף הבית פועל.
  • אדמין + חזית כל האתר מושבת (לעתים קרובות שגיאת PHP חמורה, בעיית מסד נתונים או בעיית תצורת PHP/זיכרון).
  • לאחר אירוע עדכון וורדפרס 6.9.4, עדכון תוספים, הפעלת קוד טקסט, העברת אחסון, מעבר ל-PHP 8.1/8.2/8.3, שינוי DNS/HTTPS.

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

  • השבתת תוסף או ערכת נושא Sans גישה לאזור הניהול;
  • הפעל מצב ניפוי שגיאות נקי (מבלי לחשוף מידע כלשהו) sensibles);
  • לבודד את האשם האמיתי (תוסף, ערכת נושא, מטמון, .htaccess, מסד נתונים, PHP);
  • להחזיר גישה ל wp-admin בוורדפרס 6.9.4+ (PHP 8.1+).

סיכום קצר

  • שגיאה קריטית / 500 שם מחדש wp-content/plugins כדי להשבית את כל התוספים, ולאחר מכן להפעיל אותם מחדש אחד אחד.
  • דף ריק : להפעיל WP_DEBUG_LOG ולקרוא wp-content/debug.log (לעתים קרובות שגיאת PHP חמורה).
  • לולאת ניתוב מחדש : לבדוק WP_HOME/WP_SITEURL, HTTP/HTTPS וכללי מטמון/CDN.
  • 403/401 הרשאות קבצים, כללי WAF (ModSecurity/Cloudflare), או הגבלת IP /wp-admin.
  • "שגיאה ביצירת חיבור למסד נתונים" מזהי מסד נתונים, שרת MySQL או מסד נתונים רווי/פגום.
  • לעולם אל תשנה את הליבה להשתמש ב- תוסף mu או wp-config.php עבור פעולות שיקום.

תסמינים

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

תסמינים נפוצים הקשורים לדפדפן

  • שגיאה 500 / "שגיאה קריטית" על ידי לחיצה על /wp-admin (או /wp-login.php).
  • מסך לבן (מסך לבן של מוות): דף ריק, לפעמים ללא הודעה.
  • ERR_TOO_MANY_REDIRECTS לולאת HTTP ↔ HTTPS, או כתובת URL לא עקבית של האתר.
  • 403 אסור / 401 לא מורשה חסימת שרת/WAF, או הרשאות.
  • פסק זמן לשער 504 PHP איטי מדי, בקשה חסומה או עמוס מדי בשרת.
  • דף ההתחברות מופיע, אך לאחר ההתחברות תוחזר למסך ההתחברות. (קובצי Cookie/sessions, מטמון, HTTPS או טבלה) wp_options).

תסמינים טכניים (לעתים קרובות גלויים ביומנים)

  • שגיאת PHP חמורה : "שגיאה שלא נתפסה", "גודל הזיכרון המותר מוצה", "קריאה לפונקציה לא מוגדרת...".
  • REST API / אייאקס שבור : מנהל המערכת נטען בצורה גרועה, תפריטים מסתובבים, עורך בלוקים לא יציב (גוטנברג), ספריית המדיה לא נפתחת.
  • התנגשות בין תוסף/ערכת נושא נפוץ מאוד עם תוספי אבטחה, אחסון במטמון, אופטימיזציה של JS/CSS או קטעי טקסט שהודבקו במקום הלא נכון.
  • סליק אתה מתקן את זה, אבל הדפדפן/CDN עדיין מחזיר את השגיאה הישנה.

תרשים אבחון (מהיר אך אמין)

סימפטום סיבה סבירה אימות פתרון
שגיאה 500 / שגיאה קריטית תוסף או קטע טקסט פגום (PHP) להתייעץ debug.log / יומני PHP השבתת תוספים, בידוד הגורם (פתרון 1)
דף ריק שגיאה חמורה מוסתרת / זיכרון להפעיל WP_DEBUG_LOG הגדלת זיכרון + תיקון השגיאה (פתרון 3)
ERR_TOO_MANY_REDIRECTS HTTP/HTTPS, כתובת אתר, פרוקסי השווה כתובות URL של דפדפן לעומת siteurl/home תקן את WP_HOME/WP_SITEURL, נקה את המטמון
שגיאה 403 ב-/wp-admin WAF, כללי שרת, הרשאות בדיקה ב-4G, השבתה זמנית של WAF כללי שרת / רשימה לבנה / הרשאות (פתרון 3)
לולאת כניסה קובצי Cookie, מטמון, HTTPS, דומיין בדיקת גלישה פרטית, ניקוי מטמון CDN תקן כתובת URL, נקה מטמון, בדוק קובצי Cookie
שגיאה בעת יצירת חיבור מסד נתונים מסד נתונים יורד / מזהים מאמת wp-config.php + סטטוס MySQL תקן את DB_*, צור קשר עם ספק האירוח

למה זה קורה?

גרסה פשוטה (למתחילים) : wp-admin טוען הרבה יותר קוד מאשר ממשק המשתמש. תוסף אולי "יעבוד" בדף הבית, אבל יפגע בפאנל הניהול (AJAX, REST API, הרשאות, סקריפטים). כאשר מתרחשת שגיאת PHP, WordPress 6.9.4 מציג לעתים קרובות הודעה כללית, ואין לך גישה למסך כדי לתקן אותה.

גרסה טכנית (בינונית/מקצועית) : המנהל עובר wp-admin/admin.phpזה כרוך בטעינת ווים (פעולות/מסננים) ותלויות JS/CSS. שגיאה חמורה בתוסף, טוען אוטומטי של Composer שהוצהר בצורה גרועה, מחלקת PHP שאינה תואמת ל-PHP 8.1+, או אופטימיזציה אגרסיבית (מיניפיקציה/עיכוב של JS) עלולים לשבש את הביצוע עוד לפני שלוח המחוונים מוצג.

סיבות מפורטות מהשכיחות ביותר לנדירות ביותר (בהתבסס על ניסיוני בשטח):

  • תוסף שבור לאחר עדכון (מטמון, אבטחה, אופטימיזציה, טופס, מסחר אלקטרוני).
  • קטע נוסף במקום הלא נכון (בקובץ הלא נכון, או באמצעות תוסף snippets שאינו מטפל בשגיאות).
  • ערכת נושא שבורה (או ערכת נושא של ילדים) פונקציות ניהול, functions.php עם שגיאת תחביר.
  • בעיה בכתובת URL HTTP/HTTPS, דומיין, פרוקסי, Cloudflare, שינוי כתובת URL של אתר במסד הנתונים.
  • הרשאות/כללים של השרת 403 מתוך /wp-admin, אימות בסיסי, WAF מחמיר מדי.
  • זיכרון PHP מגבלת ביצוע לא מספקת או נמוכה מדי (במיוחד באתרים עם Divi 5, Elementor, Avada + תוספים גדולים).
  • מסד לא זמין, אישורים שגויים, שרת מסד הנתונים מושבת.
  • קבצים פגומים (העלאה לא שלמה, דיסק מלא, תוכנה זדונית, סנכרון שנכשל).

תנאים מוקדמים לפני תחילת העבודה

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

  • עותק של wp-config.php ;
  • ארכיון של wp-content/ ;
  • אם אפשר, ייצאו את מסד הנתונים (דרך הכלי של ספק האירוח, phpMyAdmin, או WP-CLI).

מה שכדאי שיהיה לכם בהישג יד:

  • גישה FTP / SFTP (FileZilla, Cyberduck) או מנהל הקבצים מספק האירוח;
  • גישה לפאנל האירוח (יומני רישום, גרסת PHP, הפעלה מחדש של PHP-FPM);
  • אופציונלי אך שימושי מאוד: גישה WP-CLI (שורת פקודה).

כלים מומלצים (לאחר שגישה למנהל המערכת משוחזרת):

מקורות רשמיים שימושיים במהלך פתרון בעיות:


פתרון 1: השבתת תוספים מבלי לגשת ללוח הניהול

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

שלב 1 - השבתת כל התוספים (ללא מסד נתונים)

היכן לפעול דרך FTP/SFTP או מנהל הקבצים של ספק האירוח.

  1. ללכת wp-content/
  2. שנה את שם התיקייה plugins en plugins.off
  3. טעינה מחדש /wp-admin

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

אם המנהל חוזר, אישרת התנגשות עם תוספים.

שלב 2 - הפעל מחדש את התוספים אחד אחד (שיטה נקייה)

  1. שינוי שם plugins.off en plugins
  2. Dans wp-content/pluginsשם מחדש תוסף באותו הזמן, למשל mon-pluginmon-plugin.off
  3. מבחן /wp-admin אחרי כל שינוי

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

  • מטמון/אופטימיזציה (צמצום, עיכוב JS, שילוב CSS)
  • אבטחה / חומת אש
  • תוספי קטעי טקסט
  • תוספי ביצועים הכל באחד

מקרה נפוץ: תוסף snippets שבר את לוח הניהול

נתקלתי לעתים קרובות בתרחיש הזה: משתמש מדביק קוד שנמצא במדריך ישן (לפני PHP 8), חסר פסיק, והכל... wp-admin סתָיו.

דוגמה לקוד חזית (שבורה) נקודה-פסיק חסרה, שגיאה חמורה.

היכן בדרך כלל קוד זה ממוקם : functions.php מנישת הבן, או מתוסף snippets.

<?php
// Exemple volontairement cassé : oublie du point-virgule
add_action('init', function () {
    update_option('blogdescription', 'Mon site')
});

קופונים אחרי (תוקן) :

<?php
// Correction : point-virgule ajouté, et on évite de faire ça à chaque chargement
add_action('admin_init', function () {
    // On limite l'exécution à l'admin, et on évite une écriture DB permanente
    if (get_option('bpcab_desc_updated') !== '1') {
        update_option('blogdescription', 'Mon site');
        update_option('bpcab_desc_updated', '1');
    }
});

למה זה מתקן:

  • הנקודה-פסיק החסרה גרמה ל- שגיאת תחביר → PHP עוצר הכל.
  • הקרס פעולה admin_init ("פעולה" = נקודת ביצוע שבה אתה מצרף את הקוד שלך) מגבילה את הביצוע למנהל.
  • אנו נמנעים מכתיבה למסד הנתונים בכל עמוד (אחרת אתם יוצרים בעיות אחרות).

בונוס: תוסף mu ל"מצב חירום" (במקרה שתחוו תקלה נוספת)

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

היכן להדביק את הקוד צור את הקובץ wp-content/mu-plugins/bpcab-recovery.phpצור את התיקייה mu-plugins אם הוא לא קיים.

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

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

דוגמה AFTER (תוסף גיבוי mu) : משבית את כל התוספים רק אם תוסיף ?recovery=1 לכתובת ה-URL ושאתה נמצא בכתובת ה-IP שלך.

<?php
/**
 * Plugin Name: BPCAB Recovery (mu-plugin)
 * Description: Filet de secours temporaire pour récupérer l'accès à wp-admin.
 */

// Sécurité : ne pas exécuter en accès direct.
if (!defined('ABSPATH')) {
    exit;
}

add_filter('option_active_plugins', function ($plugins) {
    // N'activez ce mode que temporairement.
    if (!isset($_GET['recovery']) || $_GET['recovery'] !== '1') {
        return $plugins;
    }

    // Restreignez à votre IP (à adapter). Si vous êtes derrière un proxy, attention.
    $ip_autorisee = '203.0.113.10'; // Exemple (RFC 5737)
    $ip_client = $_SERVER['REMOTE_ADDR'] ?? '';

    if ($ip_client !== $ip_autorisee) {
        return $plugins;
    }

    // Désactive tous les plugins (WordPress chargera "aucun plugin").
    return [];
}, 1);

למה זה עובד: active_plugins היא אפשרות של וורדפרס. על ידי סינון הערך שלה (a מסנן (= hook שמשנה ערך), אתה מונע מהתוספים להיטען, מה שנותן לך זמן להתחבר ולתקן אותו.


פתרון 2: חזרה לערכת נושא תקינה (ושמירת אתר Divi/Elementor/Avada)

כאשר הבעיה נובעת מהתבנית (או תבנית הבן), מנהל המערכת יכול לפתור אותה מיד בעת הטעינה, במיוחד אם functions.php מכיל שגיאת PHP, או אם ערכת הנושא עוקפת חלקים מהמנהל.

שלב 1 - כפיית ערכת נושא ברירת מחדל

היכן לפעול מסד נתונים (phpMyAdmin) או WP-CLI. אם אין לך גישה למסד הנתונים, המשך לשיטת "שינוי שם" להלן.

שיטת WP-CLI (הפשוטה ביותר אם קיימת)

# Affiche le thème actif
wp theme list

# Active un thème par défaut installé (exemple)
wp theme activate twentytwentyfive

תיעוד רשמי של WP-CLI: הפעלת ערכת נושא WP

שיטת מסד נתונים (phpMyAdmin)

בטבלה wp_options (הקידומת עשויה להיות שונה), שנה:

  • template = twentytwentyfive (או נושא אחר בהווה)
  • stylesheet = twentytwentyfive

אם אינך רואה את הנושא ב wp-content/themesהתקן אותו דרך FTP (העתקת תיקיית ערכת הנושא), או דרך WP-CLI:

wp theme install twentytwentyfive --activate

שלב 2 - ניתוח מקרה של Divi 5, Elementor, Avada: מה משתנה

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

  • Divi 5 אם אתם משתמשים בתבנית Divi, מעבר זמני לערכת עיצוב ברירת מחדל עלול לשבש את הרינדור הקדמי, אך המטרה היא להחזיר גישה לפאנל הניהול. אם אתם משתמשים תוסף Divi Builder עם ערכת נושא אחרת, ראשית, בדוק על ידי השבתת ערכת הנושא של הילד בלבד (לעתים קרובות היא הגורם לבעיה).
  • Elementor אלמנטור עובד עם רוב התבניות. אם פאנל הניהול מקולקל, הבעיה נובעת לרוב מתוסף אופטימיזציה או מתבניות עמוסות יתר מאשר מאלמנטור עצמו. בדיקה עם תבנית ברירת מחדל היא דבר משמעותי מאוד.
  • אבדתי Avada (Fusion Builder) טוען הרבה קוד. מגבלת זיכרון נמוכה עלולה לגרום לקריסה של לוח הניהול. אם החלפת ערכות נושא משחזרת את לוח הניהול, יש לבדוק את יומני ה-PHP ואת הזיכרון לאיתור שגיאות.

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

היכן לפעול : FTP/SFTP → wp-content/themes.

  1. זהה את התיקייה של ערכת הנושא הפעילה (למשל divi, avada, mon-theme-enfant).
  2. שנה את השם: dividivi.off.
  3. וורדפרס תנסה לעבור לערכת נושא זמינה אחרת.

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

דוגמה למקרה טיפוסי בקובץ functions.php (לפני/אחרי)

שגיאה נפוצה: קריאה לפונקציית תוסף (Elementor/Divi/Avada) כאשר התוסף אינו טעון, או נמצא ב-hook הלא נכון.

חזית (שבורה) : קריאה ישירה ברגע שהתבנית נטענת (קטלנית אם התוסף אינו פעיל).

<?php
// Mauvaise pratique : appeler une fonction de plugin sans vérifier qu'elle existe
elementor_do_something_admin_only();

אחרי (תוקן) אנו בודקים את קיומו, ומחכים לרגע הנכון.

<?php
add_action('plugins_loaded', function () {
    // On vérifie que la fonction existe (plugin actif) avant d'appeler
    if (function_exists('elementor_do_something_admin_only')) {
        elementor_do_something_admin_only();
    }
});

למה זה מתקן:

  • plugins_loaded הוא פועל לאחר טעינת התוספים. אם Elementor (או תוסף אחר) פעיל, הפונקציות שלו זמינות.
  • function_exists() מונע שגיאה חמורה.

פתרון 3: אבחון באמצעות יומני רישום (WP_DEBUG), WP-CLI ומסד הנתונים

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

הפעל את WP_DEBUG כראוי (מבלי להציג שגיאות למבקרים)

היכן להדביק את הקוד בתוך wp-config.phpרצוי ממש לפני הקו /* That's all, stop editing! */ (או שווה ערך).

AVANT (לעתים קרובות חסר או לא שלם):

<?php
// ... votre wp-config.php

לאחר (תצורה מומלצת בייצור במהלך פתרון בעיות):

<?php
// Active le mode debug WordPress
define('WP_DEBUG', true);

// Écrit les erreurs dans wp-content/debug.log
define('WP_DEBUG_LOG', true);

// N'affiche pas les erreurs à l'écran (évite de divulguer des chemins/infos sensibles)
define('WP_DEBUG_DISPLAY', false);

// Optionnel : évite que PHP affiche ses erreurs en dehors de WordPress
@ini_set('display_errors', '0');

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

מסמך רשמי: ניפוי באגים בוורדפרס

קרא את debug.log וזהה את השגיאה השימושית

איפה לקרוא : wp-content/debug.log (דרך FTP/מנהל קבצים).

דוגמאות לשגיאות שחוסמות את המנהל:

PHP Fatal error:  Uncaught Error: Call to undefined function wp_get_environment_type()
in /wp-content/plugins/ancien-plugin/ancien-plugin.php:42

PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes)
in /wp-includes/class-wpdb.php on line 2345

PHP Fatal error:  Uncaught TypeError: strpos(): Argument #1 ($haystack) must be of type string, null given
in /wp-content/themes/mon-theme/functions.php:120

מה שאתה מחפש:

  • הקובץ (תוסף/תבנית) ו ligne la ;
  • הסוג: שגיאה חמורה / טעות הקלדה / שגיאת ניתוח ;
  • אם זו מגבלה: זיכרון, זמן, הרשאות.

תיקון "זיכרון PHP לא מספיק" (נפוץ ב-Divi/Avada + תוספים גדולים)

אם הלוג שלך מראה Allowed memory size exhaustedראשית, הגדל את הזיכרון בצד האירוח (פאנל PHP). לאחר מכן, תוכל גם להגדיר מגבלה עבור וורדפרס.

איפה להיצמד : wp-config.php.

<?php
// Augmente la mémoire côté WordPress (ne dépasse pas ce que l'hébergeur autorise)
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

בשביל מה: WP_MEMORY_LIMIT חל במיוחד על המצח, WP_MAX_MEMORY_LIMIT למנהל (שצורך יותר). אם ספק האירוח מגביל את PHP ל-128M, וורדפרס לא יכולה "לכפות" אותו מעבר לכך.

תקן את "לולאת ההפניה" (ERR_TOO_MANY_REDIRECTS)

בעיה זו מתרחשת לעיתים קרובות לאחר הפעלת HTTPS, שינוי דומיינים או הגדרת Cloudflare/proxy. מנהל המערכת מפנה לכתובת URL אחרת, והדפדפן חוזר בלולאה.

בדיקה מהירה לִפְתוֹחַ https://votre-site.tld/wp-login.php במצב גלישה פרטית. אם זה קורה בלולאה, בדוק:

  • אם האתר שלך נגיש דרך HTTP ו-HTTPS;
  • אם תוסף כופה HTTPS;
  • אם Cloudflare נמצא במצב "גמיש" (לעתים קרובות מקור הבעיה).

טלאי חזק כוח WP_HOME et WP_SITEURL באופן זמני ב wp-config.php.

איפה להיצמד : wp-config.php, לפני "הפסק עריכה".

<?php
// Fix temporaire : force l'URL du site (à adapter exactement à votre domaine)
define('WP_HOME', 'https://votre-site.tld');
define('WP_SITEURL', 'https://votre-site.tld');

למה: וורדפרס בדרך כלל קוראת את הערכים האלה ממסד הנתונים (אפשרויות) home et siteurlעל ידי הגדרתם כאן, אתם מנטרלים ערך מסד נתונים שגוי בזמן שאתם מתקן אותו.

לאחר שחזור חשבון המנהל, בצעו את התיקונים הנדרשים תחת הגדרות ← כללי, ולאחר מכן הסירו אותם. define() אם אינך זקוק לכך עוד (אחרת "תחסום" את עצמך במהלך הגירה עתידית).

תקן 403/401 ב-/wp-admin (הרשאות, WAF, אימות בסיסי)

כאשר /wp-admin זה מחזיר שגיאת 403, ולפעמים PHP אפילו לא מבוצע. הבעיה היא אז בצד השרת.

  • הרשאות תיקיות עם 755 הרשאות, קבצים עם 644 הרשאות (ערכים סטנדרטיים). הרשאה 777 עשויה להפעיל חסימת אבטחה אצל ספקי אירוח מסוימים.
  • WAF / ModSecurity / Cloudflare חסימה חיובית כוזבת wp-login.php (במיוחד אם יש לכם ניסיונות התחברות רבים או תוסף אבטחה).
  • הגבלת IP כלל בקובץ שרת (Apache/Nginx) או בתוסף אבטחה.

בדיקה פשוטה: נסה מרשת אחרת (אינטרנט 4G). אם זה עובד, כנראה שיש לך חסימת IP/WAF.

אם יש לך קובץ .htaccess (שרת Apache/LiteSpeed), כלל יכול לחסום את המנהל. כדי לבדוק בלי לשבור דבר:

  • שם מחדש .htaccess en .htaccess.off
  • מִבְחָן /wp-admin
  • אם זה קורה שוב, צור מחדש את הקישורים הקבועים ברגע שתשוב לגישה מנהלית (הגדרות ← קישורים קבועים ← שמירה)

הערה: ב-Nginx, אין .htaccessהבעיה טמונה בקונפיגורציה של השרת.

השתמש ב-WP-CLI כדי להשבית ללא FTP (פתרון נקי)

WP-CLI זמין לעתים קרובות בתוכניות אירוח וורדפרס מנוהלות. השימוש בו חוסך זמן רב.

# Désactive tous les plugins
wp plugin deactivate --all

# Active un plugin précis
wp plugin activate nom-du-plugin

# Passe sur un thème par défaut
wp theme activate twentytwentyfive

מסמכים רשמיים: בטל את תוסף wp

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

אם אתה רואה הודעה זו, מנהל המערכת והממשק הראשי לעיתים קרובות מושבתים.

צ'קים:

  • Dans wp-config.php : DB_NAME, DB_USER, DB_PASSWORD, DB_HOST (שגיאת הקלדה נפוצה לאחר הגירה).
  • סטטוס MySQL/MariaDB בפאנל האירוח.
  • דיסק מלא / מכסות: כבר ראיתי מסד נתונים "נפל" מכיוון שהאחסון היה רווי.

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


בדיקות לאחר תיקון

פעם אחת /wp-admin עם החזרה, ודא שלא פשוט "הסתרת" את הבעיה.

  • היכנס ובדוק ש- לוח מחוונים טעינה ללא שגיאות.
  • פתח דף הגדרות (למשל, הגדרות → כללי): אם זה לא עובד שם, לפעמים זה תוסף שמוסיף שדות.
  • בדיקת העורך: מאמרים → הוספה. אם עורך הבלוקים נטען בצורה גרועה, חשד לתוסף אופטימיזציה של JS/CSS או לבלוק של REST API.
  • נקו את המטמונים: תוסף המטמון, מטמון השרת (LiteSpeed/Varnish), CDN (Cloudflare), לאחר מכן מטמון הדפדפן.
  • אם הפעלת WP_DEBUG קריאה חוזרת debug.log ולתקן כל אזהרה מתמשכת, לאחר מכן להשבית ניפוי שגיאות.

כאשר הכל יציב, החלף:

<?php
// À remettre une fois le dépannage terminé
define('WP_DEBUG', false);

אם זה עדיין לא עובד

הנה הליך שאני מיישם כאשר האתר מתקשה והסיבות מצטברות (מטמון + תוסף + שרת).

שלב 1 - ודא ש-PHP פועל

  • אם יש לך שגיאה 403/401, כנראה ש-PHP לא פועל → בעיה בשרת/WAF.
  • אם יש לך שגיאה 500, PHP פועל אך קורס → קרא את הלוגים.

שלב 2 - בידוד "core לעומת wp-content"

מבחן משמעותי מאוד: בטל תוספים והחלף ערכות נושא (פתרונות 1 ו-2). אם המנהל עדיין לא פעיל:

  • חושדים בקובץ ליבה פגום, בעיית PHP, סיומת PHP חסרה או בעיית תצורת שרת.

כבר ראיתי [מילה חסרה - כנראה "כתובת"] על נכס. OPcache שרת PHP-FPM תקוע הגיש קובץ PHP ישן לאחר עדכון. הפעלה מחדש של PHP-FPM לפעמים פותרת את הבעיה באופן מיידי.

שלב 3 - בדיקת הגרסאות (וורדפרס 6.9.4, PHP 8.1+)

  • אם ספק האירוח שלכם משתמש ב-PHP 7.4/8.0, אתם נמצאים באזור בעייתי. שאפו ל-PHP 8.1+ (8.2/8.3 יהיו נפוצים בשנת 2026).
  • תוסף ישן יכול להשתבש ב-PHP 8.1 (TypeError). הלוג יגיד לך זאת.

הפניה ל-PHP: PHP: גרסאות נתמכות

שלב 4 - בדיקת REST API (מנהל ש"פועל")

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

  • /wp-json/
  • admin-ajax.php

כביש 403/401 ב /wp-json/ זה נובע לעתים קרובות מתוסף אבטחה, WAF או הגדרה של "השבתת REST API" (רעיון גרוע ב- וורדפרס מודרני).

תיעוד REST API: מדריך REST API

שלב 5 - בדיקת הכתיבה מחדש (קישורים קבועים) וקובץ ה-.htaccess

אם ההתחברות עובדת אבל /wp-admin מחזירה 404/403 בהתאם לדף, חשד בכללי כתיבה מחדש לא עקביים.

  • בדיקה: שינוי שם .htaccess (אפאצ'י) ואז לבדוק.
  • אם המנהל חוזר: צור מחדש את הקישורים הקבועים בהקדם האפשרי.

שלב 6 - בדיקת אבטחה (תוכנות זדוניות)

אם הבעיה מופיעה "ללא סיבה", עם הפניות מוזרות, או אם הופיעו קבצים לא ידועים:

  • לִסְרוֹק wp-content (ספק אירוח, Wordfence, או כלי ייעודי);
  • בדוק את חשבונות המנהל (משתמשים לא ידועים);
  • שנה את הסיסמאות (WP + FTP + DB).

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


מלכודות וטעויות נפוצות

סימפטום סיבה סבירה פתרון מומלץ
אתה משנה קובץ והכל מחמיר אין חיסכון/שינויים בייצור שחזור גיבוי, עבודה על עותק
שגיאת PHP "שגיאת ניתוח" חסר סוגריים/נקודה-פסיק ב functions.php תקן את התחביר, השתמש בעורך עם הדגשת תחביר
הסרת קוד של מנהל המערכת לאחר הוספת קטע קוד קוד הודבק לקובץ הלא נכון (ליבה, תוסף, ערכת נושא שגויה) הכניסו את הקוד לתוסף מותאם אישית או לתוסף mu
"השבתת תוסף", אך השגיאה נשארת מטמון שרת/CDN/דפדפן נקה את התוסף + השרת + CDN + הדפדפן של ניקוי המטמון
שגיאת "קריאה לפונקציה לא מוגדרת" פונקציה שנקראה לפני טעינה (וו לא מתאים) Utiliser plugins_loaded / init + function_exists
לולאת כניסה כתובות URL וקובצי Cookie לא עקביים של HTTP/HTTPS לסדר WP_HOME/WP_SITEURLנקה עוגיות/מטמון
שגיאת 403 רק ב-wp-admin WAF/ModSecurity, הגבלת IP בדיקת רשת אחרת, רשימה לבנה, יומני WAF
"גודל הזיכרון המותר מוצה" מגבלת הזיכרון נמוכה מדי הגדלת זיכרון PHP + WP_MAX_MEMORY_LIMIT
קוד ממדריך ישן כבר לא עובד חוסר תאימות בין PHP 8.1+ ל-WordPress 6.9.4 עדכון הקוד, קריאת יומני רישום, החלפת פונקציות מיושנות

גרסה / אלטרנטיבה

שיטה ללא קוד: בדיקת בריאות (לאחר התאוששות מינימלית)

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

אני מרבה להשתמש בו באתרים עם תנועה רבה: אפשר לפתור בעיות בלי "לשבור" את החזית באמצע היום.

שיטה מתקדמת: התקנה מחדש של קבצי הליבה של וורדפרס (מבלי לגעת ב-wp-content)

אם אתם חושדים בקבצי וורדפרס פגומים (עדכון שהופרע, קבצים חסרים), תוכלו להעלות מחדש את התיקיות. wp-admin et wp-includes מהארכיון הרשמי המתאים לגרסה שלך.

  • הורד את וורדפרס מ wordpress.org/download
  • החלף רק wp-admin et wp-includes בשרת
  • אל תחליף wp-content ni wp-config.php

אם אתם רוצים לבדוק את הגרסה המדויקת, חפשו wp-includes/version.php (לקריאה בלבד) או הקובץ readme.html אם קיים.


הימנעו מבעיה זו בעתיד

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

שיטות עבודה פשוטות וטובות (שמשנות הכל)

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

צור תוסף "snippets" מותאם אישית (אמין יותר מ-functions.php)

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

איפה להיצמד : ליצור wp-content/plugins/mes-personnalisations/mes-personnalisations.php, ולאחר מכן הפעל אותו ברגע שהמנהל עובד.

<?php
/**
 * Plugin Name: Mes personnalisations
 * Description: Personnalisations stables, indépendantes du thème.
 * Version: 1.0.0
 */

if (!defined('ABSPATH')) {
    exit;
}

// Exemple : petit ajustement sans risque, chargé au bon hook.
add_action('admin_init', function () {
    // Placez ici des personnalisations admin, testées en staging.
});

ניטור בריאות האתר

דוח "תקינות האתר" (כלים → תקינות האתר) מזהה בעיות תצורה (גרסת PHP, הרחבות וכו'). כשאני משתלט על אתר לא יציב, זהו אחד המסכים הראשונים שאני בודק.

הפניה: ממשק API לבריאות האתר


משאבים


שאלות נפוצות

אני יכול לגשת לקצה הקדמי, אבל לא ל-wp-admin. האם זה נורמלי?

כן. פאנל הניהול טוען יותר סקריפטים, יותר קריאות AJAX/REST API, ומפעיל Hooks ספציפיים. תוסף יכול לשבור רק את פאנל הניהול. התחילו על ידי השבתת התוספים (פתרון 1).

שיניתי את שם תיקיית התוספים וזה לא שינה כלום. מה עליי לעשות עכשיו?

החלף את ערכת הנושא (פתרון 2), ולאחר מכן הפעל WP_DEBUG_LOG ולקרוא wp-content/debug.log (פתרון 3). אם השגיאה נמשכת כאשר תוספים מושבתים + ערכת נושא ברירת מחדל, יש לחשוד בשרת/ליבה.

האם זה מסוכן להפעיל WP_DEBUG בסביבת ייצור?

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

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

לעיתים קרובות מדובר בבעיה בכתובת האתר (HTTP/HTTPS), בקובצי Cookie או במטמון. נסה במצב גלישה פרטית, נקה את המטמון, ולאחר מכן כפה זמנית את החיבור. WP_HOME/WP_SITEURL במידת הצורך.

אני משתמש ב-Divi 5 / Avada וממשק הניהול מפגר ואז קורס. האם זה קשור?

לעיתים קרובות, כן, זה בגלל זיכרון וזמן ביצוע של PHP. תסתכלו על זה. debug.log ל Allowed memory size exhaustedהגדלת הזיכרון בצד האירוח ובאמצעות WP_MAX_MEMORY_LIMIT.

האם שגיאת 403 ב-wp-admin בהכרח אומרת שמדובר בפריצה?

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

האם אני יכול "להתקין מחדש את וורדפרס" כדי לתקן את wp-admin?

כן, אבל כמו שצריך: החלף wp-admin et wp-includes דרך קבצים רשמיים, בלי לגעת wp-content ni wp-config.phpתעשה גיבוי קודם.

מהי השיטה המהירה ביותר אם יש לי WP-CLI?

wp plugin deactivate --allלאחר מכן בדיקה. הבא wp theme activate twentytwentyfive במידת הצורך. WP-CLI חוסך לכם זמן רב בבידוד.

האם אני יכול לתקן תוסף שבור בעצמי?

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