رفع خطای ۵۰۳ وردپرس
خطاهای وردپرس خیلی اوقات ممکن است خیلی دردسرساز باشند! یکی از این خطاها خطای ۵۰۳ است که ممکن است کل سایت را از دسترس خارج کند و یافتن راهحل مشکل را کمی سخت کند. دلایل زیادی پشت خطای ۵۰۳ Service Unavailable میتواند وجود داشته باشد که باید پیدا شوند. ما در این جا دلایل اصلی را به همراه طریقهٔ رفع آن خدمت شما عرض خواهیم کرد.
خطای ۵۰۳ Service Unavailable چیست؟
خطای ۵۰۳ Service Unavailable یکی از کدهای وضعیت HTTP است، به این معنا که سرور سایت در حال حاضر قادر به ارائه خدمات نیست. به این دلیل این اتفاق رخ میدهد که سرور سرش خیلی شلوغ است و یا سرور وب به دلیل عملیات زمان بندی شده در حال نگهداری است، پس فعلاً قطع میباشد.
روی سایتهای وردپرس این خطا میتواند به علت افزونهها و قالبهای تاریخ گذشته و یا آنهایی که به خوبی برنامه نویسی نشده باشند هم باشد. چون تنها در این حالت است که از اسکریپت PHP پاسخی دریافت نمیشود.
در مواقعی هم ممکن است به علت حملات DDOS که در مدت زمان کوتاهی توسط سرورهای هکر، درخواستهای زیادی به وب سرویس هاست ارسال میشود، خطای ۵۰۳ Service Unavailable رخ دهد که در این حالت یا مشکل از کانفیگ سرور هاست شماست، که در این حالت باید همیشه از هاستهای امن استفاده کنید. یا اینکه باید سایتتان را در برابر این دست حملات به روشهایی که در دیگر صفحات سایت WPTutorial.ir گفته شده امن کنید.
چطور خطای ۵۰۳ را برطرف کنیم؟
حالا که راجع به علت بروز این خطا اطلاعاتی کسب کردید، قبل از اینکه به هاستینگ سایت خود حمله کنید که چرا این مشکل رخ داده است، اول مطمئن شوید که از اسکریپت سایت شما نیست! گاهی اوقات ممکن است یک خط کد اشتباه در بین فایلهای PHP باعث بروز یک چنین مشکلی گردد.
بدین منظور دو تا راهبرد وجود دارد. اول اینکه تمامی افزونهها و پوستهها را غیر فعال کنید. که ببینید آیا واقعاً مشکل از آنها است یا خیر. البته در این زمان طبیعتاً دسترسی به پیشخوان ندارید. پس باید با ورود به File Manager یا FTP مبادرت به تغییر نام پوشهٔ افزونههای وردپرس خود کنید که با این کار تمامی افزونهها غیر فعال خواهند شد. البته فراموش نکنید که حتماً بعد از آن یک پوشهٔ خالی با نام plugins در همان مسیر ایجاد کنید.
اگر با انجام این کار سایت شما کار کرد و به حالت اول خودش برگشت، حالا باید بگردید ببینید که واقعاً کدام افزونه بوده که مسبب بروز یک چنین خطایی شده است.
حالا مجدد به مسیر wp-content برگردید. پوشهٔ خالیای که ایجاد کردید را حذف کنید و پوشهٔ اصلی افزونهها را به همان نام اصلی تغییر نام دهید. در این زمان باید مجدد مشکل خطای ۵۰۳ به وجود آید. که باید وارد پوشهٔ Plugins شده و حالا تمامی پوشههای تک تک افزونهها را تغییر نام داده و بعد از آن یکی یکی نام پوشهٔ هر افزونه را به نام اصلی خودش تغییر دهید. افزونهای که مسبب بروز خطای ۵۰۳ شده با تغییر نامش به نام اصلی، سایت را مجدد به حالت خطای ۵۰۳ خواهد برد! در این حالت است که میتوانید متوجه شوید که کدام افزونه یا حتی پوسته خطای ۵۰۳ Service Unavailable را ایجاد کرده است.
راهبرد دوم هم دقیقا انجام همین مراحل برای پوستهها است تا اگر مشکل از کدنویسی پوستهها باشد، قادر باشید پوستهٔ مشکل زا را بیابید و آن را حذف یا ویرایش کنید.
احتمال حمله به سایت!
اگر کارهایی که در بالا گفته شدند را انجام دادید و نتیجه نگرفتید، مورد بعدی که باید بررسی شود این است که آیا سایت الان زیر حمله هست یا خیر! اگر زیر حمله باشد، سایت شما توسط درخواستهای زیاد و غیر معتبر بمب باران شده و کاربران عادی و معتبر قادر به دریافت پاسخ نیستند. سرورهای ضعیف عمدتاً مستعد بروز این دست خطاها هستند که همیشه باید به این نکته دقت داشته باشید که از جایی هاست تان را تهیه کنید که امنیت را ملاک کاری خود قرار دهند و سخت افزارها و نرم افزارهای قویای را انتخاب کنند.
برای اینکه نشانههای حمله را ببینید، بهترین کار این است که به بخش آمارگیر کنترل پنل فضای میزبانی خود بروید و ببینید که همینک چه مقدار درخواست از مشتریها به هاست داده میشود؟ اگر این تعداد بالا باشد و از عرف خارج باشد، به احتمال زیاد سایت شما زیر حمله است و باید سایتتان را تا آن جایی که دست خودتان است امن کنید.
یکی از کارهایی که برای امن کردن سایت میتوانید انجام دهید این است که اگر حمله از یک محدوده IP خاصی صورت میپذیرد، آن آیپیها را توسط کنترل پنل مسدود کنید. خیلی از کنترل پنلها دارای امکانی برای انجام یک چنین کاری هستند.
در مواقعی هم ممکن است نصب مجدد وردپرس مشکل را برطرف کند. اما با این کار تمامی اطلاعات سایت شما از بین خواهد رفت! که قطعاً نمیخواهید یک چنین اتفاقی رخ دهد. در نهایت اگر کارهایی که در این مقاله برای رفع خطای ۵۰۳ وردپرس گفته شد، اثر نداشت، بهتر است با پشتیبان هاست خود تماس بگیرید و از آنها درخواست کمک کنید.