آموزش جامع رفع خطای صفحه سفید وردپرس (White Screen of Death) — از تشخیص تا پیشگیری

آخرین بروزرسانی در تاریخ ژوئن 1, 2026 توسط PersiaWebAdmin

صفحه سفید مرگ (White Screen of Death یا WSOD) یکی از ترسناک‌ترین خطاهایی است که مدیران وردپرس با آن روبرو می‌شوند. لحظه‌ای وارد سایت می‌شوید و به جای طرح زیبایتان، فقط یک صفحه کاملاً سفید می‌بینید؛ بدون هیچ پیغام خطایی، بدون هیچ نشانه‌ای از مشکل.
اما نترسید. این خطا در ظاهر خاموش است، ولی ردپایی از مشکل را در پشت صحنه به جا می‌گذارد. در این مقاله، از صفر تا صد عیب‌یابی و رفع این خطا را به شما آموزش می‌دهیم؛ از ساده‌ترین روش‌ها برای افراد مبتدی گرفته تا ابزارهای توسعه‌دهندگان حرفه‌ای. همچنین روش‌های جلوگیری از تکرار آن را نیز پوشش می‌دهیم.

فهرست مطالب

  1. خطای صفحه سفید دقیقاً چیست و چرا رخ می‌دهد؟
  2. قدم اول: نترسید و یک نسخه پشتیبان ذهنی بگیرید
  3. فعال‌سازی حالت رفع اشکال (WP_DEBUG) برای آشکار شدن خطا
  4. افزایش حافظه PHP: رفع کمبود حافظه
  5. غیرفعال‌سازی همه افزونه‌ها از طریق FTP یا مدیریت فایل
  6. بازگشت به پوسته پیش‌فرض
  7. تعمیر فایل htaccess.
  8. افزایش محدودیت‌های زمانی PHP
  9. بازنشانی هسته وردپرس (دستی و خودکار)
  10. استفاده از حالت بازیابی وردپرس (Recovery Mode)
  11. ابزارهای حرفه‌ای: Query Monitor و لاگ‌های سرور
  12. وقتی فقط پیشخوان (wp-admin) سفید است
  13. عیب‌یابی پیشرفته: کش، CDN و تداخل سرور
  14. چک‌لیست پیشگیری از صفحه سفید در آینده
  15. جمع‌بندی و راهنمای سریع

۱. خطای صفحه سفید دقیقاً چیست و چرا رخ می‌دهد؟

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

  • تداخل افزونه‌ها (Plugin Conflict): یک افزونه ناسازگار یا خراب.
  • پوسته معیوب: فایلی از قالب که کد PHP اشتباه دارد.
  • کمبود حافظه PHP: اسکریپت‌ها بیشتر از حد مجاز RAM مصرف کرده‌اند.
  • خرابی فایل‌های هسته وردپرس: معمولاً پس از به‌روزرسانی ناقص.
  • خطا در فایل htaccess: دستورات اشتباه در این فایل.
  • محدودیت‌های سرور: متوقف شدن اجرای اسکریپت توسط سرور.

خبر خوب این است که در ۹۰٪ موارد، خودتان می‌توانید مشکل را حل کنید. بیایید شروع کنیم.

۲. قدم اول: نترسید و یک نسخه پشتیبان ذهنی بگیرید

قبل از هر کاری:

  • اگر دسترسی به پیشخوان دارید، عالی است. اگر نه، نیاز به FTP یا کنترل پنل هاست خواهید داشت.
  • به هیچ عنوان بدون تهیه نسخه پشتیبان واقعی، تغییرات اساسی ندهید. اگرچه در این راهنما روش‌ها بی‌خطر هستند، اما داشتن یک بک‌آپ کامل (فایل‌ها + دیتابیس) از طریق هاست، خیال شما را راحت می‌کند.

اگر دسترسی به فایل‌ها ندارید، با پشتیبانی هاست تماس بگیرید تا یک نسخه پشتیبان از آخرین وضعیت سالم برایتان قرار دهند.

پیشنهاد مطالعه : آشنایی با مهمترین مشکلات رایج وب‌سایت‌های فروشگاهی

۳. فعال‌سازی حالت رفع اشکال (WP_DEBUG) برای آشکار شدن خطا

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

مراحل:

  1. با FTP یا File Manager وارد ریشه سایت خود شوید (پوشه‌ای که wp-config.php در آن قرار دارد).
  2. فایل wp-config.php را برای ویرایش باز کنید.
  3. قبل از خطی که می‌گوید /* That's all, stop editing! Happy blogging. */، کد زیر را اضافه کنید:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

توضیح:

  • WP_DEBUG حالت خطایابی را روشن می‌کند.
  • WP_DEBUG_LOG خطاها را در فایل wp-content/debug.log ذخیره می‌کند (بدون نمایش به بازدیدکنندگان).
  • WP_DEBUG_DISPLAY باعث می‌شود خطا روی صفحه چاپ نشود (تا سایت شما شکل بدی پیدا نکند)؛ اگر فقط می‌خواهید خطا را روی صفحه ببینید، آن را true بگذارید.

۴. فایل را ذخیره کنید و سایت را رفرش کنید. اگر صفحه سفید باقی ماند، به فایل wp-content/debug.log مراجعه کنید. در آن خطایی مشابه این خواهید دید:

PHP Fatal error: Call to undefined function xxx() in /home/.../wp-content/plugins/example/example.php on line 42

این پیام مقصر را دقیقاً نشان می‌دهد. نام پوشه plugins/example یعنی مشکل از افزونه «example» است. اگر اشاره به themes/your-theme داشت، پای پوسته در میان است.

نکته: پس از رفع مشکل، WP_DEBUG را دوباره false کنید یا کدهای اضافه را حذف کنید تا اطلاعات حساس فاش نشود.

۴. افزایش حافظه PHP: رفع کمبود حافظه

اگر خطا مربوط به memory بود یا احتمال می‌دهید حجم مصرفی بالاست، حافظه PHP را افزایش دهید.

روش اول: از طریق wp-config.php
در همان فایل wp-config.php این خط را اضافه کنید:

define('WP_MEMORY_LIMIT', '256M');

این مقدار را می‌توانید تا 512M هم بالا ببرید. این دستور فقط برای وردپرس اعمال می‌شود، نه کل سرور.

روش دوم: فایل php.ini یا .user.ini (هاست اشتراکی)
در ریشه سایت فایلی به نام php.ini یا .user.ini ایجاد یا ویرایش کنید و بنویسید:

memory_limit = 256M

روش سوم: از طریق htaccess.

php_value memory_limit 256M

توجه: اگر هاست شما این دستورات را محدود کرده باشد، با پشتیبانی تماس بگیرید.

پس از افزایش حافظه، دوباره صفحه را چک کنید.

پیشنهاد مطالعه : راهنمای افزایش حافظه وردپرس


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

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

۱. با FTP یا File Manager به پوشه wp-content بروید.
۲. نام پوشه plugins را به plugins_old تغییر دهید. (مثلاً: pluginsplugins.off)
۳. حالا سایت را بررسی کنید. اگر صفحه سفید رفع شد، یعنی یک افزونه مقصر بوده است.
۴. اکنون نام پوشه را دوباره plugins برگردانید.
۵. حالا وارد پیشخوان شوید و افزونه‌ها را یکی‌یکی غیرفعال کنید تا مقصر را پیدا کنید.

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

روش جایگزین با دیتابیس:
اگر FTP ندارید، می‌توانید از phpMyAdmin برای غیرفعال کردن افزونه‌ها استفاده کنید. جدول wp_options را باز کنید، ردیفی که option_name آن active_plugins است را پیدا و خالی کنید (مقدار را به a:0:{} تغییر دهید). اما دقت بالا می‌طلبد.

۶. بازگشت به پوسته پیش‌فرض

اگر غیرفعال کردن افزونه‌ها جواب نداد، نوبت پوسته است.

۱. از طریق FTP به wp-content/themes/ بروید.
۲. پوشه پوسته فعال را (معمولاً اسمش مشخص است) مثلاً به mytheme_off تغییر نام دهید.
۳. وردپرس به طور خودکار به آخرین پوسته پیش‌فرض نصب‌شده (مثلاً Twenty Twenty-Five) برمی‌گردد.
۴. سایت را چک کنید. اگر مشکل حل شد، پوسته شما مشکل دارد. فایل‌های functions.php یا header.php پوسته را بررسی کنید.

نکته: اگر پوسته پیش‌فرض نداشته باشید، وردپرس قادر به نمایش سایت نیست و ممکن است همچنان خطا بدهد. بنابراین همیشه حداقل یک پوسته پیش‌فرض مانند Twenty Twenty-Five را نگه دارید.

پیشنهاد مطالعه : کشینگ در وردپرس چیست

۷. تعمیر فایل htaccess.

فایل .htaccess که در ریشه سایت قرار دارد، ممکن است خراب شده باشد. یک راه سریع بازنشانی آن است:

۱. نام فایل .htaccess را به .htaccess_old تغییر دهید.
۲. به پیشخوان وردپرس بروید (اگر در دسترس است) و به تنظیمات > پیوندهای یکتا بروید.
۳. بدون تغییر چیزی، روی «ذخیره تغییرات» کلیک کنید. این کار یک فایل .htaccess سالم جدید ایجاد می‌کند.
۴. اگر دسترسی به پیشخوان ندارید، محتویات استاندارد وردپرس را در یک فایل .htaccess جدید قرار دهید:

# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

اگر از قبل کدهای امنیتی یا کش در htaccess داشتید، موقتاً آن‌ها را حذف کنید و تست کنید.


۸. افزایش محدودیت‌های زمانی PHP

گاهی خطا به دلیل اتمام زمان اجرای اسکریپت است. می‌توانید در wp-config.php اضافه کنید:

set_time_limit(300);

یا از طریق .htaccess:

php_value max_execution_time 300

و همچنین max_input_time و max_input_vars می‌توانند در صورت ارسال فرم‌های سنگین مشکل‌ساز شوند. افزایش این مقادیر گاهی صفحه سفید بخش مدیریت را حل می‌کند.


۹. بازنشانی هسته وردپرس (دستی و خودکار)

اگر فایل‌های اصلی وردپرس آسیب دیده باشند (مثلاً بعد از به‌روزرسانی ناقص)، باید هسته را دوباره جایگزین کنید.

روش نیمه‌خودکار (از طریق پیشخوان):
اگر دسترسی به پیشخوان دارید، به داشبورد > به‌روزرسانی‌ها بروید و روی «نصب مجدد نسخه فعلی» کلیک کنید.

روش دستی:
۱. آخرین نسخه وردپرس را از wordpress.org دانلود کنید.
۲. فایل zip را باز کرده و پوشه wp-content را حذف کنید (مهم!).
۳. محتویات باقی‌مانده (پوشه‌های wp-admin، wp-includes و فایل‌های ریشه) را از طریق FTP به ریشه سایت آپلود کنید و جایگزین فایل‌های قدیمی کنید.
۴. با این کار فایل‌های wp-content (شامل افزونه‌ها و پوسته‌ها) دست نخورده می‌مانند.

۱۰. استفاده از حالت بازیابی وردپرس (Recovery Mode)

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

  • صندوق ایمیل مدیریت خود را چک کنید (همان ایمیلی که در تنظیمات > عمومی ثبت شده).
  • روی لینک کلیک کنید. پس از ورود، پیامی نشان می‌دهد کدام افزونه یا پوسته غیرفعال شده است.
  • می‌توانید آن را حذف یا بروزرسانی کنید.

اگر ایمیلی دریافت نکردید، احتمالاً ارسال ایمیل در هاست شما مشکل دارد (که خود بحثی جداگانه است) یا خطا آنقدر شدید بوده که وردپرس هم قادر به شناسایی نبوده است.


۱۱. ابزارهای حرفه‌ای: Query Monitor و لاگ‌های سرور

برای کاربران پیشرفته:

  • افزونه Query Monitor: اگر دسترسی به پیشخوان دارید، این افزونه را نصب کنید (یا با FTP در پوشه plugins قرار دهید). هرگونه خطای PHP، خطاهای کشنده، و مشکلات پایگاه داده را در نوار ابزار پیشخوان نشان می‌دهد.
  • لاگ‌های خطای سرور: در هاست cPanel، به بخش «Error Logs» یا «Logs» بروید. خطاهای PHP در آنجا با مسیر کامل فایل ثبت می‌شوند. همچنین می‌توانید فایل error_log در ریشه سایت یا پوشه‌های مختلف را بررسی کنید.
  • PHP error_reporting: گاهی می‌توانید با قرار دادن کد زیر در بالای wp-config.php، سطح گزارش‌دهی را افزایش دهید:
error_reporting(E_ALL);
ini_set('display_errors', 1);

این کد تمام خطاها را بدون نیاز به WP_DEBUG روی صفحه نمایش می‌دهد (موقت استفاده کنید).


۱۲. وقتی فقط پیشخوان (wp-admin) سفید است

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

  • افزونه‌های اخیراً اضافه یا بروزرسانی شده را از طریق FTP غیرفعال کنید.
  • کش مرورگر و کوکی‌ها را پاک کنید.
  • wp-admin و wp-includes را به صورت دستی جایگزین کنید.
  • فایل functions.php پوسته را بررسی کنید که آیا کدی دارد که فقط برای صفحات مدیریت اجرا می‌شود (مثلاً if( is_admin() )). ممکن است آن کد مشکل داشته باشد.

۱۳. عیب‌یابی پیشرفته: کش، CDN و تداخل سرور

  • کش و CDN: پس از رفع مشکل، کش وردپرس (افزونه کش)، CDN و کش مرورگر را کاملاً خالی کنید. گاهی صفحه سفید به دلیل نمایش نسخه کش‌شده از زمان خطا است، در حالی که مشکل واقعی برطرف شده است.
  • محدودیت‌های mod_security: برخی هاست‌ها قوانین امنیتی سختگیرانه‌ای دارند که باعث می‌شود برخی کدهای PHP مسدود شوند و صفحه سفید ظاهر شود. با پشتیبانی هاست بررسی کنید.
  • فضای دیسک پر: اگر فضای هاست پر باشد، PHP نمی‌تواند فایل‌های موقت یا session ایجاد کند و صفحه سفید ظاهر می‌شود. میزان فضای مصرفی را در cPanel چک کنید.

پیشنهاد مطالعه : آموزش جامع رفع محدودیت حجم آپلود در وردپرس

۱۴. چک‌لیست پیشگیری از صفحه سفید در آینده

۱. همیشه قبل از بروزرسانی، بک‌آپ بگیرید (فایل + دیتابیس). از افزونه‌هایی مثل UpdraftPlus استفاده کنید.
۲. محیط تست (Staging) ایجاد کنید: اکثر هاست‌ها قابلیت ساخت سایت آزمایشی دارند. افزونه‌ها و پوسته‌ها را ابتدا آنجا تست کنید.
۳. افزونه Health Check & Troubleshooting: این افزونه رسمی وردپرس را نصب کنید. این ابزار به شما امکان می‌دهد بدون تأثیر بر بازدیدکنندگان، افزونه‌ها را غیرفعال کنید و پوسته را تغییر دهید.
۴. فقط از منابع معتبر افزونه و پوسته تهیه کنید.
۵. PHP را به آخرین نسخه پایدار (۸.۱ یا ۸.۲) به‌روز نگه دارید.
۶. محدودیت حافظه را برای همیشه روی ۲۵۶M تنظیم کنید (در wp-config.php).
۷. یک ابزار مانیتورینگ مانند Jetpack یا UptimeRobot راه‌اندازی کنید تا در صورت از کار افتادن سایت بلافاصله مطلع شوید.

۱۵. جمع‌بندی و راهنمای سریع

اگر همین حالا با صفحه سفید مواجه شده‌اید، این مسیر را قدم‌به‌قدم طی کنید:

  1. WP_DEBUG را در wp-config.php فعال کنید ← خطای ثبت‌شده در debug.log مقصر را نشان می‌دهد.
  2. حافظه PHP را افزایش دهید (WP_MEMORY_LIMIT, 256M).
  3. پوشه plugins را از طریق FTP تغییر نام دهید.
  4. پوسته را با تغییر نام پوشه آن غیرفعال کنید.
  5. فایل .htaccess را بازنشانی کنید.
  6. اگر هیچکدام جواب نداد، هسته وردپرس را به‌صورت دستی جایگزین کنید.
  7. اگر همچنان حل نشد، با پشتیبانی هاست تماس بگیرید و لاگ‌های خطا را بخواهید.

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

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

اشتراک بگذارید :

بنیامین ولادوست، بنیان‌گذار و مدیر تیم تخصصی پرشیا وب، بیش از یک دهه تجربه حرفه‌ای در عرصۀ طراحی وب‌سایت، سئو، تولید محتوا، فروش رپورتاژ و بک‌لینک دارد. او با ترکیب دانش فنی و درک عمیق از رفتار کاربران، به برندها و کسب‌وکارها کمک می‌کند تا نه‌تنها ظاهر دیجیتال قدرتمندی داشته باشند، بلکه در نتایج جستجوی گوگل هم بدرخشند.

از سال ۲۰۱۳ فعالیت حرفه‌ای خود را در حوزه طراحی وب آغاز کرد و تاکنون بیش از 300 پروژه طراحی سایت و بهینه‌سازی سئو در صنایع مختلف اجرا کرده است. تجربه عملی او در پروژه‌های واقعی، به ویژه در کسب‌وکارهای ایرانی، موجب شده است بتواند راهکارهایی کاملاً کاربردی و بومی برای رشد آنلاین ارائه دهد.

طراحی و توسعه وب‌سایت‌های شرکتی، فروشگاهی و شخصی با تمرکز بر سرعت، امنیت و تجربه کاربری (UX)
استراتژی‌های سئو فنی، on-page و off-page برای افزایش رتبه در نتایج گوگل
تحلیل رقبا، تحقیق کلمات کلیدی و اجرای کمپین‌های تولید محتوا
مشاوره و اجرای رپورتاژ آگهی و لینک‌سازی هدفمند برای بهبود اعتبار دامنه
طراحی کمپین‌های دیجیتال مارکتینگ یکپارچه برای برندهای نوپا و فعال
مطالب آموزشی و مقالات سئویی که توسط بنیامین ولادوست در وبلاگ “پرشیا وب” منتشر می‌شوند، بر پایه جدیدترین الگوریتم‌های گوگل و استانداردهای جهانی تدوین شده‌اند. او به عنوان متخصص مورد اعتماد در حوزه دیجیتال مارکتینگ، تاکنون در بیش از ۲۰ مجموعه آموزشی و ورکشاپ تخصصی سخنرانی و تدریس داشته است. بسیاری از کسب‌وکارهای آنلاین موفق، مسیر رشد خود را با آموزش‌ها و راهنمایی‌های او آغاز کرده‌اند.

تمام راهکارها و خدماتی که توسط بنیامین ولادوست و تیم “پرشیا وب” ارائه می‌شوند، بر پایه صداقت، شفافیت و تحلیل داده‌های واقعی بنا شده‌اند. هدف او ارائه مشاوره‌ای است که نه بر اساس تبلیغات، بلکه بر پایه داده و عملکرد واقعی کسب‌وکارها باشد.

دیدگاه‌ خود را بنویسید

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

پیمایش به بالا