FA-TOOLS — Header Component

آموزش گام‌به‌گام و جامع رفع خطای صفحه سفید وردپرس (WSOD)

فهرست مطالب:

  • علت اصلی ایجاد صفحه سفید در وردپرس چیست؟
  • گام اول: فعال‌سازی حالت دیباگ (WP_DEBUG) برای کشف خطا
  • روش‌های کاربردی رفع خطای صفحه سفید
  • جدول مقایسه دلایل فنی و راهکارهای سریع
  • پرسش‌های متداول (FAQ)
  • راهنمای عیب‌یابی سریع

خلاصه سریع: خطای صفحه سفید (White Screen of Death) معمولاً به دلیل اتمام حافظه PHP، تداخل افزونه‌ها یا وجود خطای ساختاری در کدهای پوسته رخ می‌دهد. برای حل سریع، ابتدا حالت دیباگ را در فایل wp-config.php روشن کنید تا متن دقیق خطا نمایش داده شود، سپس با افزایش Memory Limit یا غیرفعال کردن افزونه‌ی مخرب از طریق FTP، سایت را بازیابی کنید.

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

علت اصلی ایجاد صفحه سفید در وردپرس چیست؟

رفع خطای صفحه سفید وردپرس — تصویر 1

پاسخ سریع: دلیل اصلی صفحه سفید وردپرس، بروز خطای مهلک (Fatal Error) در زبان PHP یا اتمام سقف حافظه مجاز (Memory Limit) سرور است. به دلیل تنظیمات امنیتی، وردپرس متن خطا را پنهان کرده و صفحه‌ای کاملاً خالی نمایش می‌دهد.

این مشکل می‌تواند کل سایت یا فقط بخش مدیریت (wp-admin) را از دسترس خارج کند. تجربه نشان می‌دهد که حدود ۸۰ درصد از موارد صفحه سفید پس از نصب یا به‌روزرسانی یک افزونه، تغییر در فایل functions.php یا عدم همخوانی نسخه PHP سرور با قالب اتفاق می‌افتد.

گام اول: فعال‌سازی حالت دیباگ (WP_DEBUG) برای کشف علت

پاسخ سریع: فعال‌سازی WP_DEBUG باعث می‌شود کدهای نادرست یا افزونه‌های مشکل‌ساز به جای صفحه سفید، متن دقیق خطای خود را روی صفحه یا در یک فایل متنی ذخیره کنند تا منشأ اصلی مشکل مشخص شود.

برای اینکه به جای کورمال رفع مشکل کردن، دقیقاً بدانید کدام فایل دچار ایراد شده است، مراحل زیر را طی کنید:

  1. وارد کنترل‌پنل هاست (cPanel یا DirectAdmin) شوید یا از طریق FTP به فایل‌های سایت دسترسی پیدا کنید.
  2. به پوشه اصلی نصب وردپرس (معمولاً public_html) بروید و فایل wp-config.php را پیدا کنید.
  3. فایل را برای ویرایش باز کرده و خط define('WP_DEBUG', false); را پیدا کنید.
  4. آن را به کدهای زیر تغییر دهید:
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);

با این کار، خطاهای سایت روی صفحه اصلی برای بازدیدکنندگان رخ‌نمایی نمی‌کنند، اما تمام گزارش‌ها در فایلی به نام debug.log داخل پوشه wp-content ذخیره می‌شوند. بررسی این فایل مسیر دقیق فایل و شماره خطی که باعث از کار افتادن سایت شده را روشن می‌سازد.

روش‌های کاربردی رفع خطای صفحه سفید

۱. افزایش میزان حافظه اختصاصی PHP (Memory Limit)

اگر اسکریپت‌های وردپرس به حافظه‌ای بیش از حد مجاز هاست نیاز داشته باشند، پردازش متوقف شده و صفحه سفید ظاهر می‌شود. برای افزایش سقف حافظه، کد زیر را به فایل wp-config.php قبل از خط «/* That’s all, stop editing! Happy publishing. */» اضافه کنید:

define(‘WP_MEMORY_LIMIT’, ‘256M’);

همچنین می‌توانید در فایل .htaccess عبارت php_value memory_limit 256M را قرار دهید. اگر با اضافه کردن کدهای جدید به قالب خود دچار این مشکل شده‌اید، حتماً ساختار آن‌ها را بررسی کنید یا از کدهای استاندارد موجود در تکه‌کدهای وردپرس استفاده نمایید تا دچار نشت حافظه نشوید.

۲. غیرفعال‌سازی تمام افزونه‌ها از طریق FTP یا cPanel

در صورتی که به پیشخوان دسترسی ندارید، بهترین راه تغییر نام پوشه افزونه‌ها است:

  • به مسیر wp-content در مدیریت فایل هاست بروید.
  • پوشه plugins را به plugins-old تغییر نام دهید.
  • سایت را مجدداً بارگذاری کنید. اگر مشکل برطرف شد، نام پوشه را به حالت اول برگردانید و افزونه‌ها را تک‌تک از پیشخوان فعال کنید تا افزونه معیوب مشخص شود.

۳. فعال‌سازی پوسته پیش‌فرض وردپرس

گاهی اوقات توابع نامعتبر در فایل functions.php پوسته باعث بروز مشکل می‌شود. برای تست:

  • به مسیر wp-content/themes بروید.
  • پوشه پوسته فعال فعلی را تغییر نام دهید (مثلاً اضافه کردن old_ به نام آن).
  • وردپرس به صورت خودکار به یکی از پوسته‌های پیش‌فرض (مانند Twenty Twenty-Four) سوئیچ می‌کند.

۴. پاک‌سازی کش کدهای PHP (OPcache) و کش سرور

نکته کلیدی که اکثر وب‌سایت‌ها نادیده می‌گیرند: گاهی شما فایل خرابی را تعمیر می‌کنید اما به دلیل فعال بودن OPcache روی سرور، هاست همچنان نسخه بایت‌کد شده‌ی خراب قبلی را اجرا می‌کند و صفحه سفید باقی می‌ماند. برای حل این مشکل، از طریق cPanel بخش Select PHP Version را باز کرده و یک بار OPcache را غیرفعال و مجدداً فعال کنید، یا فایل .htaccess را ذخیره مجدد نمایید تا کش سرور بازنشانی شود.

جدول مقایسه دلایل فنی و راهکارهای سریع

علت بروز خطا راهکار عملی و مستقیم
کمبود حافظه PHP افزایش Memory Limit در wp-config.php به 256M
تداخل افزونه تازه نصب‌شده تغییر نام پوشه plugins از طریق FTP یا cPanel
خطای سنتکس در functions.php اصلاح کدهای جدید دستکاری‌شده یا بازگردانی فایل پشتیبان
خرابی فایل .htaccess تغییر نام فایل به htaccess_old. و ساخت فایل جدید
عدم همخوانی نسخه PHP تغییر نسخه PHP هاست به 8.1 یا 8.2 از cPanel

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

پرسش‌های متداول (FAQ)

رفع خطای صفحه سفید وردپرس — تصویر 5
چرا صفحه سفید فقط در بخش پیشخوان (wp-admin) ظاهر می‌شود؟

این مشکل معمولاً به دلیل اتمام حافظه پردازشی افزونه‌های مدیریتی یا بروز خطا در فایل‌های مربوط به پروفایل کاربران اتفاق می‌افتد. پاک‌سازی کش مرورگر و افزایش حافظه PHP معمولاً این حالت را حل می‌کند.

آیا خطای صفحه سفید باعث پاک شدن اطلاعات سایت می‌شود؟

خیر، این خطا فقط لایه اجرای اسکریپت‌ها را متوقف می‌کند. تمامی داده‌های شما در پایگاه داده و فایل‌ها در هاست کاملاً سالم و بدون تغییر باقی می‌مانند.

اگر با تغییر نام افزونه‌ها مشکل حل نشد چه کنیم؟

پوسته فعال را غیرفعال کرده، کدهای کستوم جدید را حذف کنید و در صورت عدم رفع، هسته وردپرس را از طریق جایگزینی پوشه‌های wp-includes و wp-admin با نسخه تازه دانلود شده به‌روزرسانی یا تعمیر نمایید.

فایل debug.log کجاست و چگونه آن را بخوانیم؟

این فایل در مسیر wp-content/debug.log ایجاد می‌شود. آخرین خطوط این فایل را باز کنید؛ عبارت‌هایی که شامل Fatal Error هستند دقیقاً اسم فایل و خط دارای اشکال را نشان می‌دهند.

راهنمای عیب‌یابی سریع

سناریوی ۱: صفحه سفید بلافاصله بعد از ویرایش فایل functions.php رخ داد.

راه حل: وارد هاست شوید، فایل functions.php را باز کنید و آخرین کدی که اضافه کرده‌اید را حذف کنید. دقت کنید که هیچ فاصله یا خط خالی در ابتدا یا انتهای این فایل وجود نداشته باشد.

سناریوی ۲: سایت بعد از ارتقای نسخه PHP هاست سفید شد.

راه حل: برخی کدهای قدیمی قالب یا افزونه‌ها با PHP 8.x سازگار نیستند. نسخه PHP را از cPanel موقتاً روی 7.4 بگذارید، تمام افزونه‌ها را آپدیت کنید و سپس نسخه PHP را مجدداً بالا ببرید.

سناریوی ۳: صفحه سفید فقط روی یک برگه خاص یا برگه تسویه حساب نمایش داده می‌شود.

راه حل: تداخل در درگاه پرداخت یا افزونه‌های مکمل ووکامرس علت اصلی است. افزونه درگاه پرداخت یا افزونه‌های بهینه‌سازی مربوط به آن برگه را موقتاً غیرفعال کنید.

سوالات متداول

چرا صفحه سفید فقط در بخش پیشخوان (wp-admin) ظاهر می‌شود؟

این مشکل معمولاً به دلیل اتمام حافظه پردازشی افزونه‌های مدیریتی یا بروز خطا در فایل‌های مربوط به پروفایل کاربران اتفاق می‌افتد. پاک‌سازی کش مرورگر و افزایش حافظه PHP معمولاً این حالت را حل می‌کند.

آیا خطای صفحه سفید باعث پاک شدن اطلاعات سایت می‌شود؟

خیر، این خطا فقط لایه اجرای اسکریپت‌ها را متوقف می‌کند. تمامی داده‌های شما در پایگاه داده و فایل‌ها در هاست کاملاً سالم و بدون تغییر باقی می‌مانند.

اگر با تغییر نام افزونه‌ها مشکل حل نشد چه کنیم؟

پوسته فعال را غیرفعال کرده و کدهای سفارشی جدید را بررسی کنید. در صورت عدم رفع، هسته وردپرس را با جایگزینی پوشه‌های wp-includes و wp-admin به‌روزرسانی یا تعمیر نمایید.

فایل debug.log کجاست و چگونه آن را بررسی کنیم؟

این فایل پس از فعال‌سازی حالت دیباگ در مسیر wp-content/debug.log ذخیره می‌شود. با باز کردن آن می‌توانید خط دقیق و نام افزونه یا فایلی که باعث بروز خطای مهلک شده را مشاهده کنید.

Table of Contents

آخرین نوشته‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *