خطای ۵۰۴ در سایت‌های وردپرسی – بررسی دلایل و ارائه راهکارهای مناسب

نویسنده : سید ایوب کوکبی ۷ فروردین ۱۳۹۷

خطای 504 در سایت‌های وردپرسی - بررسی دلایل و ارائه راهکارهای مناسب

در دنیای کسب‌وکارهای اینترنتی وقتی صحبت از خطا، اشکال و خرابی می‌شود معمولا پای عوامل زیادی از خطاهای انسانی و محیطی گرفته تا خطاهای تکنولوژیکی، تجاری و فنی به میان کشیده می‌شود. بنابراین در هنگام مواجهه سایت با یک مشکل، به سادگی نمی‌توان عامل ایجاد کننده آن را پیدا کرد. گاهی اوقات بررسی منشاء یک خطا نیازمند بررسی عوامل متعددی از جمله نقص‌های امنیتی، خرابی‌های ناشناخته، مسائل مربوط به لینک‌های شکسته، طراحی نامناسب UX و غیره است. خطای ۵۰۴ یکی از خطاهای رایج است که دست‌کم هر کسی یکبار در طول عمر تکنولوژیک خود آن را تجربه کرده است. بدی این خطا عوامل متعدد ایجاد کننده آن است. گاهی اوقات با وجود سلامتی امنیت سایت، سرعت مطلوب لود صفحات، سئوی مناسب و سایر شرایط ایده‌آل در کمال تعجب با خطای ۵۰۴ مواجه می‌شوید. خطایی که برای شناخت منشاء آن باید آستین بالا زده و احتمالان مختلفی را بررسی کنید. در این مقاله قصد داریم به بررسی این احتمالات بپردازیم.

کدهای وضعیت HTTP حامل پیام و وضعیت سرور هستند:

  • کد ۲۰۰: نشان دهنده کارکرد صحیح سرور است. در واقع این کد می‌گوید همه چیز روبه‌راه است.
  • کد ۳۰۰: بیان کننده ریدایرکت شدن آدرس سایت است.
  • کد ۴۰۰: منعکس کننده خطایی است که مربوط به کاربر نهایی (end user) است. با مشاهده این خطا، مشکل یا از مرورگر شماست، یا از اتصال اینترنتی، فایروال و یا از تنظیمات پراکسی و غیره.
  • کد ۵۰۰: شامل خطای ۵۰۴ که مربوط به بروز اشکالی در سرور سایت است.

خطای 504

خطای ۵۰۴ با جملاتی مثل «۵۰۴gateway timeout» یا «HTTP error 504» نمایش داده می‌شود. اساسا هنگامی که به هر دلیلی به سایت خاصی متصل نمی‌شوید در متن خطای آن عدد ۵۰۴ را خواهید یافت. این یعنی سرور درخواست شما را دریافت کرده ولی به دلیلی قادر به ارائه پاسخ نیست. در هنگام اشکال‌زدایی خطای ۵۰۴ پیش از هر کاری مشکل را با میزبان خود در میان بگذارید چرا که این خطا منشاء سروری داشته و در حوزه فنی آن‌هاست و در صورتی که مشکل از تنظیمات پیکربندی شما باشد راهنمایی‌های لازم ارائه می‌شود. محتمل‌ترین دلیل بروز این مشکل، کمبود پهنای باند و حافظه برای پردازش درخواست‌ها است. برای رفع این مشکل واضح است که نیازمند ارتقاء سطح منابع سرور هستید.

 

روش حل خطای ۵۰۴ در سایت وردپرسی شما

شناسایی مسبب خطای ۵۰۴ کار ساده‌ای است. مشکل سروری است؛ یا از سوی هاست شما مشکلی پیش آمده و یا پیکربندی نادرست و تنظیمات اشتباه از ناحیه شما باعث بروز این خطا شده است. در هر صورت دلایل مختلی در بروز این خطا نقش دارند. متاسفانه همین موضوع باعث شده تا رفع اشکال این خطا به مسئله‌ای بغرنج و پراسترس تبدیل شود. به همین دلیل، بسیاری از توسعه‌دهندگان در پاسخ به سوالات مطرح شده در فروم‌های پشتیبانی به دلایل متعددی نظیر مشکل پلاگین، DNS و غیره اشاره می‌کنند و فصل مشترکی برای پاسخ‌ها نمی‌توان یافت. بنابراین لازم است با دلایل مختلف این مشکل آشنا شده تا با تست کردن هر کدام به ریشه اصلی مشکل پی برده و در نهایت سایت وردپرسی خود را به سلامت بازگردانید.

بخوانید  انتخاب بهتر پوسته تجاری وردپرس

۱- آیا خطای ۵۰۴ به صورت موقت اتفاق می‌افتد؟

اگر این مشکل فقط برای شما پیش آمده و تاکنون گزارشی از سوی کاربران ارائه نشده، بهتر است یکبار صفحه را رفرش کنید اگر حل نشد کش مرورگر را خالی کنید و بعد از ریستارت کردن مرورگر مجددا تست کنید. اگر باز هم مشکل حل نشد با مرورگر و سیستم دیگری این کار را تست کنید. در صورت رفع مشکل می‌توانید امیدوار باشید که مشکل به صورت اتفاقی و مقطعی و فقط برای شما پیش آمده و برای سایر کاربران رخ نمی‌دهد. بنابراین لازم نیست کار دیگری انجام دهید.

۲- آیا یک نقص امنیتی رخ داده است؟

سپس باید احتمال بروز یک نقص امنیتی که توسط عوامل خارجی نظیر حملات DDoS رخ می‌دهد را رد کنید. سراغ افزونه امنیتی بروید و حملات و مشکلات شناسایی شده را بررسی کنید. در صورتی که امنیت سایت را دست متخصص این کار داده‌اید موضوع را با وی در میان بگذارید. در هر صورت شناسایی این مشکل بسیار  حائز اهمیت است چرا که حساسیت مشکلات امنیتی همیشه بالاتر از خطای پیش آمده است.

۳- شاید مشکل از نقل و انتقال سایت باشد.

انتقال سایت از یک هاست به هاست دیگر و یا حتی از یک سیستم مدیریت محتوا به سیستم دیگر می‌تواند زمینه‌ساز بروز خطای ۴۰۴ باشد. گاهی اوقات تغییر از پروتکل HTTP به HTTPS می‌تواند مسبب این مشکل باشد.

۴- دیتابیس را چک کنید.

اگر احساس می‌کنید مشکل از دیتابیس MySQL سایت است و اخیرا با معضلاتی در این باره مواجه شده‌اید بد نیست با پلاگین WP-DBManager اقدام به تعمیر خرابی‌های پیش آمده کنید.

۵- فایل htaccess. را بررسی کنید.

آخرین باری که تغییری در فایل‌های دیتابیس اعمال کرده‌اید را به یاد آورید. اگرچه این مشکل ممکن است به کلیت دیتابیس لطمه‌ای وارد نکند ولی تغییر نامناسبی در یکی از فایل‌های دیتابیس ممکن است عامل چنین مشکلی باشد. در این رابطه توجه ویژه‌ای به فایل htaccess. که کلید دسترسی به فایل‌هاست داشته باشید. سعی کنید یکبار به نسخه قبلی بازگردید، شاید مشکل از تغییرات جدیدی است که در این فایل اعمال کرده‌اید.

بخوانید  ده کار برای پرطرفدار شدن سایت در وردپرس

۶- افزونه یا پوسته جدیدی نصب کرده‌اید؟

وقتی به سوالات مختلف توسعه‌دهندگان حول محور خطای ۵۰۴ نگاه می‌کنیم در می‌یابیم که در اغلب موارد، اولین مقصر افزونه‌ها هستند. این موضوع نشان می‌دهد که سهل‌انگاری در نصب و به کار گرفتن پلاگین‌هایی که اینقدر مفید هستند چقدر می‌تواند آسیب‌رسان باشد. گاهی اوقات نصب یک افزونه جدید می‌تواند مسبب خطای ۵۰۴ باشد.

wordpress-plugins

اولین قدم در اشکال‌زدایی هر چیزی و نه فقط وردپرس این است که ببینید چه تغییراتی اعمال کرده‌اید. بررسی کنید آپگرید، افزونه یا پوسته جدیدی در این مدت نصب نکرده‌اید. آن‌ها را ا غیر فعال کرده و یا به حالت قبل از بروزرسانی بازگردانی کنید و سایت را دوباره چک کنید. اگر باز هم مشکل پابرجا بود همه افزونه‌ها را غیرفعال کنید و دوباره چک کنید. پلاگینی که به خوبی کش و یا آپدیت نشده باشد می‌تواند به کند شدن و کاهش زمان پاسخ سرور منجر شود که در چنین شرایطی بروز خطای ۵۰۴ چیز عجیبی نیست.

۷- از CDN استفاده می‌کنید؟

یکی از از تکنیک‌های اشکال‌زدایی خطاهایی با کد ۴۰۰، غیرفعال نمودن پراکسی در مرورگر است. با این حال چون بحث ما خانواده خطاهای ۵۰۰ است و به سرور بستگی دارد بایستی سراغ سرورهای واسط نظیر CDN ها برویم. شاید سرور CDN که تصاویر سایت بر روی آن میزبانی می‌شود با مشکلی مواجه شده و قادر به پردازش درخواست‌ها نیست که باعث بروز چنین مشکلی شده است.

۸- فایروال را دست کم نگیرید.

همچون وب پراکسی، یک فایروال نیز به مانند لایه‌ای میان سرور و بازدیدکننده شماست. اگرچه ماهیت این دو کاملا با هم متفاوت است و هر یک برای کاری مجزا ساخته شده‌اند ولی در شرایطی ممکن است عامل به وجود آورنده خطای ۵۰۴ فایروال و تنظیمات نادرست آن باشد. بهتر است موقتا فایروال سایت را غیرفعال کنید تا این فرضیه را هم تست کرده باشید.

۹- امان از دست هاست‌های بی‌کیفیت

متاسفانه فعالیت هاستینگ‌ها گهگاهی با مشکلاتی مواجه می‌شود و همیشه در بروز مشکلات سروری در یک سویه احتمالات ما هستند. در حالی که ستون‌های کسب‌وکار شما بر شانه‌های هاستینگ بنا شده است ولی نمی‌توان آن‌ها را شرکایی وفادار و صادق دانست. هاستینگ‌ها خود را چندان ملزم به تعهد به مشتری نمی‌دانند هرچند که در تبلیغات طور دیگری حرف می‌زنند ولی متاسفانه حقیقت چیزی جزء این نیست بخصوص اگر از هاستینگ‌های ضعیف و ارزان استفاده می‌کنید. به جزء مواردی که سایت شما بر روی هاستینگ‌های وردپرسی، سرور مجازی و اختصاصی قرار داشته باشد، خطای ۵۰۴ اغلب در هاستینگ‌های اشتراکی که یکی از همسایه‌ها منابع سرور را غیرمنصفانه مصرف می‌کند رخ می‌دهد. گاهی اوقات، موضوع، اتصال کند هاست به دیتاسنتری است که از خدمات آن استفاده می‌کند. اگر اطمینان دارید مشکل از سوی هاست شماست با آن‌ها تماس بگیرید.

بخوانید  رفع رایج‌ترین مشکلات سئو در سایت‌های وردپرسی

۱۰- وب سرور NGINX

نرم‌افزار NGINX معمولا با هدف افزایش کارایی بر روی سرور سایت نصب می‌شود تا با برقراری توازن، کشینگ، پراکسی و سایر راهکارها، همواره سایتی سریع و کارآمد داشته باشید. این وب سرور اگرچه می‌تواند سرعت سایت شما را افزایش دهد ولی تنظیمات و پیکربندی نادرست آن باعث می‌شود تا قادر به پردازش ترافیک بالا نبوده و با چنین مشکلی روبرو شوید. معمولا مشکلات پیکربندی وب سرور را می‌توانید با پشتیبان هاست خود در میان بگذارید تا راهنمایی شوید.

۱۱- شاید مشکل از پلنی است که انتخاب کرده‌اید؟

همیشه مشکل را به گردن هاست و تکنولوژی‌های به کار رفته در آن نیندازید. شاید پلنی که خریداری کرده‌اید جوابگوی نیاز شما نیست و با ارتقاء پلن و افزایش منابع (مثلا پهنای باند و حافظه) این مشکل حل شود. هاست‌های کلود یا ابری در چنین شرایطی از امتیازات ویژه‌ای برخوردار هستند. مثلا به راحتی امکان ارتقاء تک تک منابع به صورت مجزاء وجود دارد. بنابراین وقتی فقط به ارتقاء رم نیاز دارید لازم نیست هزینه پهنای باند اضافه اجباری هم پرداخت کنید. دقیقا پول چیزی را می‌دهید که لازم دارید. نه بیشتر و نه کمتر.

۱۲-  مدیریت PHP Worker ها

گاهی اوقات ممکن است پهنای باند سایت و میزان حافظه به اندازه کافی وجود داشته باشد ولی مشکل از جای دیگری آب بخورد. در شرایطی با مدیریت صحیح PHP Worker ها و مدیریت تعداد درخواست‌های ورودی می‌توان خطای ۵۰۴ را برطرف کرد. ممکن است افزونه‌ای منابع مورد نیاز PHP را شدیدا مصرف کرده و یا مدیریت ناصحیح کش باعث شده تا PHP Worker ها به درستی نتوانند انجام وظیفه کنند. بایستی با بررسی احتمالات مختلف، دامنه مشکل را تا پیدا کردن ریشه اصلی مشکل، کوچک و کوچکتر کرد. ضمنا وقتی مشکل از تعداد PHP Workerها باشد می‌توانید با هاست خود در مورد افزایش تعداد آن‌ها صحبت کنید.

جمع‌بندی

با بروز هر خطایی در سایت، نگرانی زیادی در اوضاع و احوال شما پدید می‌آید چرا که یافتن منشاء اصلی مشکل همیشه ساده نیست و اغلب، مستلزم چک کردن احتمالات فراوانی است. یکی از بهترین کارهایی که برای رفع خطای ۵۰۴ می‌توانید انجام دهید، افزایش منابع سرور برای مدیریت ترافیک بالاتر و پردازش سریع‌تر درخواست‌های ورودی است. به عنوان یک تاکتیک دفاعی و تکمیلی توصیه می‌کنیم از ابزارهای نظارتی مناسبی جهت سنجش عملکرد و امنیت سایت استفاده کنید تا به محض بروز چنین خطاهایی مطلع شوید.

سید ایوب کوکبی

در حال حاضر نویسنده و مترجم...

0 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *