صفحه سفید مرگ (WSOD) در وردپرس: علت، زمان رخ دادن و روش رفع کامل
صفحه سفید مرگ (White Screen of Death – WSOD) یکی از رایجترین خطاهای وردپرس است که هم مبتدیها و هم حرفهایها ممکن است با آن مواجه شوند. این خطا معمولاً باعث میشود سایت یا پیشخوان بهصورت کامل سفید و بدون هیچ پیغام خطایی نمایش داده شود و کاربر نتواند سایت را مدیریت کند.
علتها میتوانند از افزونهها، قالبها، محدودیت حافظه PHP و حتی خطاهای کدهای سفارشی باشند. این مقاله به شما کمک میکند تا گامبهگام مشکل را شناسایی و رفع کنید.
زمان رخ دادن
- باز شدن کل سایت یا بخشهایی از آن به صورت صفحه سفید
- نمایش نشدن پیشخوان وردپرس
- معمولا بعد از:
- نصب یا بروزرسانی افزونه/قالب
- اضافه کردن کدهای سفارشی به فایل functions.php
- بارگذاری سایت با ترافیک یا محتوای سنگین
دلایل و علت دقیق بروز
- ناسازگاری قالب یا افزونهها: افزونهها یا قالبهایی که با نسخه وردپرس شما سازگار نیستند، میتوانند کل سایت را از دسترس خارج کنند.
- کمبود حافظه PHP : وقتی سایت از مقدار حافظه PHP تعریف شده فراتر میرود، هیچ پیغام خطایی نمایش داده نمیشود.
- خطاهای کد در فایلهای قالب یا functions.php : خطای سینتکس یا حلقههای نادرست میتوانند باعث WSOD شوند.
- کش و CDN : کش بیش از حد یا CDN اشتباه میتواند باعث نمایش صفحه سفید شود.
روش رفع مشکل (مرحله به مرحله)
مرحله ۱: فعالسازی حالت اشکالزدایی وردپرس
در فایل wp-config.php خطوط زیر را اضافه یا اصلاح کنید:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);خطاها در /wp-content/debug.log ذخیره میشوند.
بررسی این لاگ کمک میکند افزونه یا فایل مشکلساز را شناسایی کنید.
مرحله ۲: غیرفعال کردن تمام افزونهها
از طریق FTP یا File Manager به مسیر:
/wp-content/plugins/
بروید.
نام پوشه plugins را به plugins-old تغییر دهید.
سایت را بررسی کنید:اگر مشکل رفع شد، افزونهها یکییکی فعال شوند تا افزونه مشکلساز مشخص شود.
مرحله ۳: تغییر قالب به قالب پیشفرض وردپرس
مسیر /wp-content/themes/ را باز کنید.
قالب فعال را موقتاً تغییر نام دهید (مثلاً mytheme -> mytheme-old).
سایت به صورت خودکار قالب پیشفرض وردپرس را بارگذاری میکند.
اگر سایت بالا آمد، مشکل از قالب است. در این حالت باید:فایل functions.php و کدهای سفارشی قالب بررسی شود
نسخه قالب و سازگاری با PHP و وردپرس کنترل شود
مرحله ۴: افزایش حافظه PHP
در فایل wp-config.php مقدار حافظه PHP را افزایش دهید:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
برای سایتهای سنگین یا فروشگاهی، مقدار 512M یا بیشتر توصیه میشود.
در صورت دسترسی به سرور، میتوانید در php.ini یا .user.ini هم مقدار حافظه را افزایش دهید:
memory_limit = 256M
مرحله ۵: پاکسازی کش و CDN
اگر از افزونههای کش مانند WP Rocket، W3 Total Cache یا LiteSpeed Cache استفاده میکنید، کش را پاک کنید.
اگر از CDN استفاده میکنید، کش CDN را نیز پاکسازی نمایید.
مرحله ۶: بررسی و اصلاح کدهای سفارشی
خطاهای کد اضافه شده به functions.php یا قالب میتوانند WSOD ایجاد کنند.
از IDE یا ابزار آنلاین بررسی سینتکس PHP استفاده کنید:
PHP Code Checker
مرحله ۷: جایگزینی فایلهای هسته وردپرس
آخرین نسخه وردپرس را دانلود کنید.
پوشههای wp-admin و wp-includes را با نسخه جدید جایگزین کنید.
فایلهای اصلی سایت (wp-config.php و wp-content) تغییر نمیکنند و محتوای سایت حفظ میشود.
نکات حرفهای
- اکثر WSODها با غیرفعال کردن افزونهها و تغییر قالب به سرعت رفع میشوند.
- فعالسازی WP_DEBUG کمک میکند علت دقیق مشخص شود.
- بکاپ گرفتن قبل از هر تغییر الزامی است.
- در سایتهای بزرگ یا ووکامرس، افزایش حافظه PHP و بهینهسازی کوئریها بسیار موثر است.
برای مشاهده همه خطاهای پرتکرار وردپرس و دسترسی به سایر مقالات اختصاصی، به مقاله مرجع ما مراجعه کنید: مرجع خطاهای رایج وردپرس
