چگونه آن را برطرف کنیم؟؛ خطای صفحه سفید مرگ (WSoD) چیست و
تصور کنید وقتی میخواهید وارد وبسایت وردپرسیتان شوید، فقط یک صفحه جامعا سفید ببینید، بدون هیچ خطایی یا حتی بدون اینکه هیچ سرنخی از اینکه چه اتفاقی افتاده است داشته باشید! این مشکل که با نام خطای صفحه سفید مرگ (WSoD) شناخته میشود، میتواند دلایل مختلفی از تداخل افزونهها و قالب گرفته تا کمبود حافظه یا خطاهای PHP داشته باشد. اما جدای از نام ترسناک این مشکل، در بسیاری از موارد میتوان با چند ارزیابی ساده، علت را مشخص و مشکل را رفع کرد. این مطلب از بخش آموزش مدیریت محتوا در بلاگ پارسپک به شما بیان میدهد که صفحه سفید مرگ وردپرس چرا ایجاد میشود و چطور میتوان آن را حل کرد.
خطای صفحه سفید وردپرس به وضعیتی گفته میشود که در آن، کل سایت یا بخشی از آن، بدون نمایش محتوای معمول و گاهی بدون هیچ پیغام خطایی، فقط به صورت یک صفحه سفید ظاهر میشود. این مشکل که آن را بیشتر در وبسایتهای وردپرسی میبینیم، ممکن است فقط در فرانتاند سایت یا در پیشخوان و یا در هر دو این قسمتها دیده شود.
صفحه سفید وردپرس معمولا نشاندهنده یک خطای فنی در اجرای سایت است. به عنوان مثال خطای PHP، تداخل پلاگینهای مختلف با قالب، کمبود حافظه و یا مشکل در فایلهای اصلی هسته وردپرس، میتوانند علت بروز این مشکل باشند.
سرعت و پایداری بینظیر، پنل کاربری پیشرفته، توانایی بکاپگیری خودکار و انتقال هاست از طریق لینک فول بکآپ را با خریداری هاست وردپرس از پارسپک دریافت کنید. برای خریداری این سرویس روی لینک زیر کلیک کنید:
در قسمت قبلی به این مسئله اشاره کردیم که خطای صفحه سفید سایت وردپرس معمولا زمانی رخ میدهد که اجرای یک بخش از وبسایت با مشکل مواجه شود. رایجترین دلایل این مشکل عبارتاند از:
۲۵ مورد از متداولترین انواع خطای وردپرس و راهحل رفعشان را در مقاله زیر بخوانید:
انواع خطای وردپرس
برای رفع صفحه سفید مرگ وردپرس، بهتر است عیبیابی را از روشهای سادهتر شروع کار کنید و در صورت حل نشدن مشکل، به سراغ تنظیمات فنیتر بروید. از سوی دیگر قبل از تغییر فایلهای وردپرس، قالب یا تنظیمات PHP، بهتر است یک ویرایش پشتیبان از سایت داشته باشید تا در صورت بروز مشکل، بتوانید شرایط را به حالت قبل برگردانید. در ادامه، نحوه حل مشکل صفحه سفید در وردپرس را تبیین دادهایم:
گاهی مشکل اصلی سایت برطرف شده، اما مرورگر یا افزونه کش همچنان نسخه جدید قبلی و معیوب صفحه را نمایش میدهد. در این شرایط پاک کردن کش مرورگر، باز کردن سایت در حالت Incognito و پاکسازی کش افزونههای وردپرس میتواند مشخص کند که مشکل واقعا همچنان وجود دارد یا فقط نسخه جدید ذخیرهشده صفحه نمایش داده میشود. اگر هاست شما کش سمت سرور یا CDN هم دارد، بهتر است آن بخش نیز پاکسازی شود.
آموزش بهترین روشهای پاک کردن کش وردپرس را در مقاله زیر بخوانید:
پاک کردن کش وردپرس
تداخل یا خرابی افزونهها یکی از دلایل رایج WSoD (White Screen of Death) است. اگر به پیشخوان وردپرس دسترسی دارید، همه افزونهها را موقتا غیرفعال کنید و سپس آنها را یکییکی فعال کنید تا افزونه مشکلساز مشخص شود. اگر پیشخوان در دسترس نیست، از File Manager هاست یا FTP وارد مسیر wp-content/plugins شوید.
سپس نام پوشه Plugins را موقتا تغییر دهید. اگر با این کار سایت دوباره در دسترس قرار گرفت، احتمال زیادی وجود دارد که یکی از افزونهها عامل ایجاد خطا باشد.
بهترین و کارآمدترین روشهای عیبیابی در وردپرس را در مقاله زیر بخوانید:
نحوه عیبیابی وردپرس
گاهی مشکل از قالب فعال سایت یا ناسازگاری آن با ادیشن PHP، وردپرس یا یکی از افزونهها ایجاد میشود. در این شرایط میتوان به صورت موقت یکی از قالبهای پیشفرض وردپرس را فعال کرد.
اگر به پیشخوان دسترسی ندارید، از مسیر wp-content/themes وارد پوشه قالبها شوید. سپس نام پوشه قالب فعال را تغییر دهید تا وردپرس نتواند آن را بارگذاری کند. اگر سایت بعد از این تغییر نمایش داده شد، باید قالب و کدهای آن را دقیقتر ارزیابی کنید.
از آنجا که خطای صفحه سفید مرگ معمولا دادهها واضحی درباره علت خطا نمایش نمیدهد، فعالسازی Debug وردپرس میتواند برای پیدا کردن خطای اصلی مفید باشد. برای این کار فایل wp-config.php را باز کرده و تنظیمات زیر را روی فایل اعمال کنید:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
نحوه انجام این کار در شکل زیر نشان داده شدهاست.
بعد از فعالسازی، خطاها معمولا در فایل wp-content/debug.log ثبت میشوند. تحلیل این فایل میتواند نشان دهد کدام افزونه، قالب یا فایل PHP باعث ایجاد مشکل شده است. پس از رفع خطا بهتر است Debug دوباره غیرفعال شود.
یکی دیگر از دلایلی که میتواند باعث خطای صفحه مرگ سفید شود، کمبود حافظه PHP است. اگر حین مرور لاگهای هاست یا سرور با خطاهایی مانند Allowed memory size exhausted روبهرو شدید، مرور و صعود Memory Limit میتواند مشکل را برطرف کند.
این مقدار بسته به نوع هاست از طریق تنظیمات PHP، فایل php.ini، فایل .htaccess یا کنترلپنل هاست قابل تغییر است. اگر صعود حافظه فقط به صورت موقت مشکل را حل کرد، بهتر است افزونهها یا پردازشهایی که مصرف منابع بالایی دارند نیز ارزیابی شوند.
اگر صفحه سفید بعد از تغییر فایلهایی مانند functions.php، اضافه کردن کد سفارشی یا ویرایش قالب و افزونه ایجاد شده باشد، احتمال وجود خطای نحوی یا برنامهنویسی وجود دارد.
مرور فایل debug.log و Error Log هاست میتواند نام فایل و خط ایجادکننده مشکل را مشخص کند. در این شرایط میتوان کد معیوب را اصلاح کرد یا فایل را با ویرایش سالم قبلی جایگزین کرد.
اگر WSoD بلافاصله پس از یک تغییر مشخص مانند ویرایش فایل، نصب افزونه یا تغییر قالب ایجاد شده باشد، بازگردانی ویرایش پشتیبان میتواند سایت را با سرعتتر به وضعیت پایدار برگرداند.
البته Restore بکآپ بیشتر از اینکه علت اصلی مشکل را مشخص کند، یک راه بازیابی است، به عبارت دیگر بعد از بالا آمدن سایت همچنان بهتر است مشخص شود کدام تغییر باعث بروز خطا شده تا مشکل دوباره تکرار نشود.
در مقاله زیر به ارزیابی آموزش تصویری تهیه و بازگردانی بکاپ در دایرکت ادمین میپردازیم:
تهیه و بازگردانی بکاپ در دایرکت ادمین
ناتمام ماندن آپدیت وردپرس، افزونه یا قالب میتواند باعث ناقص شدن فایلها و ایجاد خطای صفحه سفید شود. این مشکل ممکن است در اثر قطع شدن ارتباط، محدودیت منابع یا متوقف شدن فرایند Update رخ دهد.
از سوی دیگر وردپرس هنگام بهروز رسانی فایلی با نام maintenance. ایجاد میکند. اگر این فایل پس از خاتمه فرایند همچنان باقی مانده باشد، حذف آن پس از اطمینان از متوقف شدن Update میتواند مشکل را برطرف کند.
Permission نادرست فایلها و پوشهها ممکن است مانع دسترسی صحیح وردپرس یا وبسرور به فایلهای موردنیاز شود. به همین دلیل، اگر سطح دسترسی فایلها در روزهای گذشته تغییر کرده است، بهتر است تنظیمات آنها تحلیل شود.
در بسیاری از سرورها از سطح دسترسی ۷۵۵ برای پوشهها و ۶۴۴ برای فایلها استفاده میشود، هرچند مقدار دقیق میتواند به تنظیمات هاست بستگی داشته باشد. استفاده از سطح دسترسی ۷۷۷ نیز به دلیل ریسک امنیتی توصیه نمیشود. نحوه اعمال این تنظیمات در سیپنل، در شکل زیر نشان داده شده است.
اگر صفحه سفید فقط هنگام باز کردن یا ویرایش یک نوشته یا برگه خاص ایجاد میشود، ممکن است همان صفحه منابع بیشتری از حد معمول مصرف کند. محتوای بسیار طولانی، تعداد زیاد Revisionها، بلوکهای پیچیده یا Page Builderهای سنگین میتوانند فشار بیشتری به PHP وارد کنند. در چنین شرایطی میتوان حجم صفحه، Revisionهای اضافی و بخشهایی که پردازش بیشتری نیاز دارند را مرور کرد.
Error Log سرور یکی از کاربردیترین منابع برای پیدا کردن علت خطای صفحه سفید مرگ است. این لاگ میتواند شرحی درباره خطاهای PHP، محدودیت منابع، فایلهای معیوب یا پردازشهای متوقفشده نمایش دهد. تحلیل زمان ثبت خطا و مقایسه آن با زمان ایجاد صفحه سفید معمولا کمک میکند با سرعتتر مشخص شود مشکل از کدام بخش سایت یا سرور ایجاد شده است.
اگر با ارزیابی افزونهها، قالب، Debug، حافظه و لاگها همچنان علت مشکل مشخص نشد، ممکن است خطا به تنظیمات سرور، ادیشن PHP، محدودیت منابع یا مواردی مرتبط باشد که از داخل وردپرس قابل تغییر نیستند.
در این مرحله بهتر است گزارشهای مانند زمان آغاز مشکل، آخرین اصلاحات سایت و خطاهای ثبتشده در لاگ را در اختیار پشتیبانی هاست قرار دهید تا تحلیل دقیقتری روی سرور انجام شود.
گاهی خطای صفحه سفید مرگ فقط در پیشخوان وردپرس دیده میشود، یعنی ممکن است سایت برای کاربران عادی همچنان باز شود، اما هنگام ورود به wp-admin صفحهای سفید یا ناقص نمایش داده شود. این مشکل معمولا زمانی رخ میدهد که یکی از بخشهای مرتبط با مدیریت وردپرس به درستی اجرا نشود. تداخل افزونهها، خطا در کدهای سفارشی، کمبود حافظه PHP، ناسازگاری ادیشن PHP با وردپرس یا ناقص ماندن یک بهروز رسانی میتواند باعث بروز این وضعیت شود.
برای رفع این مشکل میتوان از همان روشهایی استفاده کرد که در بخش قبل شرح داده شدند. غیرفعالسازی افزونهها، فعالسازی حالت دیباگ، ارزیابی لاگ سرور، بیشتر شدن محدودیت حافظه PHP و مرور آپدیتهای ناموفق از مهمترین روشهایی هستند که باید ارزیابی شوند. اما اگر فقط پیشخوان سفید شده باشد و بخش عمومی سایت همچنان در دسترس باشد، بهتر است ابتدا افزونههایی ارزیابی شوند که مستقیما روی محیط مدیریت اثر میگذارند. افزونههای امنیتی، صفحهسازها و علاوه بر این افزونههای کش از جمله مواردی هستند که ارزیابی آنها میتواند شما را به علت اصلی بروز خطای صفحه سفید مرگ نزدیک کند.
خطای صفحه سفید مرگ شاید در نگاه اول نگرانکننده به نظر برسد، اما در بسیاری از مواقع میتوان با یک عیبیابی مرحلهای، علت آن را پیدا کرد و سایت را به حالت عادی برگرداند. در این گزارش از بلاگ پارسپک ابتدا علت سفید بودن صفحات سایت و بروز این مشکل را تحلیل کردهایم و سپس راهحل رفع این خطا را نیز شرح دادهایم. البته باید به این نکته توجه کنید که استفاده از هاست وردپرس با منابع مناسب، در بسیاری موارد میتواند از بروز این مشکل جلوگیری کند.
خطای صفحه سفید مرگ یا WSoD زمانی رخ میدهد که سایت یا پیشخوان وردپرس بدون نمایش محتوای معمول، به صورت یک صفحه سفید نمایش داده میشود. این مشکل معمولا در اثر خطاهای PHP، تداخل افزونهها، مشکل قالب یا محدودیت منابع ایجاد میشود.
بله. ناسازگاری یا خرابی یک افزونه میتواند اجرای وردپرس را مختل کند و باعث نمایش صفحه سفید شود. غیرفعالسازی موقت افزونهها یکی از روشهای رایج برای پیدا کردن افزونه مشکلساز محسوب میشود.
اگر فرانتاند سایت در دسترس باشد اما پیشخوان سفید نمایش داده شود، بهتر است ابتدا افزونههای مرتبط با مدیریت، خطاهای PHP، حافظه PHP و لاگهای سرور ارزیابی شوند. فعالسازی حالت دیباگ نیز میتواند به پیدا کردن علت اصلی مشکل کمک کند.
خود خطای WSoD معمولا باعث حذف دادهها سایت نمیشود، اما ممکن است دسترسی به بخشهایی از سایت را مختل کند. با این حال، قبل از انجام دگرگونیها فنی یا بازیابی فایلها بهتر است از سایت ویرایش پشتیبان تهیه شود.
