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

خطای 500 وردپرس

یکی از مشکلاتی که ممکن است هنگام مدیریت وب‌سایت‌های وردپرسی با آن مواجه شوید، نمایش صفحه سفید یا خطای 500 (Internal Server Error) است. در این شرایط ممکن است سایت به‌درستی بارگذاری نشود، صفحه مدیریت وردپرس در دسترس نباشد یا هنگام باز کردن بعضی از صفحات با خطا مواجه شوید.

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

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

تفاوت خطای 500 با صفحه سفید وردپرس چیست؟

خطای 500 یا Internal Server Error زمانی نمایش داده می‌شود که سرور هنگام پردازش درخواست سایت با یک مشکل داخلی مواجه شود و نتواند پاسخ مناسبی ارائه دهد.

اما صفحه سفید وردپرس (White Screen of Death) به حالتی گفته می‌شود که محتوای سایت نمایش داده نمی‌شود و کاربر با یک صفحه کاملاً سفید روبه‌رو می‌شود.

این دو مشکل ممکن است علت مشترکی داشته باشند؛ برای مثال خطای Fatal در PHP یا ناسازگاری افزونه‌ها. با این حال، صفحه سفید همیشه به معنی خطای 500 نیست و ممکن است با وضعیت HTTP دیگری نیز همراه باشد.

سایتتان مشکل دارد؟ ما رفعش می‌کنیم — درخواست رفع مشکل

۱. بررسی گزارش خطاهای هاست (Error Log)

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

برای مشاهده گزارش خطاها در هاست سی‌پنل، مراحل زیر را انجام دهید:

  1. وارد کنترل پنل cPanel شوید.  (آموزش ورود به سی پنل)

  2. از قسمت Metrics گزینه Errors را انتخاب کنید.

  3. خطاهای اخیر سایت را بررسی کنید.

  4. به دنبال پیام‌های مربوط به PHP، افزونه‌ها، قالب یا محدودیت منابع باشید.

ارور 500

 

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

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

ارور لاگ

 

اگر از این طریق خطای موردنظر را پیدا نکردید، می‌توانید از پشتیبانی هاست بخواهید گزارش خطاهای سرور را در زمان بروز مشکل بررسی کند.

نکته: محل ذخیره گزارش‌های PHP با توجه به تنظیمات سرور و نوع PHP Handler متفاوت است؛ بنابراین نبودن فایل error_log در مسیر public_html به معنی نبودن خطا نیست.

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

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

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

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

  1. وارد cPanel شوید.

  2. گزینه File Manager را باز کنید.

  3. وارد مسیر نصب وردپرس شوید؛ معمولاً این مسیر public_html است.

  4. وارد پوشه wp-content شوید.

  5. پوشه plugins را پیدا کنید.

  6. روی آن کلیک راست کرده و گزینه Rename را انتخاب کنید.

  7. نام پوشه را موقتا به plugins-old تغییر دهید.

پوشه پلاگین

 

با این کار افزونه‌های وردپرس غیرفعال می‌شوند.

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

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

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

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

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

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

اگر به پیشخوان وردپرس دسترسی دارید، از مسیر زیر اقدام کنید:

نمایش ← پوسته‌ها

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

اگر به پیشخوان دسترسی ندارید، از طریق File Manager وارد مسیر زیر شوید:

public_html/wp-content/themes

پوشه قالب فعال سایت را پیدا کرده و نام آن را موقتاً تغییر دهید.

توجه داشته باشید برای انجام این کار باید حداقل یک قالب پیش‌فرض معتبر وردپرس در پوشه themes وجود داشته باشد. همچنین بهتر است پیش از تغییر نام پوشه قالب، از فایل‌ها و تنظیمات سایت نسخه پشتیبان تهیه کنید.

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

۴. بررسی محدودیت حافظه PHP

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

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

برای بررسی این موضوع، ابتدا وارد کنترل پنل هاست شوید و از قسمت مربوط به تنظیمات PHP، مقدار PHP Memory Limit را بررسی کنید.

در صورت پشتیبانی هاست از تغییر این مقدار، می‌توانید آن را متناسب با نیاز سایت افزایش دهید.

همچنین در برخی موارد می‌توان مقدار حافظه وردپرس را در فایل wp-config.php تنظیم کرد.

کد زیر را پیش از خط مربوط به That's all, stop editing قرار دهید:

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

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

همچنین پر بودن فضای دیسک هاست و محدودیت حافظه PHP دو موضوع متفاوت هستند و باید جداگانه بررسی شوند.

۵. بررسی فایل htaccess

فایل htaccess یکی از فایل‌های مهم در هاست‌های مبتنی بر Apache یا لایت اسیپید است که تنظیمات مربوط به بازنویسی آدرس‌ها، ریدایرکت‌ها و برخی محدودیت‌های دسترسی را مدیریت می‌کند.

اگر این فایل به‌درستی تنظیم نشده باشد یا کدهای ناسازگار در آن قرار گرفته باشند، ممکن است با خطای 500 مواجه شوید.

برای بررسی مشکل:

  1. وارد File Manager هاست شوید.

  2. وارد مسیر اصلی نصب وردپرس شوید.

  3. از قسمت Settings گزینه Show Hidden Files را فعال کنید تا فایل‌های مخفی نمایش داده شوند.

نمایش فایل مخفی

 

  • فایل htaccess. را پیدا کنید.

  • ابتدا از آن یک نسخه پشتیبان تهیه کنید.

  • نام فایل را موقتاً به htaccess-old تغییر دهید.

  • سایت را مجددا بررسی کنید.

فایل htacces

 

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

برای ساخت مجدد فایل پیش‌فرض، پس از اطمینان از صحت عملکرد سایت وارد پیشخوان وردپرس شوید و از مسیر زیر اقدام کنید:

تنظیمات ← پیوندهای یکتا

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

توجه: اگر سایت شما از تنظیمات اختصاصی در htaccess استفاده می‌کند، پیش از جایگزینی فایل، آن تنظیمات را بررسی کنید.

۶. بررسی نسخه PHP و افزونه‌های موردنیاز

ناسازگاری نسخه PHP با قالب یا افزونه‌های سایت نیز می‌تواند باعث بروز خطای Fatal و در نتیجه نمایش صفحه سفید یا خطای 500 شود.

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

در cPanel معمولاً از قسمت MultiPHP Manager می‌توانید نسخه PHP مربوط به دامنه را مشاهده کنید.

تغییر ورژن php

 

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

۷. فعال کردن حالت عیب‌یابی وردپرس (WP_DEBUG)

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

برای این کار وارد File Manager شوید و فایل wp-config.php را در مسیر اصلی نصب وردپرس باز کنید.

خط زیر را پیدا کنید:

define('WP_DEBUG', false);

در صورتی که این خط وجود دارد، تنظیمات آن را مطابق کد زیر تغییر دهید. اگر وجود ندارد، کدهای زیر را پیش از خط That's all, stop editing اضافه کنید.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

با این تنظیمات، خطاهای وردپرس در فایل زیر ذخیره می‌شوند:

wp-content/debug.log

پس از انجام این تغییرات، صفحه‌ای که با خطا مواجه است را مجدداً باز کنید و سپس فایل debug.log را بررسی نمایید.

این فایل می‌تواند اطلاعات مفیدی درباره افزونه، قالب یا بخشی از کد که باعث بروز مشکل شده است ارائه دهد.

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

۸. بررسی فضای هاست و محدودیت منابع

گاهی اوقات مشکل از خود وردپرس نیست و محدودیت‌های سرویس میزبانی باعث اختلال در اجرای سایت می‌شوند.

موارد زیر را بررسی کنید:

  • فضای دیسک هاست پر نشده باشد.

  • محدودیت تعداد فایل‌ها (Inode) به پایان نرسیده باشد.

  • مصرف منابع پردازشی و حافظه از محدودیت سرویس عبور نکرده باشد.

  • محدودیت اجرای اسکریپت‌های PHP باعث توقف پردازش نشده باشد.

در cPanel می‌توانید از بخش Statistics یا Resource Usage وضعیت منابع مصرفی را بررسی کنید.

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

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

 

چه زمانی باید با پشتیبانی هاست تماس بگیریم؟

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

در این شرایط، از طریق ارسال تیکت به پشتیبانی هاست درخواست بررسی گزارش خطاهای PHP و وب‌سرور را ثبت کنید.

برای بررسی سریع‌تر، اطلاعات زیر را در اختیار پشتیبانی قرار دهید:

  • آدرس صفحه‌ای که با خطا مواجه شده است.

  • زمان تقریبی بروز مشکل.

  • تغییراتی که پیش از ایجاد خطا در سایت انجام داده‌اید.

  • متن خطای ثبت‌شده در فایل error_log یا debug.log، در صورت وجود.

این اطلاعات به شناسایی سریع‌تر علت مشکل کمک می‌کنند.

جمع‌بندی

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

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

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

شدیداً توصیه می شود در صورت آگاهی نداشتن از فایلهای اجرایی هرگز اقدام به تغییر دادن فایلها ننمایید.