رفع خطای ۵۰۰ وردپرس

رفع خطای ۵۰۰ وردپرس (Internal Server Error): راهنمای کامل و گام‌به‌گام

رفع خطای ۵۰۰ وردپرس (Internal Server Error) یعنی سرور با یک خطای بحرانی PHP روبه‌رو شده و نتوانسته صفحه را نمایش دهد. در وردپرس، شایع‌ترین علت‌ها اینها هستند: فایل htaccess. خراب، تمام‌شدن حافظه PHP، و یک افزونه یا قالب معیوب. روش درست رفع آن این است که اول لاگ خطا را فعال کنید تا علت واقعی را ببینید، بعد به‌ترتیب htaccess. را بازسازی کنید، حافظه PHP را افزایش دهید و افزونه‌ها را غیرفعال کنید. در اکثر موارد، مشکل در همان سه مرحله اول حل می‌شود.

⚠️ قبل از هر کاری: از سایت و پایگاه‌داده بک‌آپ کامل بگیرید. هر تغییری در فایل‌های اصلی وردپرس بدون بک‌آپ، ریسک از دست رفتن کامل سایت را دارد.

خطای ۵۰۰ وردپرس یعنی چه؟

خطای ۵۰۰ یا Internal Server Error، یک کد وضعیت HTTP است که می‌گوید «سروری که این سایت روی آن است، با مشکلی روبه‌رو شد ولی نمی‌تواند بگوید دقیقاً چه مشکلی». به همین دلیل، این خطا معمولاً یک صفحه خالی یا یک پیام کلی نمایش می‌دهد و هیچ سرنخی به شما نمی‌دهد — و همین، گیج‌کننده‌ترین بخش ماجراست.

گاهی این خطا شکل‌های دیگری هم دارد: صفحه کاملاً سفید (که به آن White Screen of Death می‌گویند) یا پیام «سایت با مشکل فنی مواجه شده است». علت ریشه‌ای همه اینها معمولاً یکی است: یک خطای بحرانی در کد PHP.


۶ علت اصلی خطای ۵۰۰ در وردپرس

علتنشانه معمول
فایل htaccess. خرابخطا بعد از تغییر پرمالینک یا نصب افزونه سئو ظاهر شده
تمام‌شدن حافظه PHPخطا هنگام آپلود فایل سنگین یا کار با المنتور رخ می‌دهد
افزونه معیوب یا ناسازگارخطا دقیقاً بعد از نصب/بروزرسانی یک افزونه شروع شده
قالب معیوبخطا بعد از تغییر یا بروزرسانی قالب ظاهر شده
ناسازگاری نسخه PHP هاستخطا بعد از ارتقای PHP توسط هاستینگ شروع شده
فایل‌های خراب هسته وردپرسخطا بعد از یک بروزرسانی ناقص یا هک شدن سایت

مرحله ۱: برای رفع خطای ۵۰۰ وردپرس لاگ خطا را فعال کنید تا علت واقعی را ببینید

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

از طریق FTP یا فایل منیجر هاست، فایل wp-config.php را باز کنید و قبل از خط /* That's all, stop editing! */ این کدها را اضافه کنید:

php

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

حالا صفحه را دوباره باز کنید، بعد فایل wp-content/debug.log را باز کنید. این فایل دقیقاً نام فایل و شماره خطی که باعث خطا شده را به شما می‌گوید. توضیحات کامل این قابلیت در مستندات رسمی وردپرس آمده است.

🔒 بعد از رفع مشکل، حتماً هر سه مقدار را به false برگردانید. رها کردن دیباگ در حالت روشن روی سایت زنده، یک ریسک امنیتی جدی است.


مرحله ۲:برای رفع خطای ۵۰۰ وردپرس فایل htaccess. را بازسازی کنید

فایل خراب htaccess. یکی از رایج‌ترین علت‌های خطای ۵۰۰ است، مخصوصاً بعد از تغییر پرمالینک یا نصب افزونه سئو.

  1. با FTP یا فایل منیجر، فایل .htaccess را در پوشه اصلی سایت پیدا کنید (اگر دیده نمی‌شود، گزینه نمایش فایل‌های مخفی را فعال کنید).
  2. نام آن را به .htaccess_old تغییر دهید (حذفش نکنید).
  3. سایت را باز کنید. اگر بالا آمد، مشکل از همین فایل بوده.
  4. حالا وارد پنل وردپرس شوید، به تنظیمات ← پیوندهای یکتا (Permalinks) بروید و بدون تغییر چیزی، فقط دکمه ذخیره را بزنید. وردپرس یک htaccess. سالم و جدید می‌سازد.

مرحله ۳:برای رفع خطای ۵۰۰ وردپرس حافظه PHP را افزایش دهید

اگر در لاگ عبارتی شبیه «memory exhausted» دیدید، یا خطا هنگام کار با المنتور و آپلود فایل سنگین رخ می‌دهد، حافظه PHP تمام شده است.

در همان wp-config.php این خط را اضافه کنید:

php

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

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


مرحله ۴: افزونه‌ها را غیرفعال کنید

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

  • اگر به پنل مدیریت دسترسی دارید: همه افزونه‌ها را غیرفعال کنید، سایت را چک کنید، بعد یکی‌یکی فعال کنید تا مقصر را پیدا کنید.
  • اگر به پنل دسترسی ندارید: با FTP وارد شوید و نام پوشه wp-content/plugins را به plugins_old تغییر دهید. این کار همه افزونه‌ها را یکجا غیرفعال می‌کند. اگر سایت بالا آمد، نام پوشه را برگردانید و بعد افزونه‌ها را تک‌به‌تک تست کنید.

مرحله ۵: قالب را تست کنید

اگر افزونه‌ها مقصر نبودند، نوبت قالب است. نام پوشه قالب فعال را در wp-content/themes تغییر دهید؛ وردپرس به‌صورت خودکار به یکی از قالب‌های پیش‌فرض (مثل Twenty Twenty-Four) سوییچ می‌کند. اگر سایت بالا آمد، مشکل از قالب شماست.


مرحله ۶: نسخه PHP و فایل‌های هسته را بررسی کنید

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

در آخرین قدم، اگر هیچ‌کدام جواب نداد، فایل‌های هسته وردپرس ممکن است خراب باشند. نسخه تازه‌ای از WordPress.org دانلود کنید و فقط پوشه‌های wp-admin و wp-includes را جایگزین کنید — به wp-content و wp-config.php دست نزنید، چون محتوا و تنظیمات سایت شما در آنهاست.


چطور جلوی تکرار خطای ۵۰۰ را بگیریم؟

  • بک‌آپ خودکار روزانه فعال کنید تا هر مشکلی در چند دقیقه قابل برگشت باشد
  • قبل از بروزرسانی افزونه‌های مهم، روی یک نسخه آزمایشی (Staging) تست کنید
  • تعداد افزونه‌ها را کم نگه دارید؛ هر افزونه اضافه، یک ریسک اضافه است
  • هاست با منابع کافی انتخاب کنید؛ ارزان‌ترین هاست معمولاً محدودترین منابع را هم دارد
  • نسخه PHP هاست را بروز نگه دارید (حداقل PHP 8.2)

اگر هیچ‌کدام از این راه‌ها جواب نداد

گاهی خطای ۵۰۰ ریشه پیچیده‌تری دارد — از تنظیمات اشتباه سرور گرفته تا آلودگی سایت به کدهای مخرب بعد از هک شدن. اگر سایتتان از دسترس خارج شده و هر ساعت خرابی برایتان هزینه دارد، بهتر است به‌جای آزمون‌وخطا، کار را به یک متخصص بسپارید.

تیم سازین مدیا، عیب‌یابی و رفع خطاهای وردپرس (از جمله ارور ۵۰۰، صفحه سفید و خطاهای بعد از هک) را انجام می‌دهد و بعد از رفع مشکل، سایت را از نظر امنیت و پایداری هم بررسی می‌کند تا دوباره تکرار نشود.


جمع‌بندی

خطای ۵۰۰ وردپرس ترسناک به نظر می‌رسد چون هیچ توضیحی نمی‌دهد، ولی در اکثر موارد علتش یکی از سه چیز ساده است: فایل htaccess. خراب، کمبود حافظه PHP، یا یک افزونه معیوب. با فعال‌کردن لاگ خطا و طی‌کردن مرحله‌به‌مرحله این راهنما، معمولاً در کمتر از نیم ساعت سایت دوباره بالا می‌آید.

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


سوالات متداول (FAQ)

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

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

اگر علت یکی از موارد رایج (htaccess.، حافظه، افزونه) باشد، معمولاً بین ۱۰ تا ۳۰ دقیقه. مشکلات پیچیده‌تر سمت سرور ممکن است بیشتر طول بکشد.

معمولاً به دلیل کمبود حافظه PHP، چون المنتور نسبت به ویرایشگر پیش‌فرض منابع بیشتری مصرف می‌کند. افزایش WP_MEMORY_LIMIT به ۲۵۶ مگابایت معمولاً مشکل را حل می‌کند.

خطای ۴۰۴ یعنی صفحه موردنظر پیدا نشد (مشکل آدرس)، ولی خطای ۵۰۰ یعنی سرور اصلاً نتوانست درخواست را پردازش کند (مشکل فنی سمت سرور یا کد).

دیدگاهتان را بنویسید

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

یازده − یازده =