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

۱. صفحه سفید مرگ دقیقاً چیست و چرا اتفاق میافتد؟
وقتی یک اسکریپت PHP با یک خطای مرگبار (Fatal Error) مواجه میشود و نمایش خطاها در سرور غیرفعال است، اجرای کد متوقف میشود و خروجی صفحه کاملاً قطع میشود. نتیجه؟ صفحهای سفید بدون هیچ پیامی. برخلاف خطاهای معمولی که شاید یک اخطار زردرنگ ببینید، اینجا «سکوت محض» برقرار است. شایعترین دلایل این خطا عبارتند از:
- تداخل افزونهها (Plugin Conflict): افزونهای ناسازگار، قدیمی یا خراب که کد PHP اشتباهی اجرا میکند.
- پوسته معیوب: فایلی در پوسته (معمولاً
functions.php) که دستورات نادرست یا فراخوانی تابعی ناموجود دارد. - کمبود حافظه PHP (Memory Exhausted): مجموع اسکریپتها بیش از حد مجاز RAM مصرف کردهاند و سرور درخواست را متوقف میکند.
- خرابی فایلهای هسته وردپرس: معمولاً پس از بهروزرسانی ناقص خودکار یا دستی.
- خطا در فایل
.htaccess: دستورات بازنویسی (Rewrite) یا محدودیتهای نادرست که باعث اختلال میشوند. - محدودیتهای سرور: زمان اجرای اسکریپت، محدودیت حافظه، یا قوانین امنیتی سختگیرانه مانند
mod_security. - فضای دیسک پر: اگر هاست شما کاملاً پر شده باشد، PHP نمیتواند فایلهای موقت ایجاد کند و صفحه سفید ظاهر میشود.
خبر خوب اینکه بیش از ۹۰٪ موارد قابل حل هستند، آن هم توسط خودتان. در ادامه، یک مسیر عیبیابی گامبهگام طراحی کردهایم که با کمترین ریسک، مشکل را آشکار و برطرف میکند.

۲. اولین اقدام اضطراری: آرام بمانید و مسیر دسترسیتان را مشخص کنید
پیش از هر کاری، لحظهای مکث کنید و ببینید دقیقاً چه امکاناتی در اختیار دارید. این کار جهت اقدامات بعدی را مشخص میکند:
- آیا به پیشخوان وردپرس (wp-admin) دسترسی دارید؟ اگر بله، کار بسیار سادهتر است و بیشتر راهکارها از داخل خود وردپرس قابل انجام است.
- اگر پیشخوان هم سفید است یا ارور ۵۰۰ میدهد، باید از طریق FTP، مدیریت فایل هاست (File Manager در cPanel/DirectAdmin) یا phpMyAdmin وارد عمل شوید.
- به ایمیل مدیر سایت دسترسی دارید؟ وردپرس از نسخه ۵.۲ به بعد در صورت بروز خطای مرگبار، یک ایمیل با لینک حالت بازیابی (Recovery Mode) ارسال میکند. این ایمیل را چک کنید (پوشه اسپم را هم بررسی کنید).
- به کنترل پنل هاست و لاگهای خطا دسترسی دارید؟ در بسیاری از موارد، خطای اصلی در بخش Error Logs هاست ثبت میشود.
اگر دسترسی به فایلها دارید اما هیچ نسخه پشتیبان سالمی از سایت ندارید، بهتر است ابتدا از طریق هاست یک بکآپ کامل (فایلها + دیتابیس) تهیه کنید. هرچند راهکارهای ما کمخطر هستند، اما داشتن بکآپ خیال شما را راحت میکند. حالا با توجه به مسیرتان، سراغ راهکارهای زیر بروید.
پیشنهاد مطالعه: آشنایی با مهمترین مشکلات رایج وبسایتهای فروشگاهی
۳. فعالسازی حالت اشکالزدایی (WP_DEBUG) – وادار کردن خطا به حرف زدن
سریعترین روش برای پی بردن به علت صفحه سفید، فعالسازی حالت رفع اشکال وردپرس است. این قابلیت خطاهای پنهان PHP را در یک فایل لاگ ثبت میکند و دقیقاً به شما میگوید مشکل از کدام فایل و کدام خط کد است.
چطور WP_DEBUG را فعال کنیم؟
- با File Manager هاست یا FTP به ریشه سایت (جایی که فایل
wp-config.phpقرار دارد) بروید. - فایل
wp-config.phpرا باز کنید و قبل از خط/* 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: اگر برابر
falseباشد، خطاها روی صفحه چاپ نمیشوند. اگر میخواهید خطا را مستقیماً روی صفحه ببینید (مثلاً در یک محیط تست)، میتوانید آن راtrueکنید.
- فایل را ذخیره کنید و سایت را رفرش کنید. سپس با FTP یا File Manager به مسیر
wp-content/debug.logبروید و آن را باز کنید. خطایی شبیه این خواهید دید:PHP Fatal error: Call to undefined function my_custom_function() in /home/user/public_html/wp-content/plugins/broken-plugin/broken-plugin.php on line 42مسیر
plugins/broken-pluginیعنی مقصر افزونه broken-plugin است. اگر مسیرthemes/your-themeدیده شود، مشکل از پوسته است.
نکته طلایی: پس از رفع مشکل، حتماً این خطوط را از wp-config.php حذف کنید یا WP_DEBUG را روی false بگذارید. روشن ماندن آن میتواند اطلاعات حساس را فاش کند.
۴. افزایش حافظه PHP – رفع خطای خستگی حافظه
اگر در لاگ با خطای Allowed memory size of ... exhausted مواجه شدید یا احتمال میدهید حجم پردازشها بالاست، حافظه PHP را افزایش دهید. سه روش اصلی وجود دارد (به ترتیب اولویت):
- از طریق wp-config.php: در همان فایل
wp-config.phpیک خط اضافه کنید:define('WP_MEMORY_LIMIT', '256M');این مقدار میتواند تا
512Mهم افزایش یابد. این دستور فقط محدودیت وردپرس را بالا میبرد و روی کل سرور تأثیر نمیگذارد.
- از طریق فایل php.ini یا .user.ini (مخصوص هاستهای اشتراکی): در ریشه سایت فایلی به نام
php.iniایجاد کنید (اگر وجود ندارد) و در آن بنویسید:memory_limit = 256Mدر برخی هاستها باید فایل
.user.iniساخته شود.
- از طریق .htaccess: این خط را اضافه کنید:
php_value memory_limit 256Mاگر هاست شما اجازه نمیدهد، با پشتیبانی تماس بگیرید.
پس از اعمال تغییرات، صفحه را دوباره بارگذاری کنید.
پیشنهاد مطالعه: راهنمای افزایش حافظه وردپرس
۵. غیرفعالسازی همه افزونهها (بدون نیاز به پیشخوان)
بیش از ۵۰٪ از موارد صفحه سفید، ناشی از تداخل افزونههاست. برای غیرفعال کردن یکباره همه افزونهها وقتی پیشخوان در دسترس نیست، این مراحل را طی کنید:
- با File Manager یا FTP به مسیر
/wp-content/بروید. - نام پوشه
pluginsرا موقتاً بهplugins_offتغییر دهید. این کار همه افزونهها را یکجا غیرفعال میکند. - سایت را بررسی کنید. اگر صفحه سفید ناپدید شد، علت قطعاً یکی از افزونههاست.
- اکنون نام پوشه را به
pluginsبرگردانید. سپس وارد پیشخوان شوید (الان باید در دسترس باشد) و افزونهها را یکییکی غیرفعال کنید تا مقصر را بیابید. افزونهای که اخیراً نصب یا بروزرسانی کردهاید، اولین مظنون است.
روش جایگزین از طریق دیتابیس: اگر FTP ندارید، میتوانید از phpMyAdmin استفاده کنید. جدول wp_options را باز کنید، سطری که option_name آن active_plugins است را پیدا کنید و مقدار option_value را به a:0:{} تغییر دهید. این کار افزونهها را غیرفعال میکند. (پیش از دستکاری دیتابیس حتماً بکآپ بگیرید)
۶. بازگشت به پوسته پیشفرض وردپرس
اگر غیرفعال کردن افزونهها مؤثر نبود، پوسته را غیرفعال کنید تا به یک پوسته پیشفرض (مثل Twenty Twenty-Five) برگردید:
- به مسیر
/wp-content/themes/بروید. - پوشه پوسته فعال خود را پیدا کنید (معمولاً با نام پوسته) و نام آن را به چیزی مثل
mytheme_backupتغییر دهید. - وردپرس بهطور خودکار اولین پوسته پیشفرض نصبشده را فعال میکند. سایت را رفرش کنید؛ اگر مشکل حل شد، پوسته شما مقصر است. معمولاً فایل
functions.phpپوسته حاوی کدهای مشکلدار است که باید ویرایش شود.
توصیه: همیشه حداقل یک پوسته پیشفرض وردپرس (Twenty Twenty-Four, Twenty Twenty-Five) را نصب نگه دارید تا در مواقع اضطراری پشتیبان باشد.
پیشنهاد مطالعه: کشینگ در وردپرس چیست
۷. بازنشانی فایل .htaccess
فایل .htaccess در ریشه سایت ممکن است خراب شده باشد یا دستورات نادرستی داشته باشد که منجر به صفحه سفید میشود. سادهترین راه:
- با FTP نام فایل
.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
گاهی یک اسکریپت (مثلاً ایمپورت دیتا یا پردازش تصاویر) بیش از حد مجاز طول میکشد و با خطای Maximum Execution Time مواجه میشویم. برای افزایش زمان اجرا:
- در
wp-config.phpاضافه کنید:set_time_limit(300); - یا در
.htaccess:php_value max_execution_time 300 - همچنین میتوانید
max_input_timeوmax_input_varsرا برای فرمهای سنگین افزایش دهید که گاهی باعث صفحه سفید پیشخوان میشوند.
۹. بازنشانی هسته وردپرس (تعویض فایلهای اصلی)
اگر فایلهای اصلی وردپرس (پوشههای wp-admin و wp-includes و فایلهای ریشه) دچار خرابی شده باشند (مثلاً بعد از یک بهروزرسانی قطع شده)، باید آنها را با نسخه سالم جایگزین کنید.
- روش نیمهخودکار (پیشخوان در دسترس): به داشبورد > بهروزرسانیها بروید و روی «نصب مجدد نسخه فعلی» کلیک کنید. وردپرس فایلهای هسته را از نو دانلود و جایگزین میکند.
- روش دستی (بدون پیشخوان):
- آخرین نسخه وردپرس را از wordpress.org دانلود کنید.
- فایل Zip را باز کرده و پوشه
wp-contentرا از داخل آن حذف کنید (بسیار مهم). همچنین فایلwp-config-sample.phpرا هم حذف کنید. - محتویات باقیمانده (پوشههای
wp-admin،wp-includesو فایلهای ریشه) را از طریق FTP به ریشه سایت آپلود کنید و جایگزین فایلهای موجود کنید. با این کار، فایلهایwp-content(افزونهها، پوستهها و آپلودها) دست نخورده باقی میمانند.
۱۰. استفاده از حالت بازیابی وردپرس (Recovery Mode)
از نسخه ۵.۲ وردپرس، قابلیت نجاتبخشی به نام Recovery Mode معرفی شد. اگر یک خطای مرگبار رخ دهد، وردپرس تلاش میکند افزونه یا پوسته معیوب را شناسایی و غیرفعال کند و یک ایمیل حاوی لینک ورود اضطراری به مدیر سایت بفرستد.
- ایمیل مدیریت (که در تنظیمات > عمومی ثبت شده) را بررسی کنید، حتی پوشه اسپم.
- با کلیک روی لینک، وارد محیط امنی میشوید که افزونه یا پوستهای که باعث خطا شده بود، غیرفعال شده است. در آنجا میتوانید مستقیماً آن را حذف یا بروزرسانی کنید.
- اگر ایمیلی دریافت نکردید، ممکن است ارسال ایمیل از هاست شما مشکل داشته باشد، یا خطا آنقدر شدید باشد که وردپرس هم قادر به شناسایی و ارسال ایمیل نبوده است. در این صورت به سراغ روشهای دستی قبلی بروید.
۱۱. ابزارهای حرفهای عیبیابی: Query Monitor و لاگهای سرور
برای کاربران پیشرفتهتر که میخواهند دقیقاً بدانند چه اتفاقی میافتد:
- افزونه Query Monitor: اگر پیشخوان در دسترس است، این افزونه را نصب کنید (یا از طریق FTP در پوشه plugins قرار دهید). نوار ابزار توسعهدهندهای در بالای صفحات اضافه میکند که خطاهای PHP، خطاهای کشنده، کوئریهای دیتابیس و تداخلها را نمایش میدهد. با این ابزار میتوانید افزونه معیوب را بدون غیرفعالسازی دستی شناسایی کنید.
- لاگهای خطای هاست: در cPanel یا دایرکتادمین، بخش «Error Logs» یا «PHP Error Log» آخرین خطاهای مرگبار را با مسیر دقیق فایل نشان میدهد. همچنین فایل
error_logدر ریشه سایت یا پوشههای مختلف را بررسی کنید. - فعالسازی نمایش خطا روی صفحه (موقت): در بالای
wp-config.phpاضافه کنید:error_reporting(E_ALL);
ini_set('display_errors', 1);این کار همه خطاها را مستقیماً روی مرورگر نشان میدهد. صرفاً در محیط توسعه یا پس از قطع دسترسی بازدیدکنندگان از آن استفاده کنید.
۱۲. وقتی فقط پیشخوان سفید است (و خود سایت کار میکند)
اگر سایت شما برای بازدیدکنندگان عادی درست نمایش داده میشود، اما /wp-admin/ صفحه سفید نشان میدهد، معمولاً یک افزونه یا پوسته در اسکریپتهای بخش مدیریت اختلال ایجاد کرده است. راهکارهای سریع:
- از طریق FTP، افزونههایی که اخیراً اضافه یا بروزرسانی کردهاید را غیرفعال کنید (تغییر نام پوشه).
- کش مرورگر و کوکیها را کاملاً پاک کنید.
- پوشههای
wp-adminوwp-includesرا از یک نسخه تازه وردپرس جایگزین کنید (مشابه روش بازنشانی هسته). - فایل
functions.phpپوسته را بررسی کنید. ممکن است کدی با شرطif( is_admin() )اجرا شود که مشکل ایجاد کرده است. آن بخش را موقتاً کامنت کنید.
۱۳. عیبیابی پیشرفته: نقش کش، CDN و مسائل سرور
گاهی اوقات مشکل از کد نیست، بلکه از لایههای ذخیرهسازی یا امنیتی سرور است:
- کش و CDN: اگر از CDN (مانند CDN ابر آروان یا Cloudflare) یا افزونه کش استفاده میکنید، پس از رفع مشکل اصلی، حتماً کش وردپرس، کش CDN و کش مرورگرتان را خالی کنید. نسخه کششده صفحه سفید ممکن است همچنان نمایش داده شود و شما را گمراه کند.
- محدودیتهای mod_security: فایروالهای سرور گاهی دستورات PHP بیخطر را به اشتباه مسدود میکنند و صفحه سفید ایجاد میشود. از پشتیبانی هاست بخواهید قوانین مربوطه را بررسی کنند و در صورت لزوم دامنه شما را از آن قانون مستثنی کنند.
- فضای دیسک پر: اگر فضای هاست ۱۰۰٪ پر شده باشد، PHP نمیتواند فایلهای نشست (session) یا موقت بنویسد. در cPanel میزان مصرف دیسک را چک کنید و فایلهای غیرضروری، بکآپهای قدیمی و لاگهای حجیم را پاک کنید.
پیشنهاد مطالعه: آموزش جامع رفع محدودیت حجم آپلود در وردپرس
۱۴. چکلیست پیشگیری از بازگشت صفحه سفید
حالا که مشکل حل شده، با رعایت این چند عادت ساده، احتمال تکرار آن را به حداقل برسانید:
- بکآپ منظم: از یک افزونه بکآپگیر مثل UpdraftPlus استفاده کنید و بکآپها را در فضای ابری (Google Drive, Dropbox) ذخیره کنید.
- محیط تست (Staging): بیشتر هاستهای مدرن امکان ساخت یک سایت آزمایشی (Staging) را دارند. تمام بروزرسانیهای بزرگ افزونهها و پوسته را ابتدا آنجا تست کنید.
- نصب افزونه Health Check & Troubleshooting: این افزونه رسمی وردپرس، به شما امکان میدهد بدون تأثیر بر بازدیدکنندگان، افزونهها را غیرفعال و پوسته را تغییر دهید. یک ابزار عیبیابی بینظیر.
- فقط از منابع معتبر دانلود کنید: پوستهها و افزونهها را از مخزن رسمی وردپرس یا سایتهای شناختهشده تهیه کنید.
- PHP را بهروز نگه دارید: نسخه PHP هاست را روی ۸.۱ یا ۸.۲ تنظیم کنید (اگر افزونههایتان سازگار هستند). وردپرس روی نسخههای جدیدتر سریعتر و ایمنتر کار میکند.
- محدودیت حافظه را دائمی افزایش دهید: خط
define('WP_MEMORY_LIMIT', '256M');را برای همیشه درwp-config.phpنگه دارید. - مانیتورینگ فعال: یک سرویس رایگان مانند Jetpack (بخش Downtime Monitoring) یا UptimeRobot راهاندازی کنید تا لحظهای که سایت از دسترس خارج شد، با ایمیل یا پیامک مطلع شوید.
۱۵. خلاصه و نقشه راه سریع هنگام وقوع صفحه سفید
اگر همین الان با صفحه سفید مواجه شدهاید، دقیقاً به این ترتیب عمل کنید:
- ایمیل مدیریت را چک کنید – احتمالاً لینک Recovery Mode آنجاست.
- خطایابی را فعال کنید – کد
WP_DEBUG_LOGرا درwp-config.phpقرار دهید و لاگdebug.logرا بخوانید. - حافظه PHP را افزایش دهید –
WP_MEMORY_LIMITرا روی ۲۵۶M بگذارید. - پوشه plugins را موقتاً تغییر نام دهید – از طریق FTP، مشکل از افزونهها را حذف کنید.
- پوسته را غیرفعال کنید – با تغییر نام پوشه پوسته، به پوسته پیشفرض برگردید.
- فایل .htaccess را بازنشانی کنید – با تغییر نام و تولید مجدد آن.
- هسته وردپرس را مجدداً جایگزین کنید – فایلهای اصلی را با نسخه سالم جایگزین کنید.
- با پشتیبانی هاست تماس بگیرید – لاگهای خطای سرور و محدودیتهای امنیتی را بررسی کنند.
با این راهنما، شما نهتنها صفحه سفید را شکست میدهید، بلکه به یک مدیر وردپرس حرفهای تبدیل میشوید که حتی از وقوع آن جلوگیری میکند. اگر همچنان با مشکلی مواجهید یا نیاز به کمک تخصصی دارید، میتوانید از خدمات تخصصی پشتیبانی سایت در مجموعه پرشیا وب استفاده کنید. همکاران ما با تجربهی عیبیابی صدها سایت وردپرسی، مشکل شما را ریشهیابی و برطرف خواهند کرد.
بنیامین ولادوست، بنیانگذار و مدیر تیم تخصصی پرشیا وب، بیش از یک دهه تجربه حرفهای در عرصۀ طراحی وبسایت، سئو، تولید محتوا، فروش رپورتاژ و بکلینک دارد. او با ترکیب دانش فنی و درک عمیق از رفتار کاربران، به برندها و کسبوکارها کمک میکند تا نهتنها ظاهر دیجیتال قدرتمندی داشته باشند، بلکه در نتایج جستجوی گوگل هم بدرخشند.
از سال ۲۰۱۳ فعالیت حرفهای خود را در حوزه طراحی وب آغاز کرد و تاکنون بیش از 300 پروژه طراحی سایت و بهینهسازی سئو در صنایع مختلف اجرا کرده است. تجربه عملی او در پروژههای واقعی، به ویژه در کسبوکارهای ایرانی، موجب شده است بتواند راهکارهایی کاملاً کاربردی و بومی برای رشد آنلاین ارائه دهد.
طراحی و توسعه وبسایتهای شرکتی، فروشگاهی و شخصی با تمرکز بر سرعت، امنیت و تجربه کاربری (UX)
استراتژیهای سئو فنی، on-page و off-page برای افزایش رتبه در نتایج گوگل
تحلیل رقبا، تحقیق کلمات کلیدی و اجرای کمپینهای تولید محتوا
مشاوره و اجرای رپورتاژ آگهی و لینکسازی هدفمند برای بهبود اعتبار دامنه
طراحی کمپینهای دیجیتال مارکتینگ یکپارچه برای برندهای نوپا و فعال
مطالب آموزشی و مقالات سئویی که توسط بنیامین ولادوست در وبلاگ “پرشیا وب” منتشر میشوند، بر پایه جدیدترین الگوریتمهای گوگل و استانداردهای جهانی تدوین شدهاند. او به عنوان متخصص مورد اعتماد در حوزه دیجیتال مارکتینگ، تاکنون در بیش از ۲۰ مجموعه آموزشی و ورکشاپ تخصصی سخنرانی و تدریس داشته است. بسیاری از کسبوکارهای آنلاین موفق، مسیر رشد خود را با آموزشها و راهنماییهای او آغاز کردهاند.
تمام راهکارها و خدماتی که توسط بنیامین ولادوست و تیم “پرشیا وب” ارائه میشوند، بر پایه صداقت، شفافیت و تحلیل دادههای واقعی بنا شدهاند. هدف او ارائه مشاورهای است که نه بر اساس تبلیغات، بلکه بر پایه داده و عملکرد واقعی کسبوکارها باشد.