سلام دوستان؛
در آموزش قبلی به نحوه رفع خطای 503 سایت پرداختیم و عنوان کردیم که دلایل متعددی چون مشکل افزونه ها، قالب ها، توابع php یا محدودیت های سایت ممکن باعث بروز چنین خطایی شود. در این آموزش از وب داده قصد داریم سایر روش هایی که ممکن است موجب بروز خطا و نحوه رفع آن شود را بررسی کنیم.
قالب وردپرسی دلیل بروز خطای 503
گاهی اوقات اسکریپت PHP ناسازگار که بخشی از قالب است باعث بروز خطای 503 سایت می شود. در چنین مواقعی ساده ترین راه کار برای تشخیص اینکه آیا قالب باعث بروز خطا شده یا خیر می توان قالب های پیش فرض وردپرس را راه اندازی کرد. به همین دلیل همیشه توصیه می شود که قالب های پیش فرض وردپرس را حتی پس از نصب یک قالب جدید باز هم نگه دارید، زیرا در صورتی خرابی یا غیر فعال شدن قالب فعلی، قالب پیش فرض وردپرس فعال می شود.
غیرفعال سازی قالب های وردپرس
در صورتی که حدس بزنیم قالب فعلی دلیل بروز خطاست قبل از اینکه قالب را غیرفعال کنیم، باید یک نسخه پشتیبان از آن ایجاد کنیم. از طریق FTP به وب سایت وردپرسی خود وصل شوید و به پوشه wp-content بروید. قالب فعال خود را پیدا کنید و آن را مشابه با تصویر زیر دانلود کنید:
سپس قالب فعال را حذف کنید و سایت خود را دوباره بارگذاری کنید. اگر خطای 503 از بین رفته باشد، قالب مشکل داشته و باید مشکل آن را رفع یا آن را بروز رسانی کنید. در صورتی که مشکل از قالب نبود نسخه دانلود شده یا نسخه جدید را در هاست خود قرار دهید. بجز این روش می توانید مانند رو غیر فعال سازی افزونه ها نام پوشه قالب فعال را تغییر و آن را غیر فعال کنید و ببینید خطا رفع شده یا خیر. در صورتی که با روش های ذکر شده خطای 503 همچنان پا بر جا بود، ممکن است نسخه php یا تنظیمات آن مشکل داشته باشد.
مسائل مربوط به سرور
در برخی مواقع ممکن است مسائل مرتبط با سرور باعث بروز خطای 503 Service Unavailable شده باشد. در برخی موارد ارور 503 که ناشی از مشکلات سرور باشد بعد از چند دقیقه به صورت خودکار رفع می گردد و نیاز به انجام کاری خاصی جهت برطرف کردن آن نیست. اگر تمام روش ها را بررسی کردید و مشکل رفع نشد کمی صبر کنید. در صورتی که خطا به صورت خودکار رفع نشد می توانید سایر تنظیمات یا منابع خود را نیز بررسی کنید.
افزایش منابع سرور
برخی از برنامه های میزبانی وب قدرت کافی برای بارگذاری وب سایت های بزرگ یا مصارف سنگین را ندارند. اگر میزبان شماقدرت کافی را ندارد یا منابعی که از آن استفاده می کنید پایین و ضعیف است وقت آن رسیده است که سرویس میزبانی وب خود را بهبود ببخشید یا منابع هاست خود را ارتقا دهید. اگر خطای 503 Service Unavailable را به طور پیوسته دریافت می کنید بهتر است منابع هاست یا سرور خود را ارتقاء دهید در برخی مواقع کمبود منابع موجب بروز این خطا می شود. توصیه می کنیم گوگل آنالیتیک خود را بررسی کنید. اگر ترافیک بیشتر از حد معمول را دریافت می کنید، قطعا از منابع سرور محدودی نسبت به ترافیک ورودی برخوردار هستید و همین موجب بروز خطا شده است. اگر ترافیک اضافی ندارید، اما هنوز هم خطای 503 را می بینید، مشکل شما از RAM یا حافظه ناکافی سرور نیست.
محدود کردن نرخ خزش ربات های گوگل
گوگلاز اسکریپت های مختلفی برای ایندکس کردن انواع محتوای وب سایت استفاده می کند که معمولا به عنوان crawlers یا خزنده های گوگل شناخته می شوند. این خزنده ها به طور مرتب به وب سایت شما می آیند تا محتوا را جمع آوری کرده و سایر معیارهای رتبه بندی را تعیین کنند. در حالتعادی ورود ربات ها به وب سایت مشکل خاصی ایجاد نیم کند اما در برخی مواقع معدودی ورود ربات ها منابع هاست یا سرور را درگیر کرده و وب سایت را کند می کنند. برای دور زدن این مشکل و خلاص شدن از خطای 503، می توانید نرخ خزیدن ربات های گوگل را با استفاده از سرچ کنسول گوگل محدود کنید.
نکته: تغییراتی که ایجاد می کنید، در مدت 3 ماه اعمال خواهد شد. علاوه بر این، اگر شما نسخه های با WWW و بدون WWW سایت خود را دارید، باید این کار را برای هر دو انجام دهید.
برای تعیین نرخ خزش ربات های گوگل به Google Search Console وب سایت خود مراجعه کرده بعد، روی نماد چرخ دنده کلیک کنید که تنظیمات سایت را مانند تصویر زیر نمایش می دهد:
در صفحه بعد، کراول ریت گوگل را با کشیدن اهرم به سمت چپ تنظیم کنید.
محدودیت های وردپرس
یک سری موارد API برای وردپرس ساخته شده است که اجازه می دهد در زمان های دلخواه عملیات و به روز رسانی هایی را انجام داد. این قابلیت برای مواردی مثل ذخیره سازی های خودکار و… کاربرد دارد. API وردپرس یا Heartbeat API یک فایل به نام admin-ajax.php را در میان سایر پرس و جو ها با فواصل منظم هنگام ورود به سایت ایجاد می کند. این قابلیت منابع سرور را تا حدی مصرف می کند، برای جلوگیری ا مصرف منابع و کنترل آن می توانید قابلیت را به طور کامل محدود یا غیر فعال کنید. هنگامی که سایت خود را چکاب می کنید می توانید از پلاگین WordPress Control Heartbeat استفاده کنید تا این قابلیت را محدود کند به این صورت نیازی نیست قابلیت را به طور کامل غیر فعال کرد.
حالا برای تشخیص اینکه آیا قالب وردپرسی موجب بروز خطای 503 در سایت شده است یا خیر، کد زیر را بعد از باز شدن <?php tag به تابع functions.php قالبتان اضافه کنید:
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat'); }
سپس تغییرات خود را ذخیره کنید و سایت را دوباره بارگذاری کنید. اگر خطای 503 از بین رفته باشد، یعنی مشکل از توابع بوده است. اما اگر خطای 503 هنوز هم وجود داشت، به این معنی است که API Heartbeat وردپرس بخشی از مشکلات شماست و باید آن را بررسی کنید.
نکته مهم: اگر دستور بالا خطای 503 را حل نکرد، حتما کد را از فایل functions.php خود حذف کنید.
جمع بندی نهایی
همیشه دقت داشته باشید که دلیل اصلی بروز خطای 503 Service Unavailable کدهای PHP معیوب، افزونه ها و قالب های نال شده یا ناقص و مشکلات مرتبط با تنظیمات می باشد. برای همین در اولین گام باید این موارد را بررسی کنید.