آموزش وردپرس

رفع ارور 503 در وردپرس | علت و راه حل خطای Service Unavailable

آیا تا به حال برای شما پیش آمده که هنگام ورود به سایت وردپرسی خود با پیام 503 Service Unavailable یا HTTP Error 503 مواجه شوید؟ این خطا یعنی سرور قادر به پاسخگویی به درخواست…

1405/04/04 ۷ دقیقه مطالعه آخرین بروزرسانی: 1405/04/04

آیا تا به حال برای شما پیش آمده که هنگام ورود به سایت وردپرسی خود با پیام 503 Service Unavailable یا HTTP Error 503 مواجه شوید؟ این خطا یعنی سرور قادر به پاسخگویی به درخواست شما نیست. در این مقاله، دلایل اصلی و ۷ راه حل قطعی برای رفع این مشکل را آموزش می‌دهم.

🔍 ارور 503 Service Unavailable دقیقاً چیست؟

ارور 503 یک خطای سمت سرور است که معمولاً به دلایل زیر رخ می‌دهد:

  • 🔸 بار زیاد روی سرور (افزایش ناگهانی ترافیک یا حملات DDOS)
  • 🔸 پایان منابع سرور (مصرف بیش از حد CPU، RAM یا ورودی/خروجی)
  • 🔸 اشکال در پلاگین یا قالب (حلقه بی‌نهایت یا فراخوانی بیش از حد)
  • 🔸 محدودیت تعداد درخواست‌ها (Rate Limiting)
  • 🔸 خاموش بودن سرویس PHP یا وب سرور
  • 🔸 فعال بودن حالت تعمیر و نگهداری (Maintenance Mode)

🆚 تفاوت ارور 503 با 500 و 504

کد خطا معنی دلیل رایج
503 سرویس در دسترس نیست بار زیاد یا PHP کرش کرده
500 خطای داخلی سرور مشکل در .htaccess یا کدهای PHP
504 زمان پاسخگویی به پایان رسید اتصال کند بین سرورها

✅ راه حل اول: ریستارت سرویس‌های سرور (در صورت دسترسی)

اگر به سرور مجازی یا اختصاصی دسترسی دارید، ریستارت کردن سرویس‌های زیر معمولاً مشکل را حل می‌کند:

# ریستارت Apache
sudo systemctl restart apache2
# یا برای Nginx
sudo systemctl restart nginx
# ریستارت PHP-FPM
sudo systemctl restart php8.1-fpm  (مطابق نسخه PHP خودتان)

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

✅ راه حل دوم: بررسی مصرف منابع در هاست

ارور 503 معمولاً وقتی رخ می‌دهد که منابع سرور (CPU، RAM، تعداد فرآیندها) به حد مجاز رسیده باشد.

  1. وارد سی‌پنل هاست خود شوید.
  2. بخش Resource Usage یا Metrics → CPU and Concurrent Connection Usage را پیدا کنید.
  3. اگر مصرف بالاست، یکی از دلایل زیر را بررسی کنید:
    • حمله DDOS یا ترافیک غیرعادی
    • پلاگین خراب یا حلقه بی‌نهایت
    • کرون جاب سنگین

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

✅ راه حل سوم: بررسی و غیرفعال کردن پلاگین‌های مشکل‌دار

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

روش غیرفعال کردن پلاگین‌ها بدون دسترسی به پیشخوان:

  1. به مدیریت فایل هاست (File Manager) یا از طریق FTP متصل شوید.
  2. به پوشه /wp-content/ بروید.
  3. نام پوشه plugins را به plugins_deactive تغییر دهید.
  4. سایت را بررسی کنید. اگر مشکل حل شد، یعنی یکی از پلاگین‌ها مقصر بوده است.
  5. حالا نام پوشه را به plugins برگردانید و پلاگین‌ها را یکی یکی از طریق پیشخوان فعال کنید تا پلاگین خراب پیدا شود.

✅ راه حل چهارم: تغییر به قالب پیش‌فرض وردپرس

گاهی قالب سایت (Theme) حاوی کدهای سنگین یا فراخوانی‌های بی‌نهایت است که باعث ارور 503 می‌شود.

  1. از طریق FTP به پوشه /wp-content/themes/ بروید.
  2. نام پوشه قالب فعلی خود را به چیز دیگری مثل mytheme-backup تغییر دهید.
  3. وردپرس به طور خودکار قالب پیش‌فرض (مثل Twenty Twenty-Four) را فعال می‌کند (اگر نصب باشد).
  4. اگر قالب پیش‌فرض نصب نیست، یک قالب پیش‌فرض را آپلود کنید یا از طریق phpMyAdmin قالب را تغییر دهید.

✅ راه حل پنجم: بررسی فایل‌های لاگ (Logs)

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

  • در سی‌پنل → بخش Errors یا Raw Access Logs را بررسی کنید.
  • مسیر فایل error_log معمولاً در ریشه هاست یا در public_html است.
  • اگر خطایی مثل PHP Fatal error: Allowed memory size exhausted دیدید، یعنی حافظه PHP کم است.

برای افزایش حافظه PHP: فایل wp-config.php را ویرایش کرده و این خط را اضافه کنید:

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

✅ راه حل ششم: بررسی حالت تعمیر و نگهداری (Maintenance Mode)

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

  1. از طریق FTP به public_html بروید.
  2. دنبال فایل .maintenance بگردید (فایل مخفی است، نمایش فایل‌های مخفی را در FTP فعال کنید).
  3. اگر وجود داشت، آن را حذف کنید.
  4. سایت را ریفرش کنید.

✅ راه حل هفتم: تماس با پشتیبانی هاست (راه حل نهایی)

اگر تمام روش‌های بالا را امتحان کردید و مشکل حل نشد، احتمالاً:

  • سرور هاست شما دچار حمله شده یا سخت‌افزار مشکل دارد.
  • محدودیت‌های هاست خیلی پایین است و سایت شما واقعاً نیاز به پلن بالاتری دارد.
  • IP سرور شما توسط برخی شبکه‌ها تحریم شده است (در ایران گاهی رخ می‌دهد).

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

📋 جمع‌بندی: مراحل پیشنهادی برای رفع ارور 503

مرحله اقدام زمان
۱ بررسی .maintenance و حذف آن ۱ دقیقه
۲ غیرفعال کردن همه پلاگین‌ها (با تغییر نام پوشه) ۲ دقیقه
۳ تغییر به قالب پیش‌فرض ۲ دقیقه
۴ بررسی مصرف منابع در سی‌پنل ۳ دقیقه
۵ بررسی فایل‌های لاگ و افزایش مموری PHP ۵ دقیقه
۶ ریستارت سرویس‌ها (در صورت دسترسی) ۲ دقیقه
۷ تماس با پشتیبانی هاست ۱۰ دقیقه

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

۱ – آیا ارور 503 برای همیشه باقی می‌ماند؟
خیر، معمولاً موقتی است. با ریستارت سرور یا رفع مشکل پلاگین، سایت دوباره آنلاین می‌شود.

۲ – چگونه بفهمم مشکل از هاست است یا سایت من؟
یک فایل ساده test.html در ریشه سایت بسازید. اگر آن فایل باز شد ولی صفحات وردپرسی 503 داد، مشکل از وردپرس (پلاگین یا قالب) است. اگر test.html هم 503 داد، مشکل از هاست است.

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

۴ – چگونه جلوی ارور 503 را در آینده بگیرم؟

  • از پلاگین‌های سبک و به‌روز استفاده کنید.
  • از یک پلاگین کش مثل LiteSpeed Cache یا WP Rocket استفاده کنید.
  • میزان مصرف منابع را ماهیانه چک کنید.
  • از CDN برای کاهش بار سرور استفاده کنید.

 

⚠️ نکته امنیتی: اگر ارور 503 مدام تکرار می‌شود، ممکن است سایت شما هدف حمله DDOS قرار گرفته باشد. در این صورت با پشتیبانی هاست و استفاده از فایروال (مثل Cloudflare) مشکل را حل کنید.

🎯 کلام آخر

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

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

برای اجرای این ایده در سایت خودت کمک می‌خواهی؟

اگر برای طراحی، توسعه یا بهینه‌سازی فنی سایت‌ات به مشاوره نیاز داری، از طریق فرم مشاوره با من در ارتباط باش.

نیاز به مشاوره داری؟

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