یکی از مشکلاتی که گاهاً در سایتهای وردپرسی رخ میدهد سفید شدن سایت است. صفحه سفید وردپرس میتواند در هر دو بخش کاربری سایت یا پیشخوان وردپرس اتفاق بیفتد که دلایل به وجود آمدن آن متفاوت است.
اگر با این خطا مواجه شده باشید، به این معنی است که کدهایی که برای نمایش صفحه html در مرورگر باید اجرا شوند دچار مشکل شده و هیچ اطلاعاتی از سمت سیستم مدیریت محتوا وردپرس برگردانده نشده است. بنابراین هر زمان که روی صفحه راست کلیک کرده و گزینه view page source را بزنید با صفحهای سفید مواجه میشوید که صرفا عدد 1 که شمارنده خطوط کدنویسی است نمایش داده میشود.
صفحه سفید وردپرس چیست؟
صفحه سفید وردپرس یا همان The WordPress White Screen Of Death که آن را با نام صفحه سفید مرگ وردپرس نیز میشناسیم به دلایل مختلفی رخ میدهد که عموما افزونههای سایت یا ایجاد ناهماهنگی در قالب باعث این مشکل میشوند.
با به وجود آمدن این خطا ممکن است دو حالت زیر رخ دهد. در برخی موارد تنها یک حالت رخ میدهد و در برخی موارد نیز هر دو حالت وجود دارند که در این صورت کار کمی برای یافتن منشا مشکل سختتر میشود.
- سفید شدن صفحه سایت
- سفید شدن صفحه پیشخوان وردپرس(صفحه مدیریت سایت)
در صورتی که با این خطا مواجه شدید، تا انتها با ما همراه باید تا به چگونگی برطرف کردن مشکل صفحه سفید در وردپرس بپردازیم. برای این منظور کافی است راههای زیر را دنبال کنید.
0. دیباگ وردپرس را فعال کنید
قابلیت دیباگ وردپرس یا همان حالت عیب یابی به شما در یافتن و شناسایی خطاهای وردپرس بسیار کمک خواهد کرد. برای اینکه بدانید مشکل صفحه سفید مرگ در وردپرس به چه دلیلی ایجاد شده بهترین راه استفاده از همین حالت عیب یابی وردپرس است.
برای این منظور کافی است فایل wp-config.php را که در مسیر public_html قرار دارد به کمک ابزار FTP یا همان ویرایشگر خود هاست باز کرده و کدهای زیر را مشابه تصویر درون آن قرار دهید.
define( 'WP_DEBUG', true );
به این نکته دقت داشته باشید که ممکن است کد فوق در این فایل وجود داشته باشد، اما غیرفعال باشد که در این صورت به جای true مقدار آن false خواهد بود. برای فعال سازی کافی است مقدار ان را به true تغییر دهید.
در این صورت خطاهایی در صفحه سایت نمایش داده میشوند که نوع خطا، مسیر، نام فایل و شماره خط کدنویسی که باعث این خطا شده نمایش داده خواهد شد. برای آشنایی با این حالت عیب یابی وردپرس کافی است به مقاله آموزش رفع خطای syntax error در وردپرس مراجعه کنید.
1. غیرفعال کردن همه افزونهها
اگر به تازگی افزونهای را آپدیت کردید یا اینکه درست پس از نصب افزونه وردپرس با ارور صفحه سفید وردپرس مواجه شدید، ممکن است افزونه مورد نظر باعث ایجاد این مشکل شده باشد که یافتن آن بسیار ساده است. اما گاهی اوقات پیش میآید که این مشکل از سمت افزونه وردپرس میباشد با اینکه نه افزونهای به تازگی نصب شده و نه اینکه آپدیت شده است.
در این صورت میتوانید با غیرفعال کردن همه افزونهها در وردپرس از این موضوع مطمئن شوید. اگر مشکل برطرف شد اطمینان حاصل کرده و حال برای اینکه بدانید کدام افزونه باعث ایجاد خطای صفحه سفید وردپرس شده کافی است با هر با فعال کردن هر افزونه یک بار سایت را چک کنید تا در نهایت به افزونه معیوب برسید.
- در صورتی که دسترسی به پیشخوان وردپرس دارید، کافی است به منوی افزونهها مراجعه کرده و کلیه افزونههای وردپرس را غیرفعال کنید. سپس با فعال کردن هر افزونه سایت را بررسی کنید.
- در صورتی که دسترسی به پیشخوان وردپرس ندارید، باید از مسیر file manager هاست خود یا اینکه ابزار FTP به مسیر /public_html/wp-content/ مراجعه کنید. سپس نام پوشه plugins را به کمک گزینه rename نام دیگری مثل plugins.test تغییر نام داده و ذخیره کنید.
در این صورت کلیه افزونههای وردپرس غیرفعال خواهند شد. حال کافی است به همان روش اول یکی یکی افزونههای خود را فعال کرده و در هر بار فعال کردن افزونه خاصی بررسی کنید که خطا چه زمانی رخ میدهد تا افزونه معیوب را پیدا کنید.
2. فعال کردن موقت قالب پیشفرض وردپرس
برای اطمینان از اینکه مشکل از سمت قالب است کافی است وارد پیشخوان وردپرس شده و قالب پیشفرض را فعال کنید. اگر دسترسی به پیشخوان وردپرس ندارید میتوانید وارد file manager هاست خود شده یا اینکه با ابزار FTP به مسیر /public_html/wp-conten/themes/ مراجعه کنید. سپس نام پوشه قالب فعال خود را به کمک گزینه rename به نام دیگری مثل theme-name تغییر داده و ذخیره کنید.
در این صورت قالب فعلی غیرفعال شده و از قالب پیش فرض وردپرس استفاده خواهد شد. دقت کنید که حتما باید یکی از قالب های پیشفرض وردپرس در پوشه themes وجود داشته باشند.
3. بالا بردن میزان حافظه PHP هاست
گاهی اوقات خطای صفحه سفید در وردپرس به هاست شما بر میگردد که به دلیل پایین بودن مقدار حافظه php رخ میدهد. برای این کار کافی است به وسیله قطعه کد زیر میزان حافظه را افزایش دهید. برای این منظور کافی است فایل wp-config.php که در پوشه public_html هاست قرار دارد را به کمک ابزار FTP باز کرده و کد زیر را درون فایل قرار دهید.
define('WP_MEMORY_LIMIT', '64M');
در صورتی که با استفاده از کد بالا موفق به افزایش حافظه php وردپرس نشدید، میتوانید کد زیر را در فایل htaccess. که در همان مسیر public_html هاست قرار دارد کپی کنید. دقت کنید که در صورت استفاده از هاست سی پنل این فایل مخفی است که باید به کمک بخش settings هاست و فعال کردن تیک گزینه show hidden files نمایش فایلهای مخفی در سی پنل را فعال کنید.
php_value memory_limit 64M
اگر باز هم موفق به اضافه کردن مقدار حافظه php نشدید، یک فایل جدید با نام php.ini در پوشه public_html ساخته و کد زیر را درون آن قرار دهید. در صورتی که به این روش هم موفق نشدید باید از پشتیبانی هاست کمک بگیرید.
memory_limit = 64M
4. بررسی سطح دسترسی فایلها و پوشهها
گاهی اوقات این مشکل صفحه سفید مرگ در wp-login.php وردپرس به دلیل تغییر یافتن سطح دسترسی فایلها و پوشهها ایجاد میشود. هر فایل و پوشه در هاست باید دارای سطح دسترسی خاص خواندن و نوشتن باشد که هم از نظر امنیتی مشکلی وجود نداشته باشد و هم اینکه باعث به وجود آمدن چنین خطایی نشود. سطح دسترسی در وردپرس به شکل زیر است.
- سطح دسترسی فایلها یا پوشهها: 755 یا 644
- سطح دسترسی فایل wp-config.php برابر با 400
برای تغییر سطح دسترسی کافی است به کمک ابزار FTP یا هاست خود از گزینه change permission استفاده کرده و به شکل زیر آنها را تنظیم کنید.
5. ایجاد مشکل در آپدیت وردپرس
گاهی اوقات هم این مشکل به دلیل آپدیت ناموفق در وردپرس رخ میدهد. وردپرس به صورت خودکار برای اینکه هنگام آپدیت سایت بازدیدکنندگان با ساختار نامرتب و خطا مواجه نشوند، بخشی به عنوان maintenance را در خود جای داده که در این صورت صفحهای سفید مشابه تصویر زیر با عنوان Briefly unavailable for scheduled maintenance نمایش داده میشود.
گاهی اوقات کاربران این خطا را با خطای صفحه سفید مرگ در وردپرس اشتباه میگیرند. برای رفع این خطا کافی است وارد مسیر public_html در هاست خود شده یا اینکه به کمک ابزار FTP فایلی که با عنوان maintenance. در این مسیر اضافه شده است را پاک کنید. در این صورت مشکل برطرف خواهد شد.