در فرآیند طراحی و توسعه وبسایتها، گاهی خطاهایی رخ میدهد که میتوانند روند کار را مختل کنند و باعث ایجاد وقفه در عملکرد سایت شوند. بیشتر این خطاها معمولاً نشانههایی از مشکل اصلی را در اختیار ما قرار میدهند و مسیر عیبیابی را سادهتر میکنند، اما در میان آنها خطای 503 یکی از مواردی است که اطلاعات کمتری درباره دلیل وقوع خود ارائه میدهد. با این حال جای نگرانی وجود ندارد، زیرا این خطا در بسیاری از موارد قابل رفع است و در ادامه روشهای مختلف حل آن بررسی میشود. اگر قصد دارید با راهکارهای رفع خطای 503 در وردپرس آشنا شوید، تا پایان این مطلب از ژاکت همراه ما باشید.
علت ارور 503 چیست؟
خطای 503 یا Service Unavailable زمانی نمایش داده میشود که سرور بهطور موقت قادر به پردازش درخواستهای کاربران نباشد. این خطا معمولاً به دلیل کمبود منابع سرور، افزایش ناگهانی ترافیک یا بروز اختلال در عملکرد سایت ایجاد میشود و نشان میدهد که مشکل از سمت سرور است، نه مرورگر یا دستگاه کاربر.
رایجترین دلایل بروز ارور 503 عبارتاند از:
- مصرف بیش از حد منابع هاست مانند CPU و RAM
- افزایش ناگهانی بازدیدکنندگان و ترافیک سایت
- وجود افزونهها یا قالبهای پرمصرف و ناسازگار
- حملات مخرب DDoS و فشار بیش از حد روی سرور
- انجام عملیات نگهداری یا بروزرسانی سرور
- اختلال در سرویسهای جانبی و تنظیمات هاست
در صورت بروز این خطا، سایت بهطور موقت از دسترس کاربران خارج میشود و موتورهای جستجو نیز قادر به بررسی صفحات سایت نخواهند بود. در بیشتر مواقع، با شناسایی علت اصلی و بهینهسازی منابع یا رفع مشکلات فنی، ارور 503 برطرف میشود.
انواع پیام هایی که ممکن است برای خطای 503 ببینیم
همانطور که اشاره کردیم، خطای 503 می تواند با پیام های مختلفی همراه باشد. البته معمولاً همه این پیام ها حاوی کد 503 هستند. اما در مجموع پیام های رایجی که برای این خطا نمایش داده می شوند، عبارت اند از:
- 503 Service Unavailable
- 503 Service Temporarily Unavailable
- HTTP Server Error 503
- HTTP Error 503
- Error 503 Service Unavailable
- The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later
برای رفع خطای 503 در وردپرس چه مراحلی را طی کنیم؟
- غیرفعالسازی افزونهها برای بررسی خطا
- تغییر قالب وردپرس به پیشفرض
- غیرفعالسازی موقت CDN و کش
- مدیریت Heartbeat API وردپرس
- افزایش منابع سرور
- بررسی لاگ و فعالسازی WP_DEBUG
دلیل این خطا و پیام نمایش داده شده ممکن است در هر سایت متفاوت باشد، اما نکته مهم این است که باید قبل از تأثیر منفی آن بر بازدید و سئوی سایت، سریعاً برای رفع آن اقدام کنید. از آنجایی که نمیتوان بهطور قطعی مشخص کرد مشکل از کجاست، لازم است چندین روش مختلف را مرحلهبهمرحله بررسی کنیم تا به نتیجه برسیم.
در ادامه 5 روش کاربردی برای رفع خطای 503 در وردپرس بررسی میکنیم. پیشنهاد میشود از روش اول شروع کنید و پس از هر مرحله سایت را بررسی کنید؛ اگر مشکل همچنان وجود داشت، به سراغ روش بعدی بروید.
1. غیرفعالسازی افزونهها برای بررسی خطا
یکی از رایجترین دلایل بروز خطای 503، ناسازگاری یا مصرف بالای منابع توسط افزونههای وردپرس است. به همین دلیل، اولین قدم بررسی این موضوع، غیرفعالسازی همه افزونههاست. اما از آنجایی که در این خطا معمولاً دسترسی به پیشخوان وردپرس وجود ندارد، باید از طریق FTP یا File Manager وارد فایلهای سایت شوید. در این مرحله میتوانید با مراجعه به فایلهای اصلی وردپرس، افزونهها را بهصورت دستی غیرفعال کنید و سپس وضعیت سایت را بررسی کنید تا مشخص شود مشکل از افزونهها بوده است با خیر.
مرحله اول:
وقتی به کمک FTP فایل های سایت خود را باز کردید، به پوشه Root (ریشه) وردپس خود بروید. لازم به ذکر است که نام این پوشه معمولاً ” public_html, html”، ” public, www”، “Public” یا نام خود سایت است.

مرحله دوم:
حالا وارد پوشه بالا شده و بعد پوشه “wp-content” را باز کنید. داخل این پوشه نیز یک پوشه دیگر به نام “plugins” دارید که شامل همه افزونه های سایت (اعم از فعال و غیر فعال) است. در واقع با پاک کردن پوشه های داخل این پوشه، همه افزونه هایتان حذف خواهند شد. اما طبیعتاً این روش مناسبی نیست! چرا که بعداً باید مجدداً همه این افزونه ها را به سایت خود برگردانیم.
اما خوشبختانه یک روش بسیار ساده تر وجود دارد و آن این است که روی پوشه راست کلیک کرده و نام آن را تغییر دهید. مثلاً می توانید نام آن را “plugins.old” یا ” plugins.deactivated” بگذارید تا بعداً آن را به راحتی پیدا کنید.

وقتی نام این پوشه را تغییر می دهید، وردپرس دیگر آن را به عنوان پوشه افزونه ها نخواهد شناخت. بنابراین افزونه های داخل آن نیز برای سایت بی معنی خواهند بود و در عمل به صورت موقتی از سایت حذف خواهند شد.
مرحله سوم:
حالا بررسی کنید که مشکل برطرف شده است یا نه. اگر مشکل حل شده باشد، پس مشخص است که مشکل از افزونه های سایت است. پس فقط لازم است بدانید که مشکل از کدام افزونه است. پس نام پوشه افزونه ها را به نام اصلی آن (یعنی Plugins) برگردانید.
برای غیر فعال کردن یک به یک افزونه ها از طریق فایل های سایت، باید ابتدا وارد همان پوشه Plugins شوید. سپس از پوشه اولین افزونه شروع کنید و نام آن را تغییر دهید. حالا بررسی کنید که آیا خطا برطرف شده یا نه. اگر مشکل از این افزونه نبود، نام آن را برگردانید و به سراغ پوشه بعدی بروید. این کار را در مورد همه پوشه ها تکرار کنید تا افزونه مشکل آفرین را پیدا کنید.
2. تغییر قالب وردپرس به پیشفرض
در برخی موارد، قالب وردپرس میتواند باعث بروز خطای 503 شود، مخصوصاً اگر دارای کدنویسی سنگین یا ناسازگاری با نسخه وردپرس باشد. به همین دلیل در این مرحله، بهجای افزونهها، قالب سایت را بررسی و در صورت نیاز غیرفعال میکنیم تا سایت به یک قالب پیشفرض وردپرس منتقل شود.
البته غیرفعالسازی قالب مانند افزونهها با تغییر نام پوشه انجام نمیشود، چون این کار میتواند باعث بروز خطاهای دیگری مثل عدم شناسایی مسیر قالب یا خالی بودن دایرکتوری قالبها شود. به همین دلیل باید از روش استانداردتری برای جایگزینی قالب استفاده کرد که در ادامه توضیح داده میشود.
مرحله اول:
وارد phpMyAdmin شوید تا به پایگاه داده خود دسترسی داشته باشید. سپس روی جدول “wp-options” و بعد روی تب “Search” کلیک کنید. سپس در قسمت “Option-name” برای قالب خود جست و جو کنید.

مرحله دوم:
حالا زیر ستون “Option-value” نام فعلی قالب سایت خود را مشاهده می کنید. این نام را به نام یکی از قالب های پیش فرض وردپرس تغییر دهید (مثلاً نام ” twentynineteen” یا ” دو هزار و بیست و یک”)
مرحله سوم:
حالا نوبت آن است که چک کنید که آیا این روش برای رفع خطای 503 در وردپرس جوابگو بوده است یا نه. اگر خطا برقرار بود، نام قالب را به حالت قبل برگردانید. اما اگر خطا برطرف شده بود، پس مشکل از قالب است. می توانید یک قالب دیگر را با همین کارایی جایگزین این قالب کنید و اطلاعات سایت خود را به آن منتقل کنید. برای انتخاب بهترین قالب جایگزین نیز بهتر است با پشتیبان قالب فعلی خود ارتباط برقرار کنید.
3. غیرفعالسازی موقت CDN و کش
در برخی موارد، خطای 503 میتواند به دلیل اختلال در سرویس CDN یا شبکه توزیع محتوا ایجاد شود. اگر از CDN استفاده میکنید، بهتر است برای بررسی دقیقتر، آن را بهصورت موقت غیرفعال کنید تا مشخص شود آیا منبع مشکل از همین بخش است یا خیر.
برای انجام این کار باید وارد پنل مدیریت CDN خود شوید و سرویس را موقتاً خاموش کنید. محل این تنظیمات بسته به ارائهدهنده CDN متفاوت است، بنابراین در صورت نیاز میتوانید از مستندات یا پشتیبانی همان سرویس کمک بگیرید. پس از غیرفعالسازی، سایت را مجدداً بررسی کنید و در صورت پابرجا بودن مشکل، به سراغ روشهای بعدی بروید.
4. مدیریت Heartbeat API وردپرس
Heartbeat API یکی از قابلیتهای داخلی وردپرس است که وظایفی مانند ذخیره خودکار محتوا، نمایش اعلانها و هماهنگی ویرایش نوشتهها را در پسزمینه انجام میدهد. این قابلیت بهصورت مداوم با سرور در ارتباط است و برای اجرای وظایف خود از منابع هاست استفاده میکند.
در بیشتر سایتها این API مشکلی ایجاد نمیکند، اما در برخی شرایط ممکن است تعداد درخواستهای آن باعث افزایش مصرف منابع سرور شود و در نهایت خطای 503 را به همراه داشته باشد. برای بررسی این موضوع، میتوانید Heartbeat API را بهصورت موقت غیرفعال یا محدود کنید و سپس عملکرد سایت را مجدداً بررسی نمایید.
مرحله اول:
از طریق FTP به وردپرس خود متصل شوید. سپس وارد پوشه قالب فعلیتان شوید (که در همان پوشه wp-content و با نام Themes قرار دارد). حالا فایل “functions.php” را پیدا کنید.

روی این فایل راست کلیک کرده و گزینه “View/Edit” را انتخاب کنید. با این کار فضای ادیتور فایل باز می شود تا بتوانید کدهای آن را تغییر دهید. پس حالا کد زیر را وارد این فایل کنید:
[code language=”php”]
add_action( ‘init’, ‘stop_heartbeat’, 1 );
function stop_heartbeat() {
wp_deregister_script(‘heartbeat’);
}
[/code]
این سه خط کد به وردپرس می گوید که Heartbeat API را غیر فعال کند. تغییرات را ذخیره کنید و بعد فایل را ببندید.
مرحله دوم:
حالا سایت را چک کنید. اگر مشکل حل شده باشد، باید فکری برای Heartbeat کنیم. اما غیر فعال نگه داشتن آن ما را از بسیاری از کاربردهای مفید این API محروم می کند. پس بهترین کار این است که آن را کُند کنیم.
ساده ترین راه برای کند کردن Heartbeat، نصب افزونه “Heartbeat Control” است. این افزونه را فعال کرده و به قسمت تنظیمات آن و بعد به بخش Heartbeat Control (کنترل ضربان قلب) بروید. سپس در این صفحه فرکانس را به کمترین میزان ممکن کاهش دهید.

مرحله سوم:
تغییرات را ذخیره کنید و به فایل functions.php برگردید. حالا باید کدهای بالا را از داخل این فایل پاک کنید تا Heartbeat دوباره فعال شود (البته این بار با فرکانس پایین تر). باز هم سایت را چک کنید؛ شاید این روش همان راه حل نهایی بوده باشد!
5. افزایش منابع سرور
اگر هیچیک از روشهای قبلی مشکل را برطرف نکرد، احتمال دارد علت خطای 503 کمبود منابع سرور مانند CPU، رم یا محدودیتهای هاست باشد. در این شرایط بهتر است میزان مصرف منابع سایت را بررسی کرده و در صورت نیاز، نسبت به ارتقای پلن هاست اقدام کنید.
پیشنهاد میشود قبل از هرگونه ارتقا، با پشتیبانی هاستینگ خود تماس بگیرید تا وضعیت سرور و علت دقیق بروز خطا را بررسی کنند. در بسیاری از موارد، گزارشهای فنی هاست میتوانند سریعتر دلیل اصلی خطای 503 را مشخص کنند.
6. مرور Logها و فعال کردن WP_DEBUG
به عنوان روش آخر برای رفع خطای 503 در وردپرس، می توانید Logهای مربوط به خطاهای سایت را بررسی کنید. برای بررسی Logها باید به داشبوردی که شرکت هاست انتخابی تان در اختیارتان قرار می دهد، رجوع کنید. اما اگر به هر دلیلی به چنین قابلیتی دسترسی نداشتید، می توانید از کدها کمک بگیرید تا Logها را مشاهده کنید. برای این کار مراحل زیر را به ترتیب طی کنید.
مرحله اول:
به سراغ فایل ” wp-config.php” سایت خود بروید و آن را باز کنید. سپس قطعه کد زیر را به این فایل اضافه کنید:
[code language=”php”]
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true );
define( ‘WP_DEBUG_DISPLAY’, false );
[/code]
با وارد کردن این کدها، حالت Logging فعال شده است و Logهای سایت منتظر بررسی شما هستند.
مرحله دوم:
اما این Logها را کجا می توانیم مشاهده کنیم؟ این گزارشات به طور معمول در پوشه ” wp-content” قرار می گیرند. پس وارد پوشه wp-content شوید و به دنبال فایلی باشید که نامی مثل “debug.log” یا “Logs” داشته باشد و آن را باز کنید.

حالا با گزارش Logهای سایت مواجه هستید. شاید این Logها در نگاه اول کمی برایتان گیج کننده باشد؛ اما خواندن و تفسیر آنها به آن اندازه ای که تصور می کنید، سخت نیست. کافیست بعضی نکات کلی را در مورد Logها بدانید.
برای مثال باید بدانید که فایل Logها به طور کلی شامل گزارش هایی از همه خطاهایی است که به ترتیب زمانی در سایت ظاهر شده اند. به علاوه نشان می دهد که ریشه هر خطا در کدام فایل است. حتی گزارش می دهد که کدام خط کد درگیر مشکل شده است.
توجه: دقت کنید که قرار نیست خطای 503 را مستقیماً بین این Logها پیدا کنید! بلکه اگر روش های قبلی جوابگو نبوده باشند، می توانید از این Logها خطاهای موجود را بررسی کرده و احتمال دهید که یکی از این خطاها علت ارور 503 است.
نکته: لازم به ذکر است که فایل های Log را در Apache و Nginx نیز می توانید ببینید و معمولاً در آدرس زیر نمایش داده می شوند:
- Apache: /var/log/apache2/error.log
- Nginx: /var/log/nginx/error.log
مرحله سوم:
گاهی اوقات نیز ممکن است خطای 503 به دلیل خطای ” Fatal PHP” باشد. برای بررسی این مورد نیز باید گزارش خطاهای PHP را هم به کمک قطعه کدها فعال کنید. برای این کار کافیست قطعه کد زیر را به فایل “php.ini” اضافه کنید. این فایل را معمولاً می توانید در تب ” Console” در ” Google Chrome DevTools” پیدا کنید.
[code language=”php”]
ini_set(‘display_errors’, 1);
ini_set(‘display_startup_errors’, 1);
error_reporting(E_ALL);
[/code]
همینطور می توانید قطعه کد زیر را هم برای دستور نمایش خطاها در همین فایل قرار دهید:
[code language=”php”]display_errors = on[/code]
جمع بندی مقاله رفع خطای 503 در وردپرس
| روش رفع خطا | توضیح |
|---|---|
| غیرفعالسازی افزونهها | بررسی ناسازگاری یا مصرف بیش از حد منابع توسط افزونههای وردپرس |
| تغییر قالب وردپرس | تست سایت با یک قالب پیشفرض برای شناسایی مشکلات قالب |
| غیرفعالسازی CDN و کش | بررسی اختلالات احتمالی در شبکه توزیع محتوا و سیستم کش |
| مدیریت Heartbeat API | کاهش مصرف منابع سرور از طریق محدودسازی درخواستهای Heartbeat |
| افزایش منابع سرور | ارتقای هاست یا بررسی محدودیتهای CPU و RAM |
| بررسی لاگها و WP_DEBUG | شناسایی خطاهای فنی از طریق گزارشها و حالت دیباگ وردپرس |
سوالات متداول
آیا خطای 503 باعث افت سئو سایت میشود؟
چگونه تشخیص دهیم خطای 503 از افزونهها است یا سرور؟
آیا افزایش منابع هاست میتواند خطای 503 را رفع کند؟
تفاوت خطای 503 با خطای 500 چیست؟