خطای صفحه سفید وردپرس یا White Screen of Death یکی از خطاهای رایج وردپرس است که معمولاً بدون نمایش پیام مشخص ظاهر میشود. در این حالت ممکن است کل سایت، فقط پیشخوان، یا فقط یک بخش خاص از سایت سفید شود و هیچ محتوایی نمایش داده نشود.
این مشکل اغلب به دلیل خطای PHP، تداخل افزونهها، قالب ناسازگار، کمبود حافظه PHP، بروزرسانی ناقص یا تنظیمات اشتباه فایلهای وردپرس رخ میدهد. در این راهنما مراحل عیبیابی را بهترتیب بررسی میکنیم تا بتوانید علت را پیدا کرده و سایت را با کمترین ریسک به حالت عادی برگردانید.
قبل از شروع: از سایت بکاپ بگیرید
اگر هنوز به هاست، فایلمنیجر یا پنل مدیریت سرور دسترسی دارید، قبل از هر تغییری از فایلهای سایت و پایگاه داده بکاپ تهیه کنید. بسیاری از راهکارهای رفع خطای صفحه سفید شامل تغییر نام پوشه افزونهها، ویرایش فایلها یا تغییر نسخه PHP است؛ بنابراین داشتن نسخه پشتیبان ضروری است.
علتهای رایج صفحه سفید وردپرس
- تداخل یا خطای یکی از افزونهها
- مشکل در قالب فعال وردپرس
- کمبود محدودیت حافظه PHP
- خطای کدنویسی در فایلهایی مانند functions.php
- بروزرسانی ناقص وردپرس، افزونه یا قالب
- ناسازگاری نسخه PHP با افزونهها یا قالب
- مشکل در کش سایت، افزونه کش یا CDN
- خرابی فایلهای اصلی وردپرس یا سطح دسترسی نادرست فایلها
۱. بررسی کنید صفحه سفید فقط کجا دیده میشود
اول مشخص کنید مشکل دقیقاً در کدام بخش رخ میدهد. این بررسی مسیر عیبیابی را کوتاهتر میکند:
| وضعیت خطا | احتمالهای رایج |
|---|---|
| کل سایت سفید است | خطای افزونه، قالب، PHP یا فایلهای اصلی وردپرس |
| فقط پیشخوان سفید است | تداخل افزونه مدیریتی، مشکل قالب، خطای PHP در بخش مدیریت |
| فقط یک نوشته یا صفحه سفید است | خطای شورتکد، صفحهساز، قالب همان صفحه یا محتوای خاص |
| بعد از بروزرسانی رخ داده است | ناسازگاری نسخه جدید افزونه، قالب یا هسته وردپرس |
۲. کش مرورگر، سایت و CDN را پاک کنید
در برخی موارد صفحه سفید واقعی نیست و نسخه کششده یا ناقص صفحه نمایش داده میشود. ابتدا سایت را در مرورگر دیگر یا حالت ناشناس باز کنید. سپس اگر افزونه کش، کش هاست یا CDN فعال است، کش را پاک کنید.
اگر به پیشخوان دسترسی ندارید، از پنل هاست یا تنظیمات CDN کش را پاک کنید. این مرحله ساده است اما قبل از تغییرات فنی ارزش امتحان کردن دارد.
۳. حالت دیباگ وردپرس را فعال کنید
چون صفحه سفید معمولاً پیام خطا نشان نمیدهد، فعالکردن دیباگ میتواند علت اصلی را مشخص کند. برای این کار فایل wp-config.php را از طریق فایلمنیجر هاست یا FTP باز کنید و مقادیر زیر را قبل از خطی که عبارت That’s all, stop editing دارد قرار دهید یا اصلاح کنید:
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
بعد از ذخیره فایل، دوباره سایت را باز کنید و سپس فایل debug.log را در مسیر wp-content/debug.log بررسی کنید. نام افزونه، قالب یا فایل خطادار معمولاً در همین لاگ مشخص میشود.
نکته: بهتر است نمایش خطا روی سایت را فعال نکنید، چون ممکن است مسیر فایلها و اطلاعات فنی سایت برای کاربران نمایش داده شود.
۴. افزونهها را غیرفعال کنید
یکی از رایجترین دلایل صفحه سفید وردپرس، خطا یا تداخل افزونههاست. اگر به پیشخوان دسترسی دارید، همه افزونهها را موقتاً غیرفعال کنید و سپس یکییکی فعال کنید تا افزونه مشکلساز مشخص شود.
غیرفعالکردن افزونهها بدون دسترسی به پیشخوان
اگر پیشخوان هم سفید شده است، از طریق فایلمنیجر هاست یا FTP وارد مسیر wp-content شوید و نام پوشه plugins را مثلاً به plugins-disabled تغییر دهید. با این کار همه افزونهها غیرفعال میشوند.
اگر سایت بالا آمد، نام پوشه را دوباره به plugins برگردانید. سپس داخل پوشه plugins، نام پوشه افزونهها را یکییکی تغییر دهید یا از پیشخوان آنها را مرحلهبهمرحله فعال کنید تا افزونه خطادار مشخص شود.
۵. قالب سایت را به قالب پیشفرض تغییر دهید
اگر با غیرفعالکردن افزونهها مشکل حل نشد، احتمالاً قالب فعال باعث خطاست. در صورت دسترسی به پیشخوان، از بخش نمایش، قالبی پیشفرض مانند یکی از قالبهای رسمی وردپرس را فعال کنید.
اگر به پیشخوان دسترسی ندارید، از مسیر wp-content/themes نام پوشه قالب فعال را تغییر دهید. وردپرس در صورت وجود یک قالب پیشفرض سالم، تلاش میکند به قالب دیگری برگردد. اگر بعد از این تغییر سایت باز شد، باید قالب قبلی، فایل functions.php یا سازگاری قالب با نسخه PHP و وردپرس بررسی شود.
۶. محدودیت حافظه PHP را افزایش دهید
کمبود حافظه PHP میتواند باعث توقف اجرای اسکریپت و نمایش صفحه سفید شود. برای افزایش محدودیت حافظه، میتوانید در فایل wp-config.php مقدار زیر را اضافه کنید:
define(‘WP_MEMORY_LIMIT’, ‘256M’);
اگر با این تغییر مشکل حل نشد، ممکن است محدودیت اصلی از سمت هاست اعمال شده باشد. در این حالت باید مقدار memory_limit در تنظیمات PHP هاست بررسی شود یا از پشتیبانی هاست بخواهید مقدار مناسب را تنظیم کند.
۷. نسخه PHP را بررسی کنید
ناسازگاری نسخه PHP با افزونه یا قالب میتواند باعث خطای سفید شود. اگر مشکل بعد از تغییر نسخه PHP یا بروزرسانی سایت ایجاد شده، نسخه PHP را از پنل هاست بررسی کنید.
معمولاً بهتر است از نسخهای استفاده شود که با نسخه وردپرس، افزونهها و قالب سایت سازگار باشد. اگر بعد از ارتقا به نسخه جدید PHP سایت سفید شده، موقتاً به نسخه قبلی سازگار برگردید و سپس افزونهها و قالب را بروزرسانی یا جایگزین کنید.
۸. فایل .htaccess را بازسازی کنید
در سایتهای وردپرسی روی سرورهای Apache، فایل .htaccess میتواند در برخی خطاها نقش داشته باشد. برای تست، از فایل فعلی یک نسخه کپی بگیرید و سپس نام آن را مثلاً به .htaccess-old تغییر دهید.
اگر پیشخوان در دسترس قرار گرفت، وارد بخش تنظیمات پیوندهای یکتا شوید و بدون تغییر خاصی، تنظیمات را ذخیره کنید تا فایل .htaccess جدید ساخته شود. اگر سایت شما روی وبسرور دیگری مانند Nginx است، تنظیمات بازنویسی آدرسها باید از سمت کانفیگ سرور بررسی شود.
۹. فایلهای اصلی وردپرس را جایگزین کنید
اگر بروزرسانی وردپرس ناقص مانده یا فایلهای اصلی آسیب دیدهاند، ممکن است صفحه سفید ایجاد شود. در این حالت میتوانید نسخه سالم وردپرس را از سایت رسمی دریافت کرده و پوشههای wp-admin و wp-includes را جایگزین کنید.
در این مرحله به پوشه wp-content و فایل wp-config.php دست نزنید، چون اطلاعات قالبها، افزونهها، آپلودها و اتصال به پایگاه داده در آنها قرار دارد. اگر تجربه کافی ندارید، این مرحله را با احتیاط و پس از تهیه بکاپ انجام دهید.
۱۰. خطاهای مربوط به کدنویسی سفارشی را بررسی کنید
اگر قبل از سفید شدن سایت، کدی به فایل functions.php یا افزونه اختصاصی اضافه کردهاید، همان تغییر میتواند علت خطا باشد. حتی یک ویرگول، آکولاد یا دستور اشتباه در PHP ممکن است باعث متوقف شدن سایت شود.
برای بررسی، آخرین کدهای اضافهشده را موقتاً حذف یا کامنت کنید. اگر خطا مربوط به ویرایش مستقیم از داخل پیشخوان بوده و دیگر به پیشخوان دسترسی ندارید، فایل را از طریق هاست یا FTP اصلاح کنید.
۱۱. لاگ خطای هاست را بررسی کنید
علاوه بر فایل debug.log وردپرس، بسیاری از هاستها بخشی برای مشاهده Error Log دارند. این لاگ معمولاً خطاهای PHP، محدودیت منابع، مسیر فایل خطادار و زمان رخداد خطا را نمایش میدهد.
اگر در لاگ عباراتی مانند Fatal error، Allowed memory size exhausted یا نام یک افزونه خاص دیده میشود، همان مورد نقطه شروع رفع مشکل است.
۱۲. اگر صفحه سفید با خطای بحرانی وردپرس همراه است
گاهی وردپرس بهجای صفحه کاملاً سفید، پیام «یک خطای مهم در این وبسایت رخ داده است» یا همان خطای بحرانی را نشان میدهد. در این حالت ممکن است ایمیل حالت بازیابی برای مدیر سایت ارسال شده باشد. از طریق لینک بازیابی میتوانید افزونه یا قالب خطادار را غیرفعال کنید.
اگر ایمیل بازیابی دریافت نمیشود، باید مانند مراحل بالا افزونهها، قالب، لاگ خطا و نسخه PHP را بررسی کنید. این خطا از نظر ریشه فنی معمولاً به صفحه سفید وردپرس نزدیک است، اما پیام مشخصتری نمایش میدهد.
چکلیست سریع رفع صفحه سفید وردپرس
- سایت را در مرورگر دیگر یا حالت ناشناس تست کنید.
- کش سایت، افزونه کش و CDN را پاک کنید.
- دیباگ وردپرس و فایل debug.log را فعال و بررسی کنید.
- همه افزونهها را موقتاً غیرفعال کنید.
- قالب فعال را به قالب پیشفرض تغییر دهید.
- محدودیت حافظه PHP را افزایش دهید.
- نسخه PHP را از نظر سازگاری بررسی کنید.
- فایل .htaccess را بازسازی کنید.
- لاگ خطای هاست را بررسی کنید.
- در صورت نیاز فایلهای اصلی وردپرس را با نسخه سالم جایگزین کنید.
جمعبندی
برای رفع خطای صفحه سفید وردپرس باید عیبیابی را مرحلهبهمرحله انجام دهید و از تغییرات همزمان پرهیز کنید. در بیشتر موارد، علت مشکل یکی از افزونهها، قالب فعال، خطای PHP یا محدودیت حافظه است. با فعالکردن دیباگ، بررسی لاگ خطا و غیرفعالکردن کنترلشده افزونهها و قالب، معمولاً میتوان منبع خطا را پیدا کرد.
اگر بعد از انجام این مراحل همچنان سایت سفید است، بهتر است اطلاعاتی مانند آخرین تغییرات سایت، متن خطای debug.log، نسخه PHP، نام قالب و افزونههای فعال را آماده کنید تا بررسی فنی دقیقتر انجام شود.
