چگونه خطای 500 در وردپرس را رفع کنیم؟

خطای 500 در وردپرس

وقتی سایت وردپرسی به‌جای صفحه اصلی یا پیشخوان، پیام 500 Internal Server Error نمایش می‌دهد، معمولاً سرور هنگام پردازش درخواست با مشکلی مواجه شده است. گاهی خطا پس از نصب یا به‌روزرسانی افزونه ظاهر می‌شود و گاهی بدون تغییر آشکار، دسترسی به سایت را مختل می‌کند. از روی عدد 500 به‌تنهایی نمی‌توان علت دقیق را فهمید؛ باید بررسی کنیم چه تغییری رخ داده و گزارش سرور چه چیزی نشان می‌دهد.

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

خطای 500 در وردپرس چیست؟

کد وضعیت HTTP 500 یعنی سرور با خطای داخلی غیرمنتظره‌ای روبه‌رو شده و نتوانسته درخواست را به‌درستی تکمیل کند. این خطا فقط مختص وردپرس نیست و ممکن است بر اثر خطای کد PHP، تنظیمات وب‌سرور، محدودیت منابع یا مشکلات فایل‌های سایت رخ دهد. گاهی مرورگر تنها عبارت HTTP ERROR 500 را نمایش می‌دهد و گاهی پیام Internal Server Error دیده می‌شود.

خطای 500 در وردپرس چیست ؟

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

خطای 500 در وردپرس چیست ؟

قبل از رفع خطای 500 چه کارهایی انجام دهیم؟

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

اگر ایمیلی با موضوع مشکل فنی سایت از وردپرس دریافت کرده‌اید، آن را بررسی کنید. قابلیت Recovery Mode ممکن است هنگام بعضی خطاهای جدی PHP، لینک ورود برای عیب‌یابی در اختیار مدیر قرار دهد. این قابلیت برای تمام خطاهای سرور فعال نمی‌شود و جایگزین بررسی لاگ نیست.

راهنمای سریع تشخیص علت خطای 500

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

نشانه خطا احتمال قابل بررسی اولین اقدام
خطا بلافاصله بعد از به‌روزرسانی افزونه رخ داده خطای PHP یا ناسازگاری افزونه بررسی لاگ و غیرفعال کردن موقت افزونه مشکوک
فقط پیشخوان خطای 500 می‌دهد کد مربوط به مدیریت یا افزونه امنیتی بررسی خطاهای ثبت‌شده برای مسیر wp-admin
بعد از تغییر پیوندهای یکتا خطا رخ داده قوانین نادرست .htaccess در Apache تغییر نام موقت فایل پس از تهیه نسخه پشتیبان
در لاگ عبارت Allowed memory size exhausted دیده می‌شود کمبود حافظه PHP بررسی memory_limit و مصرف حافظه افزونه‌ها
چند سایت یک هاست هم‌زمان مشکل دارند تنظیمات یا منابع سرور گرفتن گزارش خطا و تماس با پشتیبانی هاست

آموزش رفع خطای 500 در وردپرس

1. گزارش خطا را بررسی و اشکال‌زدایی را ایمن فعال کنید

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

برای ثبت خطاهای وردپرس می‌توانید با دسترسی به File Manager یا SFTP فایل wp-config.php را باز کنید. پس از تهیه نسخه پشتیبان، مقادیر زیر را پیش از خط توقف ویرایش فایل تنظیم کنید. اگر این ثابت‌ها از قبل تعریف شده‌اند، مقدار همان‌ها را تغییر دهید و تعریف تکراری اضافه نکنید:

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

این تنظیمات تلاش می‌کنند خطاهای مرتبط را در wp-content/debug.log ذخیره کنند، بدون اینکه جزئیات فنی در صفحه عمومی سایت نمایش داده شود. اگر فایل لاگ ایجاد نشد، بررسی کنید خطا قبل از اجرای وردپرس رخ نداده باشد و دسترسی نوشتن لاگ وجود داشته باشد. گزارش خطای هاست در این حالت مهم‌تر است. فایل لاگ ممکن است اطلاعات حساس داشته باشد؛ آن را عمومی نکنید و بعد از عیب‌یابی، حالت Debug را غیرفعال کنید.

2. افزونه‌ها را به‌صورت موقت غیرفعال کنید

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

اگر پیشخوان باز نمی‌شود، در File Manager یا SFTP به wp-content/plugins بروید و پوشه افزونه مشکوک را موقتاً تغییر نام دهید. این کار ممکن است افزونه را غیرفعال کند. برای آزمایش همه افزونه‌های معمولی نیز امکان تغییر نام موقت پوشه plugins وجود دارد، اما روی سایت فعال ممکن است عملکرد فروشگاه، امنیت یا فرم‌ها مختل شود؛ بنابراین با آگاهی از پیامدها و نسخه پشتیبان انجام دهید. افزونه‌های Must-Use مسیر جداگانه‌ای دارند و با این اقدام لزوماً غیرفعال نمی‌شوند.

بهترین صفحه‌ساز وردپرس در 1405؛ المنتور، گوتنبرگ، Bricks یا Divi؟

برای آشنایی با بخش‌های مدیریت سایت، می‌توانید راهنمای پیشخوان وردپرس را مطالعه کنید.

3. قالب فعال را بررسی کنید

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

اگر پنل مدیریت در دسترس نیست، تغییر نام پوشه قالب از مسیر wp-content/themes در بعضی شرایط می‌تواند موجب جایگزینی قالب شود، اما تنها وقتی قالب پیش‌فرض مناسب نصب شده باشد. اگر مطمئن نیستید، این کار را با پشتیبانی هاست انجام دهید.

4. فایل .htaccess را بدون حذف دائمی آزمایش کنید

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

اگر مشکل برطرف شد، علت احتمالاً به یکی از قوانین فایل مربوط است. در صورت دسترسی به پیشخوان، قسمت تنظیمات ← پیوندهای یکتا را بررسی کنید و تنظیمات را ذخیره کنید تا وردپرس در محیط‌های سازگار قوانین موردنیاز را بازسازی کند. قوانین امنیتی، ریدایرکت‌ها و تنظیمات اختصاصی را از نسخه پشتیبان بررسی و به‌صورت کنترل‌شده برگردانید. روی Nginx، تغییر نام این فایل معمولاً همان اثر را ندارد؛ زیرا تنظیمات اصلی در پیکربندی سرور قرار دارند.

5. محدودیت حافظه PHP و منابع هاست را کنترل کنید

اگر پیام Allowed memory size exhausted در گزارش ثبت شده، حافظه در دسترس PHP ممکن است کافی نباشد. در چنین شرایطی، مقدار memory_limit هاست را بررسی کنید. بعضی سرویس‌ها اجازه افزایش آن از پنل یا فایل پیکربندی را می‌دهند و در بعضی دیگر لازم است با پشتیبانی هاست هماهنگ کنید.

در وردپرس نیز ثابت WP_MEMORY_LIMIT وجود دارد؛ برای نمونه:

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

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

6. در صورت نیاز فایل‌های اصلی وردپرس را سالم‌سازی کنید

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

بسته سالم وردپرس را از وب‌سایت رسمی وردپرس بگیرید و طبق دستورالعمل به‌روزرسانی دستی، فایل‌های هسته را به‌صورت کنترل‌شده جایگزین کنید. پوشه wp-content، فایل wp-config.php و سایر فایل‌های اختصاصی سایت نباید بازنویسی یا حذف شوند. اگر درباره روش صحیح مطمئن نیستید، از پشتیبانی هاست کمک بگیرید.

7. اگر خطا ادامه دارد، اطلاعات دقیق را به پشتیبانی هاست بدهید

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

اگر خطای 500 فقط در wp-admin رخ می‌دهد چه کنیم؟

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

چگونه از بازگشت خطای 500 جلوگیری کنیم؟

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

جمع‌بندی

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

منبع: https://themeisle.com/blog/wordpress-internal-server-error-fix/

سوالات متداول

خطای 500 در وردپرس درواقع زمانی اتفاق می‌افتد که پروتکل Http یافت نشود؛ یعنی سرور به درخواست Http پاسخ دهد ولی نتواند آن را بازیابی کند. خطایinternal server error 500 فقط مختص وردپرس نیست و همان‌طور که از نامش پیدا است، به دلیل عدم ناسازگاری در کدهای سایت رخ می‌دهد.
طی ۶ مرحله این کار امکانپذیر است: حالت اشکال زدایی را روشن کنید. همه افزونه ها را غیرفعال کرده و تم ها را تغییر دهید. فایل htaccess خود را بررسی کنید. حافظه خود را افزایش دهید. از هاست یا میزبان خود بپرسید. وردپرس را دوباره نصب کنید.
خطاهایی که در دستورات مختلف ظاهر می‌شوند اما جای نگرانی نیست زیرا تمامی ین خطاها با عملکردهایی کاملا برطرف شده و مشکل رفع می‌شود.
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. سلام . برای سفید شدن پیشخوان خیلی کارها کردم از تغییر نام قالب و پلاگین و …ولی جواب نداد . htaccess تغییر نام دادم درست شد . خیلی ممنون

  2. 11 سال عضو همیار وردپرس

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

  3. با عرض سلام
    به علت تغییرات در فایل htaccess سایت دچار مشکل internal error شد ولی مشکل رو برطرف کردم.ولی متاسفانه بعضی از لینک های داخلی به صفحه دیگری لینک می شود و یا ارور 404 می دهند.
    لطفا هر چه سریعتر راهنمایی بفرمایید.
    با تشکر

  4. سلام،من تلگرامم تو گروه هیچی رو باز نمیکنه(عکس،فیلم،استیکر،عکس پروفایلمم عوض نمیشه)فقط پیام ها رو باز میکنه گفتن برو تو ایکون تلگرام کلیر کش و کلیر دیتا کن،همین کلیر کش و کلیر دیتا یعنی چی؟متشکرم اگه راهنمایی کنید

    • 13 سال عضو همیار وردپرس

      با احترام
      همیار وردپرس سایت تخصصی وردپرس است.
      سوال شما اصلا مرتبط با وردپرس نیست.

  5. 11 سال عضو همیار وردپرس

    سلام دوستان
    من قالب سایت رو که عوض کردم به خطای زیر برخوردم

    Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 303959 bytes) in /home/cdnagwee/public_html/shop/wp-includes/functions.php on line 295

    سپس تمام راههای افزایش حافظه وردپرس رو انجام دادم بازم مشکل رفع نشد.(افزایش مقدار در فایل php.ini , wp-config و حذف افزونه ها)

    بعد اومدم در یک وردپرس تازه نصب شده قالب رو نصب کردم که نصب شد و بعد جداول دیتابیس رو یکی یکی اضافه کردم تا مشخص شد با اضافه کردن جداول زیر دچار خطا میشه
    wp_term_taxonomy
    wp_term

    حالا بنظرتون چطور این مشکل رو رفع کنم؟

    خواهش می کنم راهنمایی کنید
    ممنون

    • 13 سال عضو همیار وردپرس

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

    • 11 سال عضو همیار وردپرس

      ممنون از پاسخ
      گفتم ولی اوناهم نمی دونستن از چیه

  6. مرسی

  7. سلام.خسته نباشید.
    من وقتی ووکامرس رو به هر طریقینصب میکنم ارور 500 میده در صورتی که من قبلا هم از ووکامرس استفاده میکردم و کلی هم محصول دارم.
    لطفا کمک کنید.

    • 13 سال عضو همیار وردپرس

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

  8. با سلام برای رفع خطای 3475 چه کار باید کرد؟خواستم نسخه وردپرس رو بروز کنم که کل سایت رفت و دیگه به پنل مدیریت هم دسترسی ندارم.لطفاً راهنمایی کنید.
    با سپاس

    Notice: The called constructor method for WP_Widget is deprecated since version 4.3.0! Use
    __construct()
    instead. in /home/decorsaz/public_html/wp-includes/functions.php on line 3457

    • 13 سال عضو همیار وردپرس

      سلام
      نسخه ی پشتیبان ندارید؟
      باید حتما به هاست یا حداقل اف تی پی دسترسی داشته باشید.

  9. 12 سال عضو همیار وردپرس

    سلام خسته نباشید

    من یک مشکل جدی برام پیش اومده
    قالب سایتم را عوض کردم ولی از یک قالب نال شده استفاده کردم… و الان متوجه شدم که یک سری بد افزار داخل این قالب هست… از اون موقع که این قالب را نصب کردم به شدت ارورو ۵۰۰ داخل وب مستر تولز بالا رفته در عرض یک روز خطای های ۵۰۰ از صفر رسیدن به ۸۰۰ تا.. آیا ممکنه به خاطر این بد افزار ها باشه؟

    • 13 سال عضو همیار وردپرس

      سلام
      متاسفانه بله!

    • 12 سال عضو همیار وردپرس

      ممنون خانوم کوهستانی

      الان خوسبختانه مشکل بد افزار حل شده…من با خود هاست تماس گرفتم.. گفتن…فقط کافیه قالب آلوده را پاک کنی و قالب اصل را نصب کنی…. من اول با کمک با سری از پلاگین های امنیتی مثل wordefence بد افزار را پاک کردم بعد قالب نال شده را حذف کردم قالب اورجینال خریداری شده را نصب کردم…الان هم که خود هاست آکانت را اسکن می کنه هیچ الودگی پیدا نمی کنه.. اینجا چند تا سوال دارم لطف می کنید اگر راهنمایی کنید
      الان که هاست می گه هیچ آلودگی وجود نداره می تونم اطمینان کامل داشته باشم که این بد افزار کامل پاک شده؟ ( هاستی که باهاش کار می کنم هاست معتبریه ایرانی هم نیست اونها خودشون گفتن ما بیشتر از تو به خاطر آلوده شدن سرور هامون نگرانیم)
      سوال دوم در مورد ارور ۵۰۰ هست….من بعد از نصب قالب اصلی همچنان این ارور هار ا می گرفتم… با چند نفر که مشورت کردم گفتن احتمالا” باید یک تناقض تو عملکرد یکی از پلاگین ها با قالب وجود داشته باشه… این قالب یک قالب مربوط به سایت های tube هست که از کدهای embed استفاده می کنه برای پخش پلیرها آیا این مساله باعث می شه پهنای باند سروو بیشتر مصرف بشه؟
      در مورد خطاهای ۵۰۰ من برای اطمینان همه پلاگین ها به جز پلاگین google xml gerenator را غیر فعال کردم.. به نظر می یاد ارور های ۵۰۰ از بین رفتن.. سرعت سایت هم خیلی محسوس بالا رفته… ولی مساله اینجاست که توی گوگل وب مستر هنوز ارور های ۵۰۰ دیده می شن…و البته دیروز تعداد ارور ها نصف شد.. این ارور هایی هم که باقی موندن تاریخ detect همه مروبط به قبل از غیر فعال کردن پلاگین هاست… آیا به نظر شما مشکل به خاطر پلاگین ها بوده؟ و گوگل وب مستر داره با تاخیر نتایج را نشون می ده؟

      واقعا” شرمنده که سوالها زیاد شد خواهشن منو راهنمایی کنید… الان ترافیک گوگلم بالاست می ترسم همشو از دست بدم..

    • 13 سال عضو همیار وردپرس

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

  10. 12 سال عضو همیار وردپرس

    همون اولین راه مشکلم رو حل کرد. خیییلی ممنون.