رفع خطای صفحه سفید وردپرس | علت و روش های رفع صفحه مرگ وردپرس

رفع خطای صفحه سفید وردپرس | علت و روش های رفع صفحه مرگ وردپرس

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

0 20 مهر 1405

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

صفحه سفید وردپرس چیست؟

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

این خطا می تواند کل سایت یا فقط یک بخش از آن را تحت تأثیر قرار دهد. برای مثال ممکن است:

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

وردپرس نیز افزونه ها، قالب ها، خطاهای PHP، کمبود حافظه و خرابی فایل های اصلی را از علت های رایج صفحه سفید معرفی می کند.

برای رفع خطای صفحه سفید وردپرس از اینجا شروع کنید

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

اتفاقی که قبل از خطا افتاده اولین کاری که انجام دهید
نصب یا بروزرسانی افزونه غیرفعال کردن افزونه‌ها
تغییر یا بروزرسانی قالب تغییر قالب به قالب پیش‌فرض
تغییر نسخه PHP بررسی و بازگردانی نسخه PHP
بروزرسانی وردپرس بررسی فایل‌های اصلی وردپرس
افزایش بازدید یا اجرای عملیات سنگین بررسی Memory Limit و منابع هاست
تغییر فایل‌های سایت بررسی همان فایل و debug.log
بدون هیچ تغییر مشخصی بررسی Error Log هاست

اگر نمی دانید مشکل دقیقاً از کجاست، فعال کردن Debug و بررسی debug.log بهترین نقطه برای شروع عیب یابی است.

 

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

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

افزونه ناسازگار یا خراب

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

مشکل در قالب وردپرس

قالب نیز می تواند باعث خطای PHP و سفید شدن سایت شود مخصوصاً اگر اخیراً قالب را تغییر داده اید یا فایل هایی مانند functions.php را ویرایش کرده اید. اگر بعد از تغییر قالب سایت سفید شده است، اولین تست شما باید فعال کردن یک قالب پیش فرض وردپرس باشد.

خطای PHP

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

خطاهایی مانند:

  • Fatal error
  • Call to undefined function
  • Uncaught Error
  • Cannot redeclare function

می توانند سرنخ خوبی برای پیدا کردن عامل مشکل باشند.

کمبود حافظه PHP

هر سایت وردپرسی مقدار مشخصی حافظه PHP در اختیار دارد. اگر افزونه یا قالب برای اجرای یک عملیات به حافظه بیشتری نیاز داشته باشد، PHP ممکن است اجرای درخواست را متوقف کند. یکی از خطاهای رایج در این شرایط: Allowed memory size exhausted است. اگر سایت شما با عملیات سنگین، افزونه های زیاد یا ووکامرس کار می کند، محدودیت منابع PHP اهمیت بیشتری پیدا می کند.

ناسازگاری نسخه PHP

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

خرابی فایل های اصلی وردپرس

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

مشکل در هاست یا منابع سرور

گاهی مشکل از خود وردپرس نیست. مصرف بیش از حد CPU یا RAM، محدودیت حافظه PHP، تنظیمات نادرست PHP، خطای وب سرور یا اختلال سرویس میزبانی می تواند اجرای وردپرس را متوقف کند. اگر بعد از غیرفعال کردن افزونه ها و تغییر قالب مشکل باقی ماند، باید سراغ Error Log هاست بروید.

 

روش های رفع خطای صفحه سفید وردپرس

در این قسمت ۷ روش کاربردی برای رفع این خطا را بررسی می‌کنیم و مرحله به مرحله توضیح می‌دهیم چطور این ارور را برطرف کنید.

۱. افزونه های وردپرس را غیرفعال کنید

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

توجه داشته باشید که با این کار استایل و ظاهر سایت شما خراب خواهد شد ولی برای پیدا کردن تداخل احتمالی بین افزونه ها و ریست باگ احتمالی در دیتابیس اهمیت دارد.

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

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

  1. نام plugins-old را دوباره به plugins تغییر دهید.
  2. وارد پوشه plugins شوید.
  3. نام افزونه ها را یکی یکی تغییر دهید.
  4. بعد از هر تغییر سایت را تست کنید.
  5. افزونه ای که باعث بازگشت صفحه سفید می شود، عامل خطاست.

نکته: اگر با File Manager کار نکرده اید، قبل از تغییر نام یا حذف فایل ها یک بکاپ از سایت بگیرید.

۲. قالب وردپرس را تغییر دهید

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

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

public_html/wp-content/themes/

پوشه قالب فعال را پیدا کنید و نام آن را تغییر دهید. مثلاً: mytheme را به: mytheme-old تغییر دهید. اگر قالب پیش فرض دیگری در سایت وجود داشته باشد، وردپرس می تواند از آن استفاده کند.

۳. Memory Limit وردپرس را افزایش دهید

اگر  با خطای Allowed memory size exhausted مواجه شدید، احتمالاً حافظه PHP برای اجرای درخواست کافی نیست. در فایل: wp-config.php و قبل از خط: /* That’s all, stop editing! Happy blogging. */ می توانید این مقدار را اضافه کنید:

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

بعد سایت را تست کنید.

اگر مشکل باقی ماند، احتمال دارد محدودیت از سمت PHP هاست تعیین شده باشد و تغییر WP_MEMORY_LIMIT به تنهایی کافی نباشد.

 

۴. Debug وردپرس را فعال کنید

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

  1. ابتدا از سایت بکاپ بگیرید. میتوانید مقاله آموزش بکاپ‌ گیری کامل در سی‌پنل را مطالعه نمایید.
  2. قبل از ویرایش wp-config.php یک نسخه پشتیبان داشته باشید.
  3. فایل wp-config.php را پیدا کنید

در File Manager هاست معمولاً فایل در مسیر اصلی وردپرس قرار دارد:

  1. public_html/wp-config.php
  2. روی فایل کلیک راست کنید و گزینه Edit را بزنید.

کد 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! را توصیه می کند.

هر گزینه چه کاری انجام می دهد؟

  • WP_DEBUG: حالت عیب یابی وردپرس را فعال می کند.
  • WP_DEBUG_LOG: خطاها را در فایل debug.log ذخیره می کند.
  • WP_DEBUG_DISPLAY: مشخص می کند خطا روی صفحه نمایش داده شود یا نه.

برای سایت دارای بازدید فعال بهتر است خطاها روی صفحه نمایش داده نشوند به همین دلیل مقدار آن را false قرار دادیم.

۵. فایل debug.log را پیدا و بررسی کنید

حالا که WP_DEBUG و WP_DEBUG_LOG را فعال کردید، سایت را دوباره باز کنید تا خطا دوباره ایجاد شود. سپس در File Manager به این مسیر بروید:

public_html/wp-content/debug.log

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

مثلاً ممکن است چیزی شبیه این ارور ها را ببینید:

  • PHP Fatal error: Allowed memory size exhausted
  • PHP Fatal error: Uncaught Error
  • PHP Fatal error: Call to undefined function

چطور از روی خطا بفهمیم مشکل از کجاست؟ فرض کنید در لاگ چنین مسیری می بینید: /wp-content/plugins/elementor/… احتمال دارد Elementor یا بخشی که با آن درگیر شده عامل خطا باشد.

  • اگر مسیر شامل: /wp-content/themes/… باشد، باید قالب را بررسی کنید.
  • اگر خطا به wp-includes یا wp-admin اشاره کند، احتمال خرابی فایل های اصلی وردپرس بیشتر می شود.
  • اگر خطا درباره Allowed memory size باشد، باید Memory Limit و منابع PHP را بررسی کنید. بعد از رفع مشکل Debug را خاموش کنید ، Debug را روی سایت اصلی روشن رها نکنید.

در wp-config.php مقادیر را به حالت زیر برگردانید:

define( ‘WP_DEBUG’, false );

define( ‘WP_DEBUG_LOG’, false );

define( ‘WP_DEBUG_DISPLAY’, false );

همچنین اگر debug.log حاوی اطلاعات خطاهای سایت است، بعد از پایان عیب یابی آن را نگه ندارید یا دسترسی عمومی به آن را محدود کنید. مستندات وردپرس نیز درباره قرار گرفتن فایل لاگ در مسیر قابل دسترس عمومی هشدار می دهد.

۶. فایل .htaccess را بررسی کنید

اگر مشکل بعد از تغییر پیوندهای یکتا، انتقال سایت یا تغییر تنظیمات سرور ایجاد شده، .htaccess را بررسی کنید.

این فایل معمولاً در مسیر اصلی نصب وردپرس و در پوشه public_html/.htaccess هاست قرار دارد. اگر فایل را نمی بینید، در File Manager گزینه Show Hidden Files را فعال کنید.

قبل از تغییر .htaccess چه کار کنیم؟

ابتدا نام فایل را تغییر دهید: .htaccess به .htaccess-old سپس سایت را تست کنید. اگر سایت دوباره باز شد، احتمال دارد مشکل از قوانین داخل .htaccess باشد. اگر به پیشخوان دسترسی دارید، از مسیر: تنظیمات ← پیوندهای یکتا بدون تغییر گزینه ها، روی ذخیره تغییرات کلیک کنید تا وردپرس قوانین .htaccess را دوباره ایجاد کند.

۷. نسخه PHP هاست را بررسی کنید

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

۸. فایل های اصلی وردپرس را بررسی کنید

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

در حالت معمول نباید پوشه: wp-content و فایل: wp-config.php را حذف کنید. وردپرس برای White Screen نیز جایگزین کردن پوشه های wp-admin و wp-includes با نسخه سالم را به عنوان یکی از راهکارهای عیب یابی معرفی می کند.

۹. Error Log هاست را بررسی کنید

اگر هیچ کدام از روش های بالا جواب نداد، حالا باید ببینید خود سرور چه خطایی ثبت کرده است. در بسیاری از پنل های هاست، بخشی با عنوان هایی مانند:

  • Errors
  • Error Log
  • Errors Log
  • PHP Error Log

وجود دارد. در cPanel معمولاً می توانید از بخش Metrics → Errors خطاهای اخیر را ببینید.

اگر در این بخش خطاهایی مانند موارد زیر مشاهده کردید:

  • PHP Fatal error
  • Out of memory
  • Max execution time exceeded
  • Internal Server Error
  • Connection timed out

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

اگر هیچ کدام از روش های بالا برای حل مشکل خطای صفحه سفید وردپرس  جواب نداد چه کنیم؟

اگر افزونه ها را غیرفعال کردید، قالب را تغییر دادید، debug.log را بررسی کردید و همچنان سایت سفید است، قبل از اینکه فایل های بیشتری را حذف کنید، سراغ پشتیبانی هاست بروید. به خصوص اگر:

  • سایت بدون هیچ تغییر مشخصی ناگهان سفید شده
  • Error Log خطای سرور نشان می دهد
  • Memory Limit یا منابع سرور پر شده
  • چند سایت روی یک سرویس هم زمان مشکل پیدا کرده اند
  • بعد از تغییر تنظیمات PHP مشکل ایجاد شده
  • به File Manager یا تنظیمات PHP دسترسی ندارید.

اگر هاست شما راست چین کلود است

اگر سایت روی سرویس های هاست راست چین کلود قرار دارد و با صفحه سفید مواجه شده اید، می توانید مشکل را برای تیم پشتیبانی ارسال کنید تا مشخص شود خطا از افزونه، قالب، 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 و مشکلات وب سرور می توانند باعث اختلال در اجرای وردپرس شوند. اگر لاگ سرور به منابع یا سرویس های هاست اشاره می کند، بهتر است موضوع را با پشتیبانی هاست در میان بگذارید.

نظر شما چیست؟
سهیل دهقانی
سهیل دهقانی

کاوش در دنیای وب، از هاست و سرور تا وردپرس و امنیت. 🍀

شبکه های اجتماعی
به جواب سوالت رسیدی؟

ثبت دیدگاه ها

100days
×