هر خطایی که سایت وردپرس شما رو غیرقابل استفاده کنه یه دلیل جدی برای نگرانیه! چرا؟ خب معلومه چون به معنی از دست رفتن درآمد، رتبه بندی سئو و استرس ناخواسته زیادیه. یکی از مشهورترین خطاهایی که تا حالا اینترنت به خودش دیده، خطای ۵۰۲ دروازه نادرست یا خطای ۵۰۲ Bad gateway است. این خطا یه مشکل ناخوشاینده چون میتونه خیلی راحت زحمات شما رو از بین ببره پس شما باید دنبال راهی برای رفع خطای ۵۰۲ در وردپرس باشین!

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

تا آخر این پست شما یاد میگیرین که یک بار برای همیشه از شر این ارور راحت بشین و البته یادتون نره که برای این کار لازمه خودتون هم آستین بالا بزنین و کمر همت به رفع مشکل ارور ۵۰۲ رو ببیندین.

ارور ۵۰۲ Bad Gateway چیست؟

اولین چیزی که باید براتون روشن کنیم اینه که اصلاً خطای ۵۰۲ چیه؟! خب،

مراحل باز شدن وردپرس ممکنه شامل عبور از چهار تا پنج‌تا سرور باشه:

  • سرور برنامه‌ای که کد PHP شما و هر محتوای پویای دیگه‌ای رو در سایت شما پردازش میکنه.
  • سرور پایگاه داده که اطلاعات شما در اون قرار داره.
  • سرور پراکسی معکوس مثل Nginx و Apache که مقصد درخواست‌های HTTP رو کنترل میکنن.
  • وب سرور که همه فایل‌های استاتیک شما مثل تصاویر، CSS و JavaScript رو ذخیره میکنن.
  • CDN (شبکه تحویل محتوا)

اکنون وقتی URL سایت خودتون رو وارد مرورگر میکنین و روی Enter ضربه میزنین، مرورگر چندین درخواست HTTP رو به سرور پراکسی معکوس ارسال میکنه.

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

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

اگه یکی از سرورها پاسخ نامعتبری رو به سرور پراکسی معکوس ارسال کنه، وبسایت شما اونطور که باید، در مرورگر بارگیری نمیشه. در عوض سرور پراکسی معکوس خطای دروازه نادرست ۵۰۲ رو به شما نشون میده!

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

انواع خطای ۵۰۲

  • Error 502
  • 502 Bad Gateway NGINX
  • 502 Proxy Error
  • 502 Service Temporarily Overload
  • HTTP Error 502 Bad Gateway

دلایل ایجاد ارور ۵۰۲ دروازه نادرست چیست؟

در حالی که خطای ۵۰۲ دروازه نادرست معمولاً در سمت سرور اتفاق میفته، ممکنه به دلیل مشکلاتی در سمت شما هم باشه! تو این قسمت ما چندتا دلیل براتون آوردیم که نشون میده طبق هیچ ترتیب خاصی ممکنه با همچین چیزی روبرو بشین:

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

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

خب دیگه وقتشه که نحوه رفع ارور ۵۰۲ در وردپرس رو با روش‌هایی که بهتون میگیم یاد بگیرین و خودتون بتونین از پس این خطا بر بیاین.

نحوه رفع خطای ۵۰۲ در وردپرس

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

با یه کم صبر و مهارت میتونین خودتون به راحتی همچین ارورهایی رو رفع و رجوع کنین:

۱. رفرش / بارگیری مجدد سایت

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

ارائه دهندگان هاست معمولاً بلافاصله این مشکل رو برطرف میکنن چون صاحبان وبسایت اصلاً حوصله داون شدن سایت رو ندارن به هرحال هر موقع که سایت آفلاین بشه درآمدشون هم کم میشه!

پس قبل از این که دچار حمله عصبی بشین، چندتا نفس عمیق بکشین و سایت خودتون رو چندبار رفرش کنین چون شاید این کار باعث رفع خطای ۵۰۲ در وردپرس بشه. علاوه بر این مرورگر یا یه دستگاه دیگه‌ای رو امتحان کنین، شاید خطا خودش برطرف بشه. البته برای این که مطمئن بشین خطا از سمت سرور نیست، سایت خودتون رو با استفاده از ابزاری مثل isup.me تست کنین.

اما اگه نتونسین بعد از چندبار رفرش کردن و امتحان با مرورگرهای دیگه باعث رفع مشکل ۵۰۲ در وردپرس بشین، بهتره برین سراغ راه حل‌های بعدی.

۲. پاک کردن کش مرورگر

حتی با رفرش کردن هم نتونسین باعث رفع مشکل ۵۰۲ در وردپرس بشین؟ اگه اینطوره باید دکمه CTRL + F5 روی سیستم ویندوز و CMD + CTRL +R روی سیستم OS بزنین. با این راه حل مشکلتون رفع شد؟ نشد؟

میتونین کش مرورگر خودتون رو با استفاده از روشی که من تو این مقاله نوشتم پاک کنین و یبار دیگه سیستم خودتون رو چک کنین تا ببینین آیا این خطا باز هم اتفاق افتاده یا خیر! اگه تونسین با این کار باعث رفع خطای ۵۰۲ در وردپرس بشین که خب هیچی! ولی اگه نتونسین بهتره برین سراغ راه حل بعدی تا ببینین با اون چه میشه کرد!

۳. غیرفعال کردن موقتی CDN

آیا از یه شبکه تحویل محتوا مثل KeyCDN یا CloudFlare یا CDN استفاده میکنین؟ CDN معمولاً ترافیک وبسایت شما رو به سمت سرورهای خودش هدایت میکنه تا عملکرد و امنیت بهتر سایت رو به شما ارائه بده.

مشکلی که در سرورهای اونها وجود داره، میتونه شما رو با مشکل دروازه نادرست ۵۰۲ روبرو کنه. علاوه بر این اگه CDN خودتون رو اشتباه پیکربندی کنین، میتونین باز هم با این خطا روبرو بشین.

برای این که متوجه بشین CDN شما دلیل خطای ۵۰۲ در وردپرس است یا نه، باید اون رو متوقف و دوباره راه اندازی کنین. این کار سایت شما رو مجبور میکنه تا مستقیماً از سرورهای میزبان شما بارگیری بشه.

آیا بعد از متوقف کردن CDN خطای ۵۰۲ وردپرس رفع شد یا خیر؟ اگه رفع شد سریعاً با بخش پشتیبانی تماس بگیرین تا مشکل شما رو حل کنن. البته یادتون باشه اگه دلیل این اتفاق CDN بوده شما باید یه تایمی رو بدون اون سر کنین.

هر CDN رابط متفاوتی داره به این معنی که باید ببینین CDN سرور شما چطوری متوقف میشه و ما نمیتونیم اینجا یه نسخه برای همه CDN ها بپیچیم!

ولی خب اگه از ما بپرسین میگیم در کل متوقف کردن یه CDN برای رفع خطای ۵۰۲ در وردپرس به آسونی آب خوردنه و انتظار نداریم که کسی تو این کار با مشکلی روبرو بشه!

۴. خطای DNS

DNS که کوتاه شده عبارت Domain Name System است، نشون میده که یه اسم دامنه چطوری با آدرس IP خودش مطابقت داره. اگه تو تنظیمات DNS یه اشتباهی مرتکب بشین باید انتظار خطای ۵۰۲ رو داشته باشین!

بگین ببینم آیا اخیراً به یه هاست جدید منتقل شدین؟ اگه اینطور بوده این مهاجرت شامل پیکربندی مجدد سرورهای DNS هم بوده و گاهی اوقات این پیکربندی تا بیشتر از ۴۸ ساعت طول میکشه.

البته میتونین کش محلی DNS رو هم خالی کنین تا ببینین باعث رفع خطای ۵۰۲ در وردپرس میشه یا خیر!

برای کاربران ویندوز فقط کافیه که Command Prompt رو باز کنین و فرمان زیر رو دنبال کنین:

Command: ipconfig/flusdns.

و اگه کاربر MacOS هستین، dscacheutil-flushcache رو در Command Terminal راه اندازی کنین.

۵. بررسی تم و افزونه ها

تا اینجای کار نتونسین اقدامی انجام بدین که منجر به رفع خطای ۵۰۲ در وردپرس بشه؟ به نظرتون اوضاع تم و افزونه های سایت وردپرس شما اوکیه؟ میدونستین که یکی از علت‌های به وجود اومدن ارور ۵۰۲ دروازه نادرست در وردپرس به تم و افزونه ها برمیگرده؟

بله شاید یکی از افزونه های شما اسکریپیتی داره که به خوبی با سرور شما هماهنگ نیست. در نتیجه سرور اون اسکریپت رو از بین میبره و همین کار باعث به وجود اومدن خطای ۵۰۲ میشه. خب باید چیکار کرد؟ با ما همراه باشین تا بهتون یاد بدیم:

۱. عیب یابی افزونه ها

شما احتمالاً نمیتونین به خاطر وجود خطا وارد داشبود خودتون بشین! خب پس تکلیف چیه؟ چطوری افزونه ها رو بدون دسترسی به پنل ادمین وردپرس عیب یابی کنیم؟

ساده است، با استفاده از کلاینت FTP مثل FileZilla یا File manager در cPanel به دایرکتوری root در WordPress وارد بشین.

رفع خطای 502 در وردپرس

بعد از اون وارد قسمت wp-content بشین و پوشه افزونه ها رو پیدا کنین. اسم پوشه رو تغییر بدین مثلاً بذارین Plugins.old تا همه افزونه های شما به طور همزمان غیرفعال بشن. نگران نباشین قرار نیست با این روش هیچ داده ای رو از دست بدین یا اتفاق بدی براتون بیفته.

خطای پلاگین

سایت ور رفرش کنین تا متوجه بشین آیا غیرفعال کردن افزونه ها تونسته باعث رفع ارور ۵۰۲ در WordPress بشه یا خیر!

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

افزونه ها رو یکی یکی فعال کنین و سایت خودتون رو بعد از هربار فعال کردن یه رفرش کنین. این کار رو تا زمانی انجام بدین که با فعال کردن یه افزونه، با خطای ۵۰۲ مواجه بشین و البته ممکنه در این حالت پنل ادمین قفل بشه!

افزونه مجرم رو از طریق FTP یا فایل منیجر به طور کامل غیرفعال کنین یا با پشتیبانی تماس بگیرین.

۲. عیب یابی تم فعال

اگه مشکلات شما بعد از به روز رسانی سایت شما شروع شده و با غیرفعال کردن افزونه ها نتونسین مشکل رو برطرف کنین. شاید ایراد از تم باشه!

برای بررسی این موضوع باز هم از طریق کلاینت FTP یا فایل منیجر به دایرکتوری root در WordPress وارد بشین، سپس به wp-content→themes برین و تم فعال خودتون رو مشخص کنین.

پوشه تم رو تغییر نام بدین مثلا بذارین total.old، بعد دیگه وردپرس نمیتونه تم رو بخونه و غیرفعال میشه!

Total

سایت رو رفرش کنین تا ببینین آیا غیرفعال کردن تم باعث رفع خطای ۵۰۲ در وردپرس شده یا خیر! اگه برطرف نشده که یعنی ایراد از تم فعال نبوده پس حالا وقتشه پوشه تم رو به اسم اول خودش تغییر بدین. اما اگه ارور از بین رفت وقتشه که با توسعه دهنده تم خودتون تماس بگیرین!

۶. تماس با میزبان سایت یا هاست

اگه هیچکدوم از راه حل‌های بالا نتونست باعث رفع خطای ۵۰۲ در وردپرس بشه، پس شاید ایراد از سمت سرور بوده و لازمه که شما با ارائه دهنده وب هاستینگ خودتون تماس بگیرین و ازشون کمک بخواین.

اگه هاستینگ شما اشتراکیه بهتره به فکر سرمایه گذاری بیشتر برای یه هاست بهتر باشین!

درسته که خطای ۵۰۲ یکم گیج کننده و ناامید کننده است اما حل کردن اون کار سختی نیست و سریع انجام میشه.

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