اگر مدتی است که با وردپرس کار کرده باشید، حتما میدانید خطای صفحه سفید یکی از آزاردهندهترین خطاهای وردپرس است. این خطا هیچگونه خروجی ندارد و هیچ پیامی را منتشر نمیکند! به این صورت که آدرس سایتتان را وارد میکنید و هیچ چیزی مشاهده نمیکنید جز صفحه سفید. (همانند این است که سایتتان مرده و کفن سفیدی بر تن کرده !)
قسمت ترسناک بعدی این خطای بیشاخ و دم این است که فقط قسمتهای خاصی را مورد هجوم قرار میدهد یعنی ممکن است فقط پیشخوان وردپرس کفن سفید بر تن کند یا فقط یکی از نوشتههای سایتتان همانند گچ سفید شود. اما قسمتهای دیگر سایت به خوبی کار کنند.
حال اگر موافق باشید به سراغ روشهای رفع و مقابله با خطای صفحه سفید در وردپرس آزاردهنده می رویم.
چرا این اتفاق در سایت میافتد؟
علت اصلی خطای صفحه سفید در وردپرس ممکن است استفاده بیشاز حد از حافظه، افزونهای دارای توابع خراب و یا حتی به دلیل نصب پوستهای باشد که مشکل دارد و یا حتی ممکن است مشکل از سرور میزبان سایتتان باشد. هر یک از این عوامل میتواند دلیل مرگ سایت شود.
۱- افزایش میزان محدودیت حافظه
معمولا این خطا به دلیل استفاده بیش از حد از حافظه و کمبود حافظه کافی برای عملیاتهاست.
۲- همهی افزونهها را غیرفعال کنید !
اگر افزایش میزان حافظهی وردپرس مشکل شما را برطرف نکرد و حتی اگر میزان حافظه را به ۲۵۶M یا ۵۱۲M افزایش دادید و باز هم مشکل پا برجا بود، باید عیبزدایی را آغاز کنید. برای عیبزدایی در این مورد، بیشتر باید در پوستهها و افزونهها برای یافتن مشکل کاوش کنید!
برای غیرفعالسازی دسته جمعی افزونهها میتوانید به برگه افزونهها در مدیریت رفته و همهی افزونهها را گزینش کرده و غیرفعال کنید. اما اگر به مدیریت وردپرس دسترسی نداشتید باید از طریق FTP اینکار را انجام دهید.
مراحل انجام این کار
نخست به پوشه وردپرس سایتتان و بعد به پوشه wp-content بروید، پوشهای با نام Plugins مشاهده میکنید. حال نام این پوشه را به Plugins-deact تغییر دهید.
(البته هرنامی میتوانید برای پوشه قرار دهید).
با تغییر نام این پوشه، تمام افزونههای سایتتان غیر فعال میشوند. اگر مشکل حل شد پس حتما یکی از افزونههایتان مشکلساز شده. به پیشخوان وردپرس بروید و بعد نام پوشه را دوباره به plugins بازگردانید و یکی یکی افزونهها را فعال کنید تا افزونه خرابکار را پیدا کنید.
نخست به دیتابیس وردپرس و بعد به جدول wp_options بروید. به دنبال “active_plugins” بگردید و مقدار – value – آن را به a:0:{} تغییر دهید.
و اینگونه افزونههایتان را خاموش کنید !
۳- پوستهی پیشفرض وردپرس را به عنوان پوسته سایتتان قرار دهید !
اگر غیرفعال کردن افزونه، مشکلتان را برطرف نکرد، باید پوستهی پیشفرض وردپرس را (مثلا ۲۰۱۱) جایگزین پوستهی سایتتان کنید.
بهترین کار برای جایگزین کردن پوسته، این است که نخست از پوشهی پوستههای وردپرس خود پیشتیبان تهیه کرده و بعد پوستهی خود را حذف کنید. در این موقع وردپرس به صورت خودکار پوستهی پیشفرض را جایگزین پوستهی خراب شما میکند تا بتوانید خطای صفحه سفید در وردپرس را بررسی کنید.
روش دیگر هم این است که نخست به phpmyadmin و سپس دیتابیس وردپرس رفته و بعد wp_options را باز کنید و مقادیر- values – جداول template و stylesheet current_theme را (بهعنوان مثال) به twentyeleven (نام پوسته) تغییر دهید.
اگر این روش، مشکل شما را برطرف کرد، باید نگاهی به functions.php پوستهی خود بیندازید و فضاهای خالی پایین را پاک کنید و یا اگر به تازگی کدی را اضافه کردید، آن را ویرایش و تصحیح کنید!
۴- روشهای دیگر برای رفع این مشکل
اگر هیچ یک از روشهای گفته شده جواب نداد بهتر است وردپرس را دوباره نصب و راهاندازی کنید و یا پروندهها و پوشههای آن را بازنویسی و جایگزین پروندههای وردپرستان کنید. میدانم این حرکت راحت نیست اما ممکن است یکی از پروندههای وردپرس دچار مشکل شده باشد و این کار باعث رفع مشکل صفحه سفید در وردپرس شود! (البته قبل از این عمل از پوسته و افزونههایتان پشتیبان تهیه کنید.)
همچنین میتوانید حالت اشکالزدایی – debug – را با افزودن کد زیر به wp-config.php، فعال کنید:
error_reporting(E_ALL);ini_set('display_errors',1);
define('WP_DEBUG', true);
با افزودن این قطعه کد خطاها٬ هشدارها و پیامهایی بر صفحهی سفید سایتتان نمایان خواهد شد که ممکن است به شما در رفع خطا کمک کند.
اگر صفحهی نخست سایت شما ٬ کفن سفید مرگ را پوشید و پسزمینه و مدیریت وردپرس به خوبی کار میکرد آنگاه مشکل از افزونه cache سایتتان است. کش سایت را خالی کنید !
قطعه کد زیر را برای رفع مشکل نوشته ها به wp-config.php خود اضافه کنید:
/** Trick for long posts */
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);
این کدها محدودیت بازخورد و بکترکها را افزایش میدهند!
قسمت ترسناک بعدی این خطای بیشاخ و دم این است که فقط قسمتهای خاصی را مورد هجوم قرار میدهد یعنی ممکن است فقط پیشخوان وردپرس کفن سفید بر تن کند یا فقط یکی از نوشتههای سایتتان همانند گچ سفید شود. اما قسمتهای دیگر سایت به خوبی کار کنند.
حال اگر موافق باشید به سراغ روشهای رفع و مقابله با خطای صفحه سفید در وردپرس آزاردهنده می رویم.
چرا این اتفاق در سایت میافتد؟
علت اصلی خطای صفحه سفید در وردپرس ممکن است استفاده بیشاز حد از حافظه، افزونهای دارای توابع خراب و یا حتی به دلیل نصب پوستهای باشد که مشکل دارد و یا حتی ممکن است مشکل از سرور میزبان سایتتان باشد. هر یک از این عوامل میتواند دلیل مرگ سایت شود.
۱- افزایش میزان محدودیت حافظه
معمولا این خطا به دلیل استفاده بیش از حد از حافظه و کمبود حافظه کافی برای عملیاتهاست.
۲- همهی افزونهها را غیرفعال کنید !
اگر افزایش میزان حافظهی وردپرس مشکل شما را برطرف نکرد و حتی اگر میزان حافظه را به ۲۵۶M یا ۵۱۲M افزایش دادید و باز هم مشکل پا برجا بود، باید عیبزدایی را آغاز کنید. برای عیبزدایی در این مورد، بیشتر باید در پوستهها و افزونهها برای یافتن مشکل کاوش کنید!
برای غیرفعالسازی دسته جمعی افزونهها میتوانید به برگه افزونهها در مدیریت رفته و همهی افزونهها را گزینش کرده و غیرفعال کنید. اما اگر به مدیریت وردپرس دسترسی نداشتید باید از طریق FTP اینکار را انجام دهید.
مراحل انجام این کار
نخست به پوشه وردپرس سایتتان و بعد به پوشه wp-content بروید، پوشهای با نام Plugins مشاهده میکنید. حال نام این پوشه را به Plugins-deact تغییر دهید.
(البته هرنامی میتوانید برای پوشه قرار دهید).
با تغییر نام این پوشه، تمام افزونههای سایتتان غیر فعال میشوند. اگر مشکل حل شد پس حتما یکی از افزونههایتان مشکلساز شده. به پیشخوان وردپرس بروید و بعد نام پوشه را دوباره به plugins بازگردانید و یکی یکی افزونهها را فعال کنید تا افزونه خرابکار را پیدا کنید.
نخست به دیتابیس وردپرس و بعد به جدول wp_options بروید. به دنبال “active_plugins” بگردید و مقدار – value – آن را به a:0:{} تغییر دهید.
و اینگونه افزونههایتان را خاموش کنید !
۳- پوستهی پیشفرض وردپرس را به عنوان پوسته سایتتان قرار دهید !
اگر غیرفعال کردن افزونه، مشکلتان را برطرف نکرد، باید پوستهی پیشفرض وردپرس را (مثلا ۲۰۱۱) جایگزین پوستهی سایتتان کنید.
بهترین کار برای جایگزین کردن پوسته، این است که نخست از پوشهی پوستههای وردپرس خود پیشتیبان تهیه کرده و بعد پوستهی خود را حذف کنید. در این موقع وردپرس به صورت خودکار پوستهی پیشفرض را جایگزین پوستهی خراب شما میکند تا بتوانید خطای صفحه سفید در وردپرس را بررسی کنید.
روش دیگر هم این است که نخست به phpmyadmin و سپس دیتابیس وردپرس رفته و بعد wp_options را باز کنید و مقادیر- values – جداول template و stylesheet current_theme را (بهعنوان مثال) به twentyeleven (نام پوسته) تغییر دهید.
اگر این روش، مشکل شما را برطرف کرد، باید نگاهی به functions.php پوستهی خود بیندازید و فضاهای خالی پایین را پاک کنید و یا اگر به تازگی کدی را اضافه کردید، آن را ویرایش و تصحیح کنید!
۴- روشهای دیگر برای رفع این مشکل
اگر هیچ یک از روشهای گفته شده جواب نداد بهتر است وردپرس را دوباره نصب و راهاندازی کنید و یا پروندهها و پوشههای آن را بازنویسی و جایگزین پروندههای وردپرستان کنید. میدانم این حرکت راحت نیست اما ممکن است یکی از پروندههای وردپرس دچار مشکل شده باشد و این کار باعث رفع مشکل صفحه سفید در وردپرس شود! (البته قبل از این عمل از پوسته و افزونههایتان پشتیبان تهیه کنید.)
همچنین میتوانید حالت اشکالزدایی – debug – را با افزودن کد زیر به wp-config.php، فعال کنید:
error_reporting(E_ALL);ini_set('display_errors',1);
define('WP_DEBUG', true);
با افزودن این قطعه کد خطاها٬ هشدارها و پیامهایی بر صفحهی سفید سایتتان نمایان خواهد شد که ممکن است به شما در رفع خطا کمک کند.
اگر صفحهی نخست سایت شما ٬ کفن سفید مرگ را پوشید و پسزمینه و مدیریت وردپرس به خوبی کار میکرد آنگاه مشکل از افزونه cache سایتتان است. کش سایت را خالی کنید !
قطعه کد زیر را برای رفع مشکل نوشته ها به wp-config.php خود اضافه کنید:
/** Trick for long posts */
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);
این کدها محدودیت بازخورد و بکترکها را افزایش میدهند!