صفحه سفید مرگ وردپرس یا The WordPress White Screen Of Death یکی از مشکلاتی هستش که ممکنه برای سایت وردپرسی شما هم پیش اومده باشه، در این حالت همونطور که از نام این مشکل مشخص هستش شما به هر بخش از سایت از جمله پیشخوان وردپرس و یا صفحات اصلی سایت مراجعه کنید هیچ محتوایی جز یک صفحه سفید بهتون نمایش داده نخواد شد. این مشکل در دو حالت ممکن برای شما ممکنه تا پیش بیاد:
- در خوشبینانهترین حالت یکی از بخشهای سایت یعنی پیشخوان وردپرس و یا صفحات سایت به این شکل خواهند بود.
- در بدبینانهترین حالت هر دو بخشهای پیشخوان وردپرس و صفحات سایت به این شکل خواهند بود که کار را برای رفع مشکلی کمی زمانبر خواهند کرد.
صفحه سفید مرگ وردپرس معمولا به دلیل خطاهای برنامه نویسی php یا محدودیتهای اعمال شده بر روی حافظه رخ میده که اگر سمت کاربر مشکلی داشته باشه و پیشخوان وردپرس کاملا سالم و عادی باشه شانس بهتری برای رفع خطای صفحه سفید مرگ وردپرس خواهید داشت. حال در ادامه به بررسی و آموزش رفع صفحه سفید مرگ وردپرس در وردپرس میپردازم، پس تا انتها با ما همراه باشید.
حل مشکل صفحه سفید مرگ وردپرس
همونطور که اشاره کردم صفحه سفید مرگ وردپرس بیشتر به دلیل خطاهای برنامهنویسی که میتونه با عدم هماهنگی چند افزونه یا هماهنگ نبودن کدهای سایت با قالب و محدودیت در حافظه وردپرس رخ بده که در هر صورت ابتدا باید به شناسایی مشکل بپردازید و بعد از اینکه دونستید مشکل از کجاست اونو رفع کنید. صفحه سفید مرگ وردپرس در هر مرورگر به شکلهای گوناگونی نمایش داده خواهد شد، به عنوان نمونه در مرورگر گوگل کروم اونو به شکل زیر خواهید دید.
در سایر مرورگرها همچون فایرفاکس هم شما با یک صفحه سفید و بدون محتوا مواجه خواهید شد که هیچ نوشته و محتوای خاصی در اون به شما نمایش داده نخواهد شد. حالا که با این صفحه مواجه شدید در ادامه به راهکارهایی که برای رفع اون وجود داره میپردازیم.
فعال کردن حالت دیباگ وردپرس
حالت دیباگ وردپرس بهترین راهکاری هستش که با استفاده از اون می تونیم بدونیم که مشکل ما از کجا خواهد بود. بنابراین برای فعال کردن اون کافیه تا به قسمت File Manager در هاست مراجعه کرده و سپس فایل wp-config.php که در مسیر public_html قرار دارد را انتخاب کرده و با راست کلیک کردن و انتخاب گزینه Edit نسبت به ویرایش اون اقدام کنید. در صفحه ویرایش فایل که براتون باز میشه به دنبال قطعه کد زیر باشید.
define( 'WP_DEBUG', false );
اگر هم این خط وجود نداره اونو به فایل اضافه کنید و مقدار اون را برای فعال کردن به true برگردونید، بنابراین برای اینکه حالت دیباگ فعال باشه باید کد بالا را به شکل زیر تغییر بدین که به جای false مقدار true در اون قرار داده شده باشد.
define( 'WP_DEBUG', true);
حالا بعد از اینکه فایل را ذخیره کردید سایت را رفرش کنید، در این صورت به جای صفحه سفیدی که به شما نمایش داده میشد، حالا با نوشتههایی مثل زیر روبهرو خواهید شد که در اون مسیر خطا و خط خطا به شما نشون داده شده و برای رفع مشکل کافیه تا به مسیرهای ذکر شده در هر خط مراجعه کنید تا مشکل را برطرف کنید.
Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38
در نمونه بالا خطای ما در یکی از افزونهها رخ داده که به نام افزونه my-test-plugin هستش و این خطا دقیقا در خط ۳۸ فایل my-test-plugin.php که در این افزونه قرار داده رخ داده که کافیه خط ۳۸ این فایل را بررسی کنیم و ببینیم که مشکل از کجاست و اونو رفع کنیم. اگر هم با کدنویسی آشنایی ندارید کافیه تا با تغییر نام پوشه افزونه مورد نظر که در مرحله بعد اونو یاد میگیرید افزونه را در صورتی که به پیشخوان وردپرس دسترسی ندارید غیرفعال کنید تا مشکل برطرف شده و سپس از نویسنده افزونه بخواهید تا شما را راهنمایی کند.
غیرفعال کردن افزونهها
عمده ترین دلیل برای رخ دادن صفحه سفید مرگ وردپرس از سمت افزونهها بروز میکنه که برای رفع اون کافیه تا افزونهها را غیرفعال کرده و با فعال کردن یکی یکی افزونهها به افزونهای که باعث مشکل شده برسید و اونو رفع کنید.
اما همونطوری که اشاره کردم این خطا ممکنه در دو حالت مختلف رخ بده به این صورت که یا یکی از بخشهای سمت کاربر و پیشخوان وردپرس این مشکل را داشته باشند و یا اینکه هر دو بخش این مشکل را داشته باشند، پس اگر به پیشخوان وردپرس دسترسی دارید کافیه تا به مسیر افزونهها مراجعه کرده و با انتخاب همه افزونههای فعال سایت به یک باره کل افزونهها را غیرفعال کرده و در مرحله بعدی یکی یکی افزونهها را فعال کرده و در هر بار سایت را باز کرده و رفرش کنید تا افزونهای که باعث ایجاد مشکل شده است را پیدا کنید.
اما اگر به پیشخوان وردپرس دسترسی ندارید میتونید تا از طر
در هاست سی پنل
یق هاست کلیه افزونهها را یکباره غیرفعال کنید. برای این منظور ابتدا وارد هاست خودتون شده و سپس به قسمت File Manager در هاست مراجعه کنید.
حالا بعد از اینکه وارد مدیریت فایل در هاست شدید وارد مسیر /public_html/wp-content/ شوید، همونطور که در تصویر مشاهده میکنید پوشهای به نام plugins وجود داره که در این پوشه هر افزونهای که نصب میکنید قرار خواهد گرفت.
حالا کافیه تا با راست کلیک کردن و انتخاب گزینه Rename پوشه plugins را به یک نام دیگه مثل pligins_old تغییر داده و سپس مجددا اونو به نام plugins تغییر نام بدین تا کلیه افزونهها غیرفعال شده و از این طریق اگر مشکل صفحه سفید مرگ وردپرس در سایت شما اگر از سمت افزونهها باشه قادر به دسترسی پیشخوان وردپرس خواهید بود و حالا میتونید یکی یکی افزونهها را فعال و تست کنید تا به افزونهای که در سایت مشکل ایجاد کرده برسید و شناساییش کنید.
در هاست دایرکت ادمین
برای انجام کارهای فوق در هاست دایرکت ادمین ابتدا وارد هاست خود شده و سپس مشابه تصویر زیر در هاست دایرکت ادمین روی دکمه File Manager کلیک کنید تا به صفحه مدیریت فایل در دایرکت ادمین هدایت شوید. سپس به دایرکتوری /public_html/wp-content/ در هاست دایرکت ادمین مراجعه کنید.
بعد از اینکه به مسیر فوق مراجعه کردید مشابه تصویر زیر روی دکمه Rename که در مقابل پوشه plugins قرار دارد کلیک کنید تا به صفحه تغییر نام پوشه هدایت شوید.
بعد از این مرحله وارد صفحهای مشابه تصویر زیر خواهید شد که کافیه پوشه plugins را به یک نام دیگه مثل pligins_old تغییر داده و سپس مجددا اونو به نام plugins تغییر نام بدین تا کلیه افزونهها غیرفعال شده و از این طریق اگر مشکل صفحه سفید مرگ وردپرس در سایت شما اگر از سمت افزونهها باشه قادر به دسترسی پیشخوان وردپرس خواهید بود.
غیرفعال کردن قالب و استفاده از قالب پیشفرض وردپرس
دلیل دیگهای هم که میتونه برای نمایش صفحه سفید مرگ وردپرس رخ بده ممکنه تا از قالب فعلی سایت شما باشه که از اون استفاده میکنید، برای این منظور هم مشابه کاری که در افزونهها انجام میدیم میتونیم تا با استفاده از قالب پیشفرض وردپرس مطمئن بشیم که مشکل از قالب هست یا نه. بنابراین اگر به پیشخوان وردپرس دسترسی دارید به مسیر نمایش> پوشتهها مراجعه کرده و سپس یکی از پوستههای پیشفرض وردپرس را فعال کنید و سایت را باز کنید و ببینید که مشکل برقرار هست یا نه.
در هاست سی پنل
اما اگر به پیشخوان وردپرس دسترسی ندارید وارد هاست سی پنل خود شده و در بخش File Manager به مسیر /public_html/wp-content/themes/ مراجعه کنید، سپس با راست کلیک کردن و انتخاب گزینه Rename در این پوشه نام قالبی را که در سایت فعال هستش رو به یک نام دیگه تغییر بدین تا قالب پیشفرض وردپرس به عنوان قالب انتخاب بشه.
در این صورت اگر مشکل از قالب باشه خطای این صفحه رفع شده و حالا میتونید تا کدهای قالبتون را بررسی کنید و ببینید مشکل از کجاست که با صفحه سفید مرگ وردپرس مواجه شدید.
در هاست دایرکت ادمین
برای انجام کارهای فوق در هاست دایرکت ادمین ابتدا وارد هاست خود شده و سپس مشابه تصویر زیر در هاست دایرکت ادمین روی دکمه File Manager کلیک کنید تا به صفحه مدیریت فایل در دایرکت ادمین هدایت شوید. سپس به دایرکتوری /public_html/wp-content/themes/ در هاست دایرکت ادمین مراجعه کنید.
بعد از اینکه به مسیر فوق مراجعه کردید مشابه تصویر زیر روی دکمه Rename پوشه قالبی که در حال حاضر بر روی سایت فعال هستش و قرار داره کلیک کنید تا به صفحه تغییر نام پوشه هدایت شوید.
بعد از این مرحله وارد صفحهای مشابه تصویر زیر خواهید شد که کافیه یک نام دلخواه برای پوشه قالب انتخاب کرده و اون را به یک نام دیگه مثل theme تغییر نام داده و سپس مجددا اونو به نام قبلی که داشت تغییر نام بدین تا قالب مورد نظر غیرفعال شده و از این طریق اگر مشکل صفحه سفید مرگ وردپرس در سایت شما اگر از سمت قالب باشه قادر به دسترسی پیشخوان وردپرس خواهید بود.
بررسی محدودیت حافظه PHP
یکی دیگه از دلایل رایج در بروز صفحه سفید مرگ وردپرس، محدود بودن حافظه اختصاص داده شده به PHP در هاست هست. زمانی که اسکریپتهای وردپرس نیاز به حافظه بیشتری نسبت به مقدار تخصیص دادهشده دارند، اجرای کدها متوقف شده و در نهایت یک صفحه سفید بدون خطا یا هشدار نمایش داده میشود. برای افزایش حافظه PHP، مراحل زیر را دنبال کنید:
وارد کنترل پنل هاست خود (cPanel یا DirectAdmin) بشید.
به مسیر File Manager و سپس به فایل wp-config.php در پوشه public_html مراجعه کنید.
define('WP_MEMORY_LIMIT', '256M');کد زیر رو در انتهای فایل قبل از خط /* That's all, stop editing! Happy blogging. */ قرار بدید:
این کد مقدار حافظه PHP را به ۲۵۶ مگابایت افزایش میدهد. اگر همچنان با مشکل مواجه هستید، ممکنه نیاز باشه با پشتیبانی هاست تماس بگیرید تا محدودیتها را در سمت سرور افزایش دهند.
بررسی فایلهای هسته وردپرس
در برخی موارد ممکنه یکی از فایلهای اصلی وردپرس (مثل index.php، wp-load.php، یا functions.php) به دلایلی مثل ویرایش اشتباه، ناقص بودن بارگذاری یا آسیبدیدن فایلها بهدرستی اجرا نشن. برای اطمینان از سالم بودن این فایلها:
آخرین نسخه وردپرس را از سایت رسمی wordpress.org دانلود کنید.
فایلهای اصلی مانند wp-admin، wp-includes و فایلهای ریشه مثل index.php و wp-load.php را با نسخه سالم جایگزین کنید.
توجه: پوشه wp-content را تغییر ندهید تا محتوای سایت و افزونهها و قالبها حذف نشه.
فعالسازی گزارش خطا از طریق .htaccess
گاهی اوقات ممکنه فعالسازی حالت دیباگ در wp-config.php کافی نباشه. در این صورت میتونید از فایل .htaccess برای فعالسازی گزارش خطاهای PHP استفاده کنید. برای این کار:
وارد فایل .htaccess در پوشه ریشه سایت بشید.
خطوط زیر را به انتهای فایل اضافه کنید:
php_flag display_errors On php_value error_reporting 32767
حالا اگر خطای PHP در حال اجرا باشه، به جای صفحه سفید، پیام خطا در مرورگر نمایش داده میشه.
استفاده از ابزار Health Check وردپرس
اگر به پیشخوان وردپرس دسترسی دارید، میتونید از افزونه Health Check & Troubleshooting استفاده کنید. این افزونه یک حالت بررسی سلامت سایت فراهم میکنه که در اون میتونید قالب و افزونهها را بهصورت موقتی برای خودتون غیرفعال کنید بدون اینکه سایت برای بازدیدکنندگان دچار تغییر بشه.
جمع بندی
خطای صفحه سفید مرگ وردپرس یکی از آزاردهندهترین خطاهایی هست که ممکنه در سایتهای وردپرسی رخ بده. با این حال با بررسی مرحلهبهمرحله دلایل احتمالی از جمله افزونهها، قالب، حافظه PHP و فایلهای هسته، میتونید مشکل را بهسادگی شناسایی و رفع کنید. در صورتی که به هر دلیلی موفق به رفع مشکل نشدید، کمک گرفتن از افراد متخصص یا تیم پشتیبانی میتونه بهترین گزینه باشه.