اگر تا به حال وارد سایت وردپرسی خود شدهاید و بهجای محتوای همیشگی فقط با یک صفحه کاملاً سفید و خالی مواجه شدهاید، احتمالاً با یکی از ترسناکترین خطاهای وردپرس روبهرو شدهاید: صفحه سفید مرگ ( White Screen of Death یا به اختصار WSOD).
این خطا همانطور که از نامش پیداست، بدون هیچ پیام هشدار، کد خطا یا توضیح مشخصی ظاهر میشود و همین موضوع عیبیابی آن را برای بسیاری از کاربران – حتی افراد باتجربه – دشوار میکند. در چنین شرایطی ممکن است کل سایت یا فقط بخش مدیریت (wp-admin) از دسترس خارج شود و کسبوکار آنلاین شما بهطور موقت متوقف گردد.
صفحه سفید مرگ معمولاً به دلایلی مانند تداخل افزونهها، مشکلات قالب، کمبود حافظه PHP، خطاهای کدنویسی یا ناسازگاری نسخهها رخ میدهد. خبر خوب این است که در بیشتر مواقع، این مشکل قابلحل است و با چند مرحله عیبیابی اصولی میتوان سایت را به حالت عادی بازگرداند.
در این مقاله قصد داریم بهصورت گامبهگام و کاملاً عملی، روشهای شناسایی و رفع مشکل White Screen of Death در طراحی سایت وردپرس را بررسی کنیم تا بتوانید در کمترین زمان ممکن سایت خود را بازیابی کرده و از بروز مجدد این خطا جلوگیری کنید.
صفحه سفید وردپرس White Screen of Deathچیست؟
صفحه سفید وردپرس یا همان White Screen of Death (WSOD) یکی از رایجترین و در عین حال گیجکنندهترین خطاهایی است که در سایتهای وردپرسی رخ میدهد. این خطا زمانی اتفاق میافتد که وردپرس بهدلیل وجود یک مشکل داخلی قادر به بارگذاری صحیح سایت نیست و بهجای نمایش محتوا، تنها یک صفحه کاملاً سفید و بدون هیچ پیام خطا نشان میدهد.
در بسیاری از خطاهای وردپرس، معمولاً یک پیام مشخص مانند خطای 500 یا خطای پایگاه داده نمایش داده میشود که روند تشخیص ایراد را آسانتر میکند. اما صفحه سفید مرگ هیچ اطلاعاتی ارائه نمیدهد؛ نه پیام خطا، نه هشدار و نه حتی یک کلمه. این خلأ اطلاعاتی باعث میشود عیبیابی برای کاربران، مخصوصاً افراد تازهکار، چالشبرانگیز باشد.
این مشکل میتواند فقط بخش فرانتاند سایت (نمایش برای کاربران)، فقط داشبورد مدیریت (wp-admin) یا حتی هر دو بخش را بهطور همزمان درگیر کند. در نتیجه، ممکن است سایت از دید کاربران از دسترس خارج شود یا شما نتوانید وارد پیشخوان شوید تا مشکل را برطرف کنید.
صفحه سفید وردپرس معمولاً به دلایل مختلفی از جمله تداخل افزونهها، قالبهای ناسازگار، مصرف بیش از حد حافظه PHP، وجود کدهای معیوب در فایلهای پوسته یا افزونهها، و حتی خرابی فایلهای اصلی وردپرس ایجاد میشود. نکته مثبت اینجاست که اغلب این عوامل قابل بررسی و رفع هستند و با طی کردن روشهای اصولی عیبیابی میتوان این خطا را در مدت کوتاهی برطرف کرد.
روش های رفع مشکل صفحه مرگ در وردپرس
خطای صفحه سفید مرگ در وردپرس معمولاً بهدلیل وجود یک اختلال داخلی در سایت رخ میدهد و برای رفع آن میتوان از چند روش مطمئن و مؤثر استفاده کرد. هرچند علت اصلی این خطا در سایتهای مختلف متفاوت است، اما معمولاً با فعالسازی حالت خطایاب، بررسی افزونهها، تست قالب و تنظیمات PHP میتوان مشکل را شناسایی و برطرف کرد.
-
فعال کردن دیباگ در ودپرس
یکی از اولین و مؤثرترین اقدامها برای شناسایی دلیل صفحه سفید، فعالسازی حالت دیباگ (Debug Mode) است. با فعال کردن این حالت، وردپرس بهجای نمایش صفحه سفید، خطاهای داخلی را نشان میدهد یا در فایل لاگ ذخیره میکند.
برای فعالسازی دیباگ کافی است وارد فایل wp-config.php شوید و خط زیر را اضافه یا مقدار آن را تغییر دهید:
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
پس از فعالسازی، خطاها در مسیر wp-content/debug.log ذخیره میشوند و شما میتوانید علت بروز مشکل را بهطور مستقیم مشاهده و بررسی کنید.
-
افزایش حجم php
یکی از دلایل رایج ایجاد WSOD، کمبود حافظه PHP است. زمانی که وردپرس یا افزونهای نیاز به منابع بیشتری دارد اما سرور توان اختصاص آن مقدار حافظه را ندارد، صفحه سفید ظاهر میشود. برای رفع این مشکل میتوانید مقدار حافظه PHP را افزایش دهید. این کار معمولاً با افزودن کد زیر به فایل wp-config.php قابل انجام است:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
در صورت محدودیت سمت سرور، ممکن است نیاز داشته باشید از طریق هاست (فرقی نمیکند هاست سی پنل یا هاست دایرکت ادمین )یا مدیر سرور مقدار حافظه را افزایش دهید. افزایش حافظه میتواند بار اضافی اسکریپتها را مدیریت کرده و از بروز خطا جلوگیری کند.
-
غیر فعال کردن تک تک افزونهها و تست کردن
بسیاری از مواقع، تداخل یا خرابی یک افزونه باعث بروز صفحه سفید میشود. سادهترین روش برای شناسایی افزونه معیوب، غیرفعالسازی همه افزونهها و سپس فعالسازی مرحلهای آنهاست.
اگر به پیشخوان دسترسی ندارید، از طریق فایل منیجر هاست وارد مسیر wp-content شوید و پوشه plugins را به نامی مثل plugins-disabled تغییر دهید. این کار تمام افزونهها را غیرفعال میکند. اگر سایت بالا آمد، مشخص میشود که مشکل از یکی از افزونهها بوده است. سپس با تغییر نام پوشه افزونهها به حالت قبلی و فعالسازی تکتک افزونهها، میتوان افزونه مشکلدار را پیدا کرد.
-
جایگزینی قالب با قالب پیش فرض از طریق هاست وپیشخوان
قالبهای وردپرس نیز مانند افزونهها ممکن است دچار خطا شوند. اگر قالب شما دارای کدهای ناسازگار یا خطای برنامهنویسی باشد، سایت ممکن است تنها صفحه سفید را نمایش دهد.
برای آزمایش این موضوع میتوانید از طریق پیشخوان قالب سایت را به یکی از قالبهای پیشفرض وردپرس مثل Twenty Twenty-Three تغییر دهید. اگر به پیشخوان دسترسی ندارید، از طریق هاست وارد wp-content/themes شوید و پوشه قالب فعلی را تغییر نام دهید تا وردپرس بهطور خودکار به قالب پیشفرض سوئیچ کند. اگر سایت بدون مشکل بالا آمد، مشخص است که مشکل از قالب بوده است.
-
اضافه کردن کد به فایل wp-config
گاهی برای رفع خطای WSOD نیاز است خطوط خاصی به فایل wp-config.php اضافه شود تا عملکرد وردپرس اصلاح شود. برخی از این کدها مربوط به افزایش حافظه، غیرفعال کردن کش داخلی، یا تغییر تنظیمات خاص سروری هستند. بهعنوان مثال، اگر مشکل از کش باشد، افزودن خط زیر میتواند کمک کند:
define(‘WP_CACHE’, false);
یا اگر بخواهید محدودیت اجرای اسکریپتها را کنترل کنید:
set_time_limit(300);
-
پاک کردن حافظه پنهان مرورگر
گاهی اوقات صفحه سفید مرگ در واقع نتیجه یک نسخه کششده و قدیمی از سایت در مرورگر است. در این حالت، حتی اگر مشکل اصلی سایت رفع شده باشد، مرورگر همچنان نسخه ناقص یا خراب را نمایش میدهد. پاک کردن حافظه پنهان مرورگر باعث میشود مرورگر دوباره فایلهای سایت را از سرور دریافت کند. این کار ساده اما مؤثر است و میتواند در بسیاری از مواقع مشکل نمایش صفحه سفید را برطرف کند، مخصوصاً زمانی که سایت با موبایل یا دستگاههای مختلف تست میشود و فقط روی یک مرورگر مشکل دیده میشود.
-
پاک کردن حافظه کش پلاگین های وردپرس
اگر از افزونههای کش مانند WP Super Cache، LiteSpeed Cache، W3 Total Cache یا WP Rocket استفاده میکنید، ممکن است نسخه خراب یا ناقص کش سایت باعث صفحه سفید شود. این پلاگینها گاهی فایلهای HTML و CSS را بهصورت فشرده ذخیره میکنند و اگر هنگام ساخت کش مشکلی رخ دهد، نتیجه آن نمایش صفحه سفید خواهد بود. پاک کردن کش این افزونهها از طریق پیشخوان یا در صورت عدم دسترسی، حذف فایلهای کش از مسیر wp-content/cache میتواند باعث بازسازی صحیح فایلهای سایت و رفع مشکل شود.
-
ساخت فایل php.ini
یکی دیگر از روشهای کاربردی برای رفع خطای مربوط به محدودیتهای PHP، ایجاد یک فایل php.ini در پوشه اصلی سایت است. این فایل به شما امکان میدهد محدودیتهای مربوط به حافظه، زمان اجرای اسکریپت، حجم آپلود، و تنظیمات حساس PHP را افزایش دهید. برای نمونه، میتوانید کدهای زیر را در php.ini قرار دهید:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M
ساخت و اعمال این فایل بهویژه زمانی مؤثر است که تنظیمات سرور بهصورت پیشفرض محدود باشد و امکان تغییر مستقیم از طریق هاستینگ وجود نداشته باشد. این روش میتواند به رفع خطاهایی که منجر به صفحه سفید شدهاند کمک کند.
-
دیسیبل کردن تمام افزونه ها برای رفع خطا
گاهی تنها راه برای متوقف کردن خطاهای ناشی از افزونهها این است که تمام افزونهها را یکجا غیرفعال کنیم. این کار بهخصوص زمانی لازم میشود که دسترسی به پیشخوان وردپرس وجود نداشته باشد و خطا مستقیماً بهدلیل عملکرد اشتباه یکی از افزونهها ایجاد شده است.
برای این کار کافی است از طریق فایل منیجر یا FTP وارد پوشه wp-content شوید و نام پوشه plugins را تغییر دهید، مثلاً به plugins-off. وردپرس بلافاصله تمام افزونهها را غیرفعال میکند. اگر سایت دوباره بالا آمد، مشخص است که مشکل از یکی از افزونهها بوده و میتوانید با فعالکردن مجدد پوشه و آزمایش تکتک افزونهها، افزونه ناسازگار را پیدا کنید.
-
بررسی دسترسی مجوز های پوشه ها
اگر سطح دسترسی فایلها و پوشههای وردپرس بهدرستی تنظیم نشده باشد، سرور ممکن است نتواند فایلهای ضروری را اجرا کند و نتیجه آن صفحه سفید شود. وردپرس معمولاً به سطوح دسترسی زیر نیاز دارد:
- پوشهها: 755
- فایلها: 644
اگر سطح دسترسی اشتباه باشد (برای مثال به 777 تغییر کرده باشد)، سرویسدهنده ممکن است اجرای فایلها را مسدود کند. بررسی و اصلاح مجوزها از طریق هاست یا FTP میتواند به رفع خطا کمک کرده و از مشکلات امنیتی نیز جلوگیری کند. این روش مخصوصاً زمانی ضروری است که اخیراً تغییری در سرور یا انتقال سایت انجام شده باشد.
-
محدودیت منابع هاست وسفید شدن پیشخوان وردپرس
گاهی مشکل صفحه سفید فقط در پیشخوان وردپرس دیده میشود و سایت اصلی بدون مشکل بارگذاری میشود. در چنین شرایطی، معمولاً دلیل مشکل کمبود منابع سرور مانند CPU، RAM یا محدودیت I/O است. افزونههایی که نیاز به پردازش سنگین دارند، درخواستهای زیاد، یا هاست اشتراکی شلوغ میتواند باعث این محدودیت شود.
وقتی منابع سرور به پایان میرسد، وردپرس قادر به بارگذاری کامل داشبورد نیست و پیشخوان به حالت سفید درمیآید. ارتقای پلن هاست، بررسی منابع مصرفی، غیرفعال کردن افزونههای سنگین یا بهینهسازی دیتابیس میتواند این مشکل را رفع کند. در برخی موارد نیز فعالسازی دیباگ یا بررسی لاگ سرور علت دقیق را مشخص میکند.