رفع مشکل صفحه سفید وردپرس

1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

امتیاز کاربران

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

صفحه سفید وردپرس ( صفحه سفید مرگ ) یا  Wordpress white screen of death مانند خطای برقراری ارتباط با پایگاه داده میتواند تمام وب سایت و بخش مدیریت آن را نیز از کار انداخته و به دلیل اینکه هیچ خروجی نمایش داده نمیشود، وب مسترها را دچار سردرگمی کند. اگر این خطا تنها در بخشی از وب سایت و یا در صفحه مدیریت ایجاد شود و بخش های دیگر سایت به درستی فعال باشد، اینجاست که تشخیص علت مشکل سخت خواهد بود و ممکن است با ایجاد نمودن هر تغییری جهت رفع مشکل، وب سایت با مشکل دیگری مواجه شود. در این مقاله چگونگی ایجاد مشکل صفحه سفید وردپرس و راهکارهای رفع این مشکل را شرح خواهیم داد.

 

 

دلیل ایجاد صفحه سفید وردپرس :

این مشکل معمولا به علت حافظه محدود ( memory limit ) میباشد که به علت استفاده از افزونه ای است که به منابع زیادی نیاز دارد و یا کدهای آن استاندارد نیست.بنابراین این مشکل از محدود بودن حافظه در وردپرس و یا سرور ایجاد میشود. علت دیگر آن استفاده از افزونه و یا قالب های خراب و غیر استاندارد در وردپرس است که نیاز به بررسی بیشتری دارد.

ابتدا این مورد را بررسی نمایید:

در صورتیکه چندین وب سایت دارید که همگی توسط یک شرکت هاستینگ میزبانی میشوند،بررسی کنید که آیا تمامی این وب سایت ها با مشکل صفحه سفید مواجه شده اند یا فقط همین یک سایت این مشکل را دارد. در صورتیکه تمامی وب سایت های شما این مشکل را داشته باشند، مشکل از سمت سرورهای هاستینگ بوده و برای رفع این مشکل باید به شرکت هاستینگ خود رجوع کنید.در غیر اینصورت مشکل میتواند از یک افزونه و یا قالب وب سایت شما باشد. اگر مشکل تنها در بخش خاصی از وب سایت شما باشد، قطعا مشکل از سمت وب سایت شما خواهد بود.

برای رفع مشکل صفحه سفید وردپرس اقدامات زیر را انجام دهید:

۱. افزایش حافظه رم : معمولا مشکل صفحه سفید وردپرس از محدودیت حافظه رم است که در اینصورت با افزایش حافظه رم (Memory limit) وردپرس این مشکل رفع خواهد شد.

۲. غیرفعال کردن تمامی افزونه ها : در صورتیکه با افزایش حافظه رم به 256M و یا 512M مشکل رفع نشد، نسبت به غیرفعال کردن افزونه ها اقدام نمایید. وارد file manager هاست خود شوید.سپس از پوشه  wp-content پوشه plugins را تغییر نام دهید تا تمامی پلاگین ها غیر فعال شوند. اگر از این روش مشکل رفع گردید، پلاگین ها را به ترتیب فعال نمایید تا افزونه مخرب را پیدا کنید.

۳. جایگزین کردن قالب فعلی با قالب پیش فرض وردپرس : در صورتیکه با غیرفعال کردن افزونه ها مشکل رفع نشد ، ممکن است که مشکل از قالب فعلی شما باشد. قبل از انجام هر کاری ابتدا از قالب فعلی خود نسخه پشتیبان تهیه کنید. سپس در هاست خود از طریق پوشه wp-content و سپس پوشه themes  قالب فعلی را تغییر نام داده تا قالب به صورت خودکار به قالب پیش فرض وردپرس تغییر یابد.همچنین از طریق phpmyadmin نیز این کار قابل انجام است. در این بخش به دیتابیس خود وارد شده و سپس در جدول wp-options قسمت های template و stylesheet را به یکی از قالب های پیش فرض وردپرس تغییر دهید.مانند twentyeleven

اگر با این اقدامات مشکل شما رفع نشد ممکن است مشکل از فایل function.php قالب شما باشد.اگر در انتهای این فایل فضای اضافی وجود داشته باشد باید آن را حذف نموده و یا ممکن است از یک تابع اشتباه در این فایل استفاده کرده باشید.

در صورتیکه هیچ یک از راه حل های بالا پاسخگوی مشکل شما نبود، باید فایل های وردپرس خود را مجدد آپلود نمایید.زیرا که ممکن است یکی از فایل های اصلی وردپرس شما از سهوا حذف شده باشد.دقت نمایید که قبل از انجام هر کاری از فایل های کنونی خود بکاپ تهیه نمایید.

روش دیگری نیز وجود دارد که شما میتوانید از کد اشکال زدایی وردپرس استفاده نمایید تا از اشکالات و خطاها در خروجی وب سایت، مشکل سایت را پیدا کنید.با ویرایش فایل wp-config میتوانید قابلیت Debugging ( اشکال زدایی ) وردپرس را فعال نمایید:

Error_reporting(E_ALL); ini_set('display_errors', 1);
define( 'WP_DEBUG' , true);

زمانیکه این کدها را اضافه میکنید به جای صفحه سفید علت خطای وردپرس را مشاهده خواهید کرد.

گاهی اوقات نیز ممکن است مشکل به دلیل استفاده از افزونه های کش باشد که پس از غیرفعال کردن آن احتمال دارد مشکل رفع نشود و با مراجعه به مسیر کش افزونه، میتوانید آن را خالی نمایید.در صورتیکه صفحه سفید را در یک پست طولانی مشاهده میکنید، کش را خالی کرده و مجدد تست نمایید. اگر به فایل php.ini دسترسی دارید مقادیر زیر را در آن اضافه نمایید، در غیر اینصورت از پشتیبانی هاستینگ خود آن را درخواست نمایید.

ini_set( 'pcre.recursion_limit' , 20000000);
ini_set( 'pcre.recursion_limit' , 10000000);