نحوه رفع خطای ۵۰۳ در وردپرس
نحوه رفع خطای ۵۰۳ در وردپرس
?How to fix 503 error in WordPress
آیا خطای غیرقابل دسترسی سرویس ۵۰۳ را در وردپرس مشاهده می کنید؟ مشکل خطای ۵۰۳ این است که هیچ سرنخی در مورد علت ایجاد آن نمی دهد که باعث می شود برای مبتدیان بسیار ناامید کننده باشد. در این مقاله ، ما به شما نحوه رفع خطای ۵۰۳ در وردپرس را نشان خواهیم داد.
چه عواملی باعث خطای ۵۰۳ در وردپرس می شود؟
همه شرکت های میزبانی وردپرس منابع مشخصی را برای هر حساب میزبانی ارائه می دهند. برای وب سایت های دارای هاست مشترک ، این محدودیت نمی تواند استفاده زیاد از منابع سرور را کنترل کند.
خطای غیر قابل دسترسی سرویس ۵۰۳ هنگامی رخ می دهد که وب سرور شما نتواند پاسخ مناسبی از یک اسکریپت PHP دریافت کند. این اسکریپت PHP می تواند یک پلاگین وردپرس ، یک تم یا یک قطعه کد سفارشی نادرست باشد.
اگر این خطا در اثر استفاده زیاد ، اشکال در سرور یا حمله DDoS ایجاد شده باشد ، در عرض چند دقیقه به طور خودکار از بین می رود.
با این حال ، اگر علت آن کد نادرست در وب سایت شما باشد ، ادامه خواهد یافت مگر اینکه کدی را که علت آن است پیدا کنید و غیرفعال کنید.
با این اوصاف ، بیایید نگاهی به چگونگی رفع خطای غیرقابل دسترسی ۵۰۳ سرویس در وردپرس بیندازیم.
نحوه رفع خطای ۵۰۳ در وردپرس:
همانطور که در بالا ذکر کردیم این خطا زمانی ایجاد می شود که وب سرور شما قادر به دریافت پاسخ مناسب از یک اسکریپت PHP در پس زمینه نباشد.
برای رفع آن ، همه اسکریپتهای غیرضروری PHP را یکی یکی غیرفعال می کنیم تا زمانی که خطا برطرف شود.
بیایید شروع کنیم.
۱- تمام افزونه های وردپرس را غیرفعال کنید
تمام افزونه های وردپرس شما اسکریپت های PHP هستند ، بنابراین ابتدا باید تمام افزونه های وردپرس خود را غیرفعال کنید.
از آنجا که به دلیل خطای ۵۰۳ نمی توانید به داشبورد وردپرس خود وارد شوید ، باید با استفاده از سرویس گیرنده FTP یا File Manager در cPanel به وب سایت خود متصل شوید. پس از اتصال ، به / wp-content / folder بروید و نام پوشه plugins را به plugins-old تغییر دهید.
بعد ، شما باید یک پوشه جدید ایجاد کنید و نام آن را به پلاگین ها اضافه کنید.
اکنون باید به سایت وردپرس خود مراجعه کنید تا ببینید آیا با این کار خطا برطرف شده است.
اگر چنین شد ، این بدان معناست که یک افزونه نصب شده در وب سایت شما باعث ایجاد خطا شده است. مراحل بالا تمام افزونه های وردپرس را غیرفعال کرده است.
برای اینکه بفهمید کدام افزونه باعث بروز این مشکل شده است ، باید به Client یا FTP Manager خود در cPanel مراجعه کنید. بعد ، باید به / wp-content / folder بروید و پوشه پلاگین های خالی را حذف کنید.
پس از آن باید نام پوشه plugins-old را به plugins تغییر دهید. با این کار تمام افزونه های نصب شده قبلی شما در دسترس وردپرس قرار می گیرد. اما این افزونه ها غیرفعال خواهند ماند.
شما باید از قسمت مدیریت وردپرس بازدید کنید و سپس به صفحه پلاگین ها بروید. می توانید افزونه های خود را یکی یکی فعال کرده و پس از فعال سازی هر افزونه به صفحات مختلف وب سایت خود سر بزنید. این کار را ادامه دهید تا زمانی که پلاگین خطای ۵۰۳ را پیدا کنید.
اگر با این مرحله مشکل شما برطرف شد ، نیازی نیست که بقیه دستورالعمل های این صفحه را دنبال کنید. در غیر این صورت ، می توانید به مرحله بعدی بروید.
۲- به یک قالب پیش فرض وردپرس بروید
اگر با غیرفعال کردن افزونه ها مشکلی حل نشد ، در مرحله بعدی انتقال به یک قالب پیش فرض وردپرس است. با این کار تم وردپرس فعلی شما غیرفعال می شود.
ابتدا باید با استفاده از سرویس گیرنده FTP یا File Manager در cPanel به سایت وردپرس خود متصل شوید. پس از اتصال ، به /wp-content/themes/ folder. بروید.
تم وردپرس فعلی خود را پیدا کنید و آن را به عنوان پشتیبان در رایانه بارگیری کنید.
پس از بارگیری موضوع خود ، می توانید پیش بروید و آن را از وب سایت خود حذف کنید
حال ، اگر قبلا یک تم پیش فرض مانند Twenty Seventeen یا Twenty Sixteen نصب کرده اید ، به طور خودکار فعال می شود. اگر این کار را نکنید ، می توانید پیش بروید و یک تم پیش فرض را در وب سایت خود نصب کنید.
وب سایت خود را کاملا بررسی کنید تا مطمئن شوید خطای ۵۰۳ برطرف شده است.
۳- شبکه تحویل محتوای خود را به طور موقت غیرفعال کنید (CDN)
گاهی اوقات ، خطای ۵۰۳ نه به دلیل مشکلی در وب سایت شما ، بلکه به دلیل شبکه تحویل محتوا (CDN) شما نشان داده می شود. اگر از CDN استفاده می کنید ، یک راه سریع برای فهمیدن این مسئله غیرفعال کردن موقت آن است.
هر CDN باید دارای برخی از ویژگی ها باشد که به شما امکان می دهد خدمات آن را متوقف کنید.
فرایندی که باید دنبال کنید بسته به اینکه از کدام CDN استفاده می کنید متفاوت باشد.
اگر از CDN استفاده نمی کنید یا متوجه می شوید مکث سرویس به مشکل شما کمک نمی کند ، هنوز چند راه حل دیگر برای امتحان وجود دارد. یادتان باشد قبل از حرکت CDN خود را دوباره فعال کنید.
۴- Heartbeat API وردپرس را محدود کنید
WordPress Heartbeat یک API داخلی در وردپرس است که از این پلتفرم برای ذخیره خودکار مطالب استفاده می کند ، به شما اعلان های افزونه را نشان می دهد ، به شما اجازه می دهد وقتی شخص دیگری روی پستی که قصد دسترسی به آن را دارید کار می کند و موارد دیگر.
درست مثل یک ضربان قلب منظم ، API در پس زمینه با فرکانس بالا کار می کند تا چیزی را از دست ندهد. همانطور که تصور می کنید ، این API منابع سرور را مصرف می کند. معمولاً این مشکلی نیست اما در برخی موارد ، اگر سرور شما نتواند بار را تحمل کند ، ممکن است منجر به خطای ۵۰۳ شود.
سریعترین راه برای تعیین اینکه آیا Heartbeat API در مرکز مشکلات شما قرار دارد ، غیرفعال کردن موقت آن است. برای انجام این کار ، یکبار دیگر به وب سایت وردپرس خود از طریق FTP متصل شوید ، و سپس پوشه تم های فعلی خود را باز کنید و به دنبال فایل functions.php باشید:
روی پرونده کلیک راست کرده و گزینه View / Edit را انتخاب کنید که با استفاده از ویرایشگر متن محلی شما آن را باز می کند. پس از باز شدن ، باید کد زیر را در این قسمت اضافه کنید:
add_action( 'init', 'stop_heartbeat', 1 ); function stop_heartbeat() { wp_deregister_script('heartbeat'); }
این سه خط کد به وردپرس می گوید که Heartbeat API را غیرفعال کند. تغییرات موجود در فایل functions.php را ذخیره کنید ، آن را ببندید و دوباره سعی کنید به وب سایت خود دسترسی پیدا کنید.
اگر خطای ۵۰۳ از بین رفته باشد ، می دانید که مشکل API بوده است. غیرفعال کردن آن به طور کلی بسیاری از قابلیت های مفید را از بین می برد. درعوض ، توصیه می کنیم ضربان قلب را «کند» کنید ، تا مشکلی ایجاد نکند.
ساده ترین راه برای انجام این کار نصب پلاگین Heartbeat Control است. افزونه را فعال کرده و به قسمت تنظیمات Settings > Heartbeat Control بروید. به دنبال گزینه های Modify Heartbeat باشید و فرکانس را به کمترین تعداد ممکن کاهش دهید:
تغییرات موجود در تنظیمات خود را ذخیره کرده و به فایل functions.php که مدتی پیش تنظیم کرده اید برگردید. برای کارایی تغییرات بالا ، باید رشته کدی را که قبلاً اضافه کرده اید حذف کنید و تغییرات خود را در پرونده ذخیره کنید.
اگر مشکل Heartbeat API باشد ، در این مرحله خطای ۵۰۳ باید برطرف شود. اگر اینگونه نباشد ، وقت آن است که چیز دیگری را امتحان کنید.
۵- منابع سرور خود را افزایش دهید
اگر خطای ۵۰۳ با وجود تمام تلاش های شما برای رفع آن تاکنون همچنان اتفاق می افتد ، احتمال زیادی وجود دارد که این مشکل به دلیل کمبود منابع سرور باشد. به عبارت دیگر ، شما باید برنامه میزبانی خود را ارتقا دهید تا ببینید آیا این مسئله مشکلی را برطرف نمی کند. این امر به ویژه اگر از میزبانی ارزان وردپرس استفاده می کنید بسیار درست است ، زیرا آنها تمایل به جذب منابع دارند.
با این حال به روزرسانی طرح خود تصمیم بزرگی است. حرکت هوشمندانه این است که ابتدا با خدمات پشتیبانی میزبانی وب خود تماس گرفته و درباره خطای ۵۰۳ و همچنین مراحلی که تاکنون برای امتحان و حل آن برداشته اید با آنها صحبت کنید. تیم پشتیبانی باید بتواند به شما کمک کند تا علت را بررسی کنید و به شما در مورد اینکه آیا باید برنامه خود را ارتقا دهید یا نه مشاوره دهید.
۶- گزارش های خود را مرور کرده و WP_DEBUG را فعال کنید
همچنین باید از گزارش خطاهای خود استفاده کنید. این می تواند به شما کمک کند تا سریعاً مسئله را محدود کنید ، خصوصاً اگر ناشی از یک افزونه در سایت شما باشد.
اگر میزبان شما از ابزار ورود به سیستم (logging tool) برخوردار نیست ، می توانید برای فعال کردن این ابزار ، کد زیر را به پرونده wp-config.php خود اضافه کنید:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
گزارش ها (logs) معمولا در دایرکتوری wp-content قرار دارند. در داخل آن ، به دنبال فایلی به نام debug.log بگردید و آن را باز کنید.
تفسیر گزارش اشکال زدایی شما می تواند کمی ترسناک باشد اما خواندن آن چنان که تصور می کنید دشوار نیست. به طور خلاصه ، این گزارش شامل هر خطایی است که به ترتیب زمانی در سایت شما ظاهر می شود. این نشان می دهد که کدام پرونده باعث هر خطا شده است و همچنین کدام خطوط خاص کد در آن دخیل هستند.
مراقب باشید: شما نمی خواهید ارجاع مستقیم به خطای ۵۰۳ را در گزارش خود پیدا کنید. حتی در این صورت ، اگر همه راه های دیگر به شکست منجر شود ، می تواند با نشان دادن اینکه چه پرونده هایی مشکل ایجاد می کنند ، شما را به مسیر درست هدایت کند. به این ترتیب ، می دانید که در مرحله بعدی تلاش خود را کجا متمرکز کنید. همانطور که در مرحله قبل به آن اشاره کردیم ، در صورت نیاز به کمک بیشتر برای رفع این خطا ، اکنون زمان مناسبی برای تماس با ارائه دهنده میزبانی خود است.
اگر خطای ۵۰۳ به دلیل خطای PHP کشنده در حال نمایش است ، می توانید گزارش خطای PHP را نیز فعال کنید. به سادگی کد زیر را به پرونده اضافه کنید تا خطا ایجاد شود. معمولاً می توانید پرونده را در برگه کنسول Google Chrome DevTools محدود کنید.
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
و شاید لازم باشد فایل php.ini خود را با موارد زیر اصلاح کنید:
display_errors = on
نحوه رفع خطای ۵۰۳ در وردپرس
اگر خوش شانس باشید ، خطای ۵۰۳ فقط زمانی نشان داده می شود که وب سایت خود را در حالت تعمیر و نگهداری قرار دهید. با این حال ، اگر بدون هشدار به نظر می رسد ، باید آستین ها را بالا بزنید و عیب یابی کنید.
برای دریافت دلیل اصلی خطای ۵۰۳ ، برای رفع آن باید این مراحل را دنبال کنید:
۱- افزونه های وردپرس خود را به طور موقت غیرفعال کنید.
۲- قالب وردپرس خود را غیرفعال کنید.
۳- CDN خود را غیرفعال کنید.
۴- محدود کردن API وردپرس Heartbeat.
5- منابع سرور خود را افزایش دهید.
۶- گزارش های خود را مرور کرده و WP_DEBUG را فعال کنید.
امیدواریم این مقاله به شما کمک کند تا نحوه رفع خطای ۵۰۳ در وردپرس را برطرف کنید.
چنان چه نسبت به محتوای این پست آموزشی پرسشی دارید یا در مورد وب سایت وردپرس خود نیاز به دریافت راهنمایی و مشاوره دارید، می توانید هم اکنون در ناحیه کاربری ثبت نام کرده، اطلاعات سایت را تیکت کنید و از دانش و تخصص کارشناسان ما در وب سایت پشتیبان وردپرس ایرانی، بهره بگیرید.