اگر سایت وردپرسی شما به جای محتوای اصلی یک صفحه کاملاً سفید نشان می دهد، قبل از نصب مجدد وردپرس یا حذف فایل ها، باید علت خطا را پیدا کنید. صفحه سفید وردپرس معمولاً به دلیل افزونه یا قالب ناسازگار، خطای PHP، کمبود حافظه، خرابی فایل های وردپرس یا مشکل در تنظیمات هاست ایجاد می شود.
صفحه سفید وردپرس باعث میشود سایت یا پیشخوان بدون نمایش محتوا، به صورت یک صفحه کاملاً سفید نمایش داده شود. برای رفع خطای صفحه سفید وردپرس باید ابتدا علت مشکل را پیدا کنید و سپس متناسب با آن اقدام کنید. در این مقاله، روشهای رفع این خطا را توضیح میدهیم. همچنین اگر به پیشخوان وردپرس دسترسی نداشته باشید، روش بررسی و رفع مشکل از طریق File Manager یا فایل های سایت را مرحله به مرحله آموزش میدهیم.
صفحه سفید وردپرس زمانی اتفاق می افتد که وردپرس هنگام اجرای PHP با خطایی مواجه شود و نتواند صفحه را کامل تولید کند در نتیجه کاربر به جای سایت، صفحه ای خالی می بیند.
این خطا می تواند کل سایت یا فقط یک بخش از آن را تحت تأثیر قرار دهد. برای مثال ممکن است:
وردپرس نیز افزونه ها، قالب ها، خطاهای PHP، کمبود حافظه و خرابی فایل های اصلی را از علت های رایج صفحه سفید معرفی می کند.
قبل از اینکه سراغ تغییر فایل های سایت بروید، آخرین کاری که روی سایت انجام داده اید را به یاد بیاورید. اگر درست قبل از سفید شدن سایت یکی از این کارها را انجام داده اید، از همان بخش شروع کنید:
| اتفاقی که قبل از خطا افتاده | اولین کاری که انجام دهید |
|---|---|
| نصب یا بروزرسانی افزونه | غیرفعال کردن افزونهها |
| تغییر یا بروزرسانی قالب | تغییر قالب به قالب پیشفرض |
| تغییر نسخه PHP | بررسی و بازگردانی نسخه PHP |
| بروزرسانی وردپرس | بررسی فایلهای اصلی وردپرس |
| افزایش بازدید یا اجرای عملیات سنگین | بررسی Memory Limit و منابع هاست |
| تغییر فایلهای سایت | بررسی همان فایل و debug.log |
| بدون هیچ تغییر مشخصی | بررسی Error Log هاست |
اگر نمی دانید مشکل دقیقاً از کجاست، فعال کردن Debug و بررسی debug.log بهترین نقطه برای شروع عیب یابی است.
صفحه سفید وردپرس معمولاً نتیجه یک خطای فنی در یکی از بخش های سایت است. افزونه ها، قالب، نسخه PHP، حافظه اختصاص یافته به وردپرس و حتی فایل های اصلی سایت میتوانند باعث بروز این مشکل شوند. در ادامه، مهم ترین دلایل این خطا را بررسی میکنیم.
یکی از اولین مواردی که باید بررسی کنید افزونه های سایت هستند. اگر صفحه سفید بلافاصله بعد از نصب یا بروزرسانی یک افزونه ایجاد شده، احتمال زیادی دارد همان افزونه یا تداخل آن با افزونه دیگری باعث خطا شده باشد. حتی اگر هیچ افزونه ای را اخیراً نصب نکرده باشید، بروزرسانی خودکار یک افزونه نیز می تواند شروع مشکل باشد.
قالب نیز می تواند باعث خطای PHP و سفید شدن سایت شود مخصوصاً اگر اخیراً قالب را تغییر داده اید یا فایل هایی مانند functions.php را ویرایش کرده اید. اگر بعد از تغییر قالب سایت سفید شده است، اولین تست شما باید فعال کردن یک قالب پیش فرض وردپرس باشد.
وردپرس، قالب و افزونه های آن با PHP اجرا می شوند. بنابراین اگر یکی از آنها یک خطای جدی ایجاد کند، اجرای صفحه متوقف می شود.
خطاهایی مانند:
می توانند سرنخ خوبی برای پیدا کردن عامل مشکل باشند.
هر سایت وردپرسی مقدار مشخصی حافظه PHP در اختیار دارد. اگر افزونه یا قالب برای اجرای یک عملیات به حافظه بیشتری نیاز داشته باشد، PHP ممکن است اجرای درخواست را متوقف کند. یکی از خطاهای رایج در این شرایط: Allowed memory size exhausted است. اگر سایت شما با عملیات سنگین، افزونه های زیاد یا ووکامرس کار می کند، محدودیت منابع PHP اهمیت بیشتری پیدا می کند.
اگر صفحه سفید بلافاصله بعد از تغییر نسخه PHP ایجاد شده است، احتمال ناسازگاری یکی از افزونه ها یا قالب با نسخه جدید وجود دارد. در این شرایط بهتر است به جای پایین نگه داشتن دائمی PHP، ابتدا افزونه یا قالب ناسازگار را پیدا کنید.
بروزرسانی ناقص، انتقال ناموفق سایت یا حذف تصادفی فایل ها می تواند باعث آسیب دیدن فایل های هسته وردپرس شود. در این حالت ممکن است لازم باشد فایل های wp-admin و wp-includes با نسخه سالم وردپرس جایگزین شوند. وردپرس نیز این روش را به عنوان یکی از راهکارهای رفع White Screen مطرح می کند.
گاهی مشکل از خود وردپرس نیست. مصرف بیش از حد CPU یا RAM، محدودیت حافظه PHP، تنظیمات نادرست PHP، خطای وب سرور یا اختلال سرویس میزبانی می تواند اجرای وردپرس را متوقف کند. اگر بعد از غیرفعال کردن افزونه ها و تغییر قالب مشکل باقی ماند، باید سراغ Error Log هاست بروید.
در این قسمت ۷ روش کاربردی برای رفع این خطا را بررسی میکنیم و مرحله به مرحله توضیح میدهیم چطور این ارور را برطرف کنید.
اگر بعد از نصب یا بروزرسانی افزونه سایت خطای صفحه سفید وردپرس را نشان داده است، ابتدا همه افزونه ها را غیرفعال کنید. اگر به پیشخوان دسترسی دارید از مسیر: پیشخوان وردپرس ← افزونه ها ← افزونه های نصب شده تمام افزونه ها را انتخاب و غیرفعال کنید.
توجه داشته باشید که با این کار استایل و ظاهر سایت شما خراب خواهد شد ولی برای پیدا کردن تداخل احتمالی بین افزونه ها و ریست باگ احتمالی در دیتابیس اهمیت دارد.

حالا سایت را دوباره باز کنید. اگر پیشخوان هم سفید است در این حالت از File Manager هاست استفاده کنید. به مسیر بروید: public_html/wp-content/ پوشه plugins را پیدا کنید. نام آن را مثلاً به plugins-old تغییر دهید.

حالا سایت را دوباره باز کنید. اگر سایت بالا آمد، مشکل به احتمال زیاد از یکی از افزونه هاست. برای پیدا کردن افزونه خراب:
نکته: اگر با File Manager کار نکرده اید، قبل از تغییر نام یا حذف فایل ها یک بکاپ از سایت بگیرید.
اگر غیرفعال کردن افزونه ها مشکل را حل نکرد، قالب را بررسی کنید. اگر پیشخوان باز می شود. به مسیر: نمایش ← پوسته ها بروید و یک قالب پیش فرض وردپرس را فعال کنید.

اگر سایت بعد از فعال کردن قالب پیش فرض باز شد، مشکل از قالب قبلی یا یکی از تغییرات آن است. اگر پیشخوان باز نمی شود به این مسیر بروید:
public_html/wp-content/themes/

پوشه قالب فعال را پیدا کنید و نام آن را تغییر دهید. مثلاً: mytheme را به: mytheme-old تغییر دهید. اگر قالب پیش فرض دیگری در سایت وجود داشته باشد، وردپرس می تواند از آن استفاده کند.
اگر با خطای Allowed memory size exhausted مواجه شدید، احتمالاً حافظه PHP برای اجرای درخواست کافی نیست. در فایل: wp-config.php و قبل از خط: /* That’s all, stop editing! Happy blogging. */ می توانید این مقدار را اضافه کنید:
define( ‘WP_MEMORY_LIMIT’, ‘256M’ );
بعد سایت را تست کنید.

اگر مشکل باقی ماند، احتمال دارد محدودیت از سمت PHP هاست تعیین شده باشد و تغییر WP_MEMORY_LIMIT به تنهایی کافی نباشد.
اگر نمی دانید دقیقاً چه چیزی باعث صفحه سفید شده، این مرحله یکی از مهم ترین بخش های عیب یابی است. وردپرس برای پیدا کردن خطاهای PHP ابزار Debug دارد و می تواند خطاها را داخل فایل debug.log ذخیره کند.
در File Manager هاست معمولاً فایل در مسیر اصلی وردپرس قرار دارد:

کد Debug را اضافه کنید. کد زیر را پیدا کنید:
/* That’s all, stop editing! Happy blogging. */
و قبل از آن این کد را قرار دهید:
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
@ini_set( ‘display_errors’, 0 );
وردپرس نیز قرار دادن این تنظیمات قبل از عبارت That’s all, stop editing! را توصیه می کند.
برای سایت دارای بازدید فعال بهتر است خطاها روی صفحه نمایش داده نشوند به همین دلیل مقدار آن را false قرار دادیم.
حالا که WP_DEBUG و WP_DEBUG_LOG را فعال کردید، سایت را دوباره باز کنید تا خطا دوباره ایجاد شود. سپس در File Manager به این مسیر بروید:
public_html/wp-content/debug.log
اگر فایل وجود داشته باشد، آن را باز کنید. معمولاً جدیدترین خطاها در انتهای فایل قرار دارند.

مثلاً ممکن است چیزی شبیه این ارور ها را ببینید:
چطور از روی خطا بفهمیم مشکل از کجاست؟ فرض کنید در لاگ چنین مسیری می بینید: /wp-content/plugins/elementor/… احتمال دارد Elementor یا بخشی که با آن درگیر شده عامل خطا باشد.
در wp-config.php مقادیر را به حالت زیر برگردانید:
define( ‘WP_DEBUG’, false );
define( ‘WP_DEBUG_LOG’, false );
define( ‘WP_DEBUG_DISPLAY’, false );
همچنین اگر debug.log حاوی اطلاعات خطاهای سایت است، بعد از پایان عیب یابی آن را نگه ندارید یا دسترسی عمومی به آن را محدود کنید. مستندات وردپرس نیز درباره قرار گرفتن فایل لاگ در مسیر قابل دسترس عمومی هشدار می دهد.
اگر مشکل بعد از تغییر پیوندهای یکتا، انتقال سایت یا تغییر تنظیمات سرور ایجاد شده، .htaccess را بررسی کنید.

این فایل معمولاً در مسیر اصلی نصب وردپرس و در پوشه public_html/.htaccess هاست قرار دارد. اگر فایل را نمی بینید، در File Manager گزینه Show Hidden Files را فعال کنید.
قبل از تغییر .htaccess چه کار کنیم؟
ابتدا نام فایل را تغییر دهید: .htaccess به .htaccess-old سپس سایت را تست کنید. اگر سایت دوباره باز شد، احتمال دارد مشکل از قوانین داخل .htaccess باشد. اگر به پیشخوان دسترسی دارید، از مسیر: تنظیمات ← پیوندهای یکتا بدون تغییر گزینه ها، روی ذخیره تغییرات کلیک کنید تا وردپرس قوانین .htaccess را دوباره ایجاد کند.
اگر درست بعد از تغییر نسخه PHP سایت سفید شده، نسخه قبلی را موقتاً بررسی کنید. اما این کار را به عنوان راه حل دائمی انجام ندهید. ابتدا مشخص کنید کدام افزونه یا قالب با نسخه PHP جدید سازگار نیست و آن را بروزرسانی یا جایگزین کنید. اگر امکان تست در محیط staging دارید، تغییر نسخه PHP را ابتدا آنجا انجام دهید.

اگر افزونه و قالب مشکلی ندارند و debug.log هم به یک فایل خاص اشاره نمی کند، ممکن است فایل های اصلی وردپرس ناقص یا خراب شده باشند. در این شرایط ابتدا بکاپ بگیرید. سپس فایل های سالم نسخه فعلی وردپرس را تهیه کنید و فایل های هسته را جایگزین کنید.
در حالت معمول نباید پوشه: wp-content و فایل: wp-config.php را حذف کنید. وردپرس برای White Screen نیز جایگزین کردن پوشه های wp-admin و wp-includes با نسخه سالم را به عنوان یکی از راهکارهای عیب یابی معرفی می کند.
اگر هیچ کدام از روش های بالا جواب نداد، حالا باید ببینید خود سرور چه خطایی ثبت کرده است. در بسیاری از پنل های هاست، بخشی با عنوان هایی مانند:
وجود دارد. در cPanel معمولاً می توانید از بخش Metrics → Errors خطاهای اخیر را ببینید.

اگر در این بخش خطاهایی مانند موارد زیر مشاهده کردید:
اطلاعات خطا را نگه دارید. اگر مشکل از محدودیت منابع یا تنظیمات سرور باشد، تغییر فایل های وردپرس الزاماً آن را حل نمی کند.
اگر افزونه ها را غیرفعال کردید، قالب را تغییر دادید، debug.log را بررسی کردید و همچنان سایت سفید است، قبل از اینکه فایل های بیشتری را حذف کنید، سراغ پشتیبانی هاست بروید. به خصوص اگر:
اگر سایت روی سرویس های هاست راست چین کلود قرار دارد و با صفحه سفید مواجه شده اید، می توانید مشکل را برای تیم پشتیبانی ارسال کنید تا مشخص شود خطا از افزونه، قالب، PHP، منابع یا زیرساخت هاست است.
راست چین کلود برای سرویس های وردپرسی، تیم پشتیبانی مخصوص وردپرس دارد و سرویس هاست پیشرفته وردپرس را ارائه می دهد.
بله، اما همه مشکلات از هاست نیست! اگر debug.log نشان دهد یک افزونه Fatal Error ایجاد کرده، مشکل از همان افزونه است. اما اگر خطاهایی مانند کمبود منابع، Timeout، خطای PHP یا خطای وب سرور مشاهده شود، زیرساخت هاست می تواند یکی از عوامل باشد. در سرویس های هاست وردپرس، مواردی مانند منابع سرور، پیکربندی PHP، وب سرور و کیفیت پشتیبانی اهمیت دارند.
راست چین کلود در سرویس هاست وردپرس خود مواردی مانند سرورهای قدرتمند، مانیتورینگ، سرور کم تراکم و تیم پشتیبانی مخصوص وردپرس را ارائه می کند. بنابراین اگر علت صفحه سفید از زیرساخت باشد، داشتن پشتیبانی تخصصی وردپرس می تواند زمان تشخیص و رفع مشکل را کوتاه تر کند البته اگر منشأ خطا افزونه، قالب یا کد سایت باشد، همان بخش باید اصلاح شود.
برای رفع خطای صفحه سفید وردپرس لازم نیست از همان ابتدا وردپرس را دوباره نصب کنید یا فایل های سایت را حذف کنید. اولین کار این است که ببینید خطا بعد از چه تغییری ایجاد شده است. سپس افزونه ها و قالب را بررسی کنید. اگر علت مشخص نشد، WP_DEBUG و WP_DEBUG_LOG را فعال کنید و فایل wp-content/debug.log را بخوانید.
این فایل معمولاً سرنخ مهمی درباره افزونه، قالب، PHP یا بخشی از وردپرس که باعث توقف اجرا شده در اختیار شما می گذارد. اگر خطا به منابع، PHP یا وب سرور مربوط بود و از طریق تنظیمات وردپرس قابل رفع نبود، نوبت بررسی هاست و Error Log سرور است. در چنین شرایطی، اگر سایت روی راست چین کلود قرار دارد، می توانید از پشتیبانی تخصصی وردپرس برای بررسی مشکل کمک بگیرید.
ارور صفحه سفید وردپرس بعد از نصب افزونه را چطور رفع کنیم؟
اگر بلافاصله بعد از نصب یا بروزرسانی افزونه سایت ارور صفحه سفید ردیافت کرده اید، ابتدا همان افزونه را غیرفعال کنید. اگر به پیشخوان دسترسی ندارید، پوشه wp-content/plugins را از طریق File Manager موقتاً تغییر نام دهید. اگر سایت بالا آمد، افزونه ها را یکی یکی فعال کنید تا افزونه مشکل ساز مشخص شود.
اگر هم سایت و هم پیشخوان وردپرس سفید باشد چه کار کنم؟
در این حالت از طریق File Manager یا FTP وارد فایل های سایت شوید. ابتدا پوشه افزونه ها را تغییر نام دهید و سایت را تست کنید. اگر مشکل باقی ماند، قالب فعال را نیز موقتاً تغییر نام دهید. اگر همچنان صفحه سفید بود، WP_DEBUG_LOG را فعال کنید و debug.log را بررسی کنید.
از کجا بفهمم صفحه سفید به خاطر Memory Limit است؟
اگر در debug.log یا Error Log خطایی شبیه Allowed memory size exhausted می بینید، حافظه PHP احتمالاً برای اجرای درخواست کافی نبوده است. در این شرایط WP_MEMORY_LIMIT و محدودیت حافظه PHP هاست را بررسی کنید.
اگر debug.log ساخته نشد چه کار کنم؟
ابتدا مطمئن شوید این سه مقدار در wp-config.php درست قرار گرفته اند:
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
کد باید قبل از عبارت That’s all, stop editing! قرار گرفته باشد. سپس یک بار صفحه ای که سفید است را باز کنید و دوباره wp-content را بررسی کنید. طبق مستندات وردپرس، WP_DEBUG_LOG در صورت فعال بودن WP_DEBUG خطاها را در wp-content/debug.log ذخیره می کند.
آیا برای رفع صفحه سفید باید وردپرس را دوباره نصب کنم؟
معمولاً نه. ابتدا افزونه ها، قالب، PHP، Memory Limit، debug.log و فایل های اصلی وردپرس را بررسی کنید. نصب مجدد هسته وردپرس زمانی منطقی است که مشخص شود فایل های اصلی آسیب دیده اند.
اگر صفحه سفید فقط بعد از تغییر PHP ایجاد شده باشد چه؟
احتمال ناسازگاری قالب یا یکی از افزونه ها با نسخه PHP جدید وجود دارد. ابتدا نسخه PHP را به وضعیت قبلی برگردانید تا سایت در دسترس قرار بگیرد، سپس افزونه ها و قالب را بررسی و بروزرسانی کنید و دوباره نسخه جدید PHP را تست کنید.
آیا مشکل هاست می تواند باعث صفحه سفید وردپرس شود؟
بله. محدودیت منابع، خطاهای PHP، Timeout و مشکلات وب سرور می توانند باعث اختلال در اجرای وردپرس شوند. اگر لاگ سرور به منابع یا سرویس های هاست اشاره می کند، بهتر است موضوع را با پشتیبانی هاست در میان بگذارید.