خطای 504 در وردپرس و نحوه رفع ارور 504 Gateway Timeout
خطاهای عجب و غریبی که گاه و بی گاه در سایت رخ میدهند ما را دچار سردرگمی کرده و باعث میشوند از برنامههای خود عقب بیفتیم. یکی دیگر از این خطاها بروز ارور 504 Gateway Timeout است که سبب میشود سایتی که باز میکنیم باز نشده و برای مدتی در دسترس نباشد. این خطا هم در گروه خطاهای وضعیت HTTP قرار دارد که مربوط به سمت سرور(همان خطاهای گروه 5XX) است.
اما نکتهای که در خصوص خطای 504 در وردپرس یا هر سیستم سایت ساز دیگر وجود دارد اینجاست که از دو بعد باید آن را بررسی کرد. یک بعد آن مربوط به خود شماست که کاربر عادی هستید و از یک سایت یا اپلیکیشن استفاده میکنید که این خطا رخ میدهد؛ بعد دیگر هم مربوط به کسانی است که مدیر سایت هستند که این مشکل برای سایت آنها رخ داده و باید آن را برطرف کنند.
بنابراین در ادامه این مقاله به بررسی اینکه ارور 504 چیست و چگونه باید آن را رفع کرد پرداخته و از هر دو بعد، چه برای کاربران بازدید کننده و چه برای مدیران سایتها بررسی میکنم که چه راهکارهایی برای رفع این خطا وجود دارد.
ارور 504 Gateway Timeout چیست؟
تنظیماتی که در سرور وجود دارند دارای یک کد وضعیت HTTP هستند تا خطاهایی که در سایت رخ میدهد را از این طریق برای مرورگرها مشخص کنند. اما این وضعیتها دقیقا قادر به مشخص کردن این نیستند که علت خطا به کجا برمیگردد؛ شما صرفا میتوانید با نوع خطا آشنا شده و در ادامه برای برطرف کردن خطا، با توجه به دلایلی که باعث ایجاد چنین اروری میشود راهکارهای موجود را یکی یکی تست کنید.
خطای 504 در وردپرس هم یکی از این کدهای اعلام وضعیت HTTP است. به این معنی که هنگام تلاش برای بارگذاری صفحه یا انجام درخواست بازدیدکننده، پاسخ به موقعی از سوی سرور صادر نشده و صفحه 504 Gateway Timeout به شما نمایش داده میشود. به زبان سادهتر ارتباط مناسبی میان مرورگر و سرور برقرار نمیشود و فاصله زمانی میان درخواست مرورگر و پاسخ سرور بیش از حد معمول طولانی بوده است.
حالا این خطا میتواند از سمت کاربر و اتصال اینترنتی وی باشد یا اینکه مشکل مربوط به سرور است که به دلیل پایین بودن منابع یا تنظیماتی که در برخی بخشها وجود دارد، باعث میشود اتصال مرورگر به سرور در مدت زمان مشخص شده شکل نگرفته و در نهایت این وضعیت خطا نمایش داده شود.
نمایش خطای 504 در وردپرس چگونه است؟
با اینکه امکان دارد برخی از سایتها، صفحه سفارشی برای ارور 504 Gateway Timeout ساخته باشند اما بسته به نوع مرورگر، سیستم عامل و سرورهای به کار گرفته شده، شیوههای مختلفی برای نمایش خطای 504 وجود دارد که به یکی از اشکال زیر هستند.
- 504 Gateway Timeout
- HTTP 504
- 504 ERROR
- (Gateway Timeout (504
- HTTP Error 504 – Gateway Timeout
- Gateway Timeout Error
خطای 504 Gateway Timeout در پنجره مرورگر دقیقا مانند صفحات عادی نشان داده میشود. ممکن است مانند یک صفحه سفید بزرگ با یک جمله انگلیسی نشان داده شده یا اینکه عبارات بیشتری در آن استفاده شده باشد. فارغ از ظاهر خطای 504 وردپرس، تمام شیوههای نمایش مفهوم یکسانی دارند؛ یعنی در آنها حداقل عدد 504 یا Gateway Timeout استفاده میشود.
بعد اول: خطای 504 Gateway Timeout سمت کاربر
همانطور که گفتم رایجترین حالتی که برای بروز خطای 504 در وردپرس وجود دارد، سمت کاربر است. شما مدیریت سایت را بر عهده ندارید، با اینکه دیگران در دسترسی به سایت یا اپلیکیشن مشکلی ندارند، اما برای شما ارور Gateway Timeout نمایش داده شده و دسترسی به سایت مورد نظر ندارید.
بیشتر اوقات ارور 504 Gateway Timeout به معنای این است که زمان زیادی برای رد و بدل درخواستهای میان مرورگر و سرور تلف میشود و ارتباط میان این دو به درستی کار نمیکند. از آنجایی که این ارور، نوعی خطای شبکه میان سرورهای موجود و مرورگر به شمار میرود، اتصال اینترنت خانگی شما هم دخالت زیادی در بهوجود امدن آن دارد. در ادامه چندین روش را برای رفع خطای 504 در وردپرس به شما معرفی میکنیم.
اول: رفرش کنید
صفحه مرورگر خود را رفرش نمایید. میتوانید از کلید F5 بدین منظور استفاده کنید یا دوباره روی URL درخواستی خود کلید کرده و دکمهی Enter را فشار دهید. خطای 504 Gateway Timeout در چنین حالتی موقتی است و اختلات در سرعت اینترنت باعث آن میشود.
این احتمال هم وجود دارد که خطا چون از قبل در سایت رخ داده، به صورت کش شده در سیستم شما وجود داشته باشد. بنابراین از کلیدهای ترکیبی CTRL + F5 یا CTRL + R نیز استفاده کنید تا ضمن رفرش شدن، کش نیز پاک نشود. برای اطمینان بیشتر از این مسئله توصیه میکنم حتی شده کش مرورگر خود را نیز پاک کرده یا از مرورگر دیگری استفاده کنید.
دوم: روشن و خاموش کنید
تمام دستگاههای شبکه مربوط به اینترنت را مجددا راهاندازی کنید. گاه مشکلات سهوی در مورد مودم، روتر، کلیدها یا سایر سختافزارهای شبکه شما اتفاق میافتد و سبب بروز این خطای آزاردهنده میشود. بسیاری از کاربران از موفقیت آمیز بودن این تاکتیک در رفع مشکلات خود گزارش دادهاند. راهکارهایی که میتوانید انجام دهید به شرح زیر هستند:
- خاموش و روشن کردن مودم یا اتصال اینترنت همراه
- ریاستارت کردن کامپیوتر یا گوشی موبایل
سوم: VPN خود را بررسی یا خاموش کنید
اگر خاطرتان باشد گفتم که بیشترین دلیل این خطا مربوط به اتصالات یا پایین بودن میزان منابع در اختیار سرور یا سختافزارهای شبکه است. گاهی اوقات استفاده از VPN هم باعث میشود تا چنین مشکلاتی رخ داده و چون مدت زمان اتصال به سرور محدود شده، با رسیدن به حد نصاب time out در PHP این وضعیت خطا نمایش داده شود.
بنابراین تنظیمات سرور پروکسی را در مرورگر خود ارزیابی نمایید و از صحت آنها اطمینان حاصل نمایید. تنظیمات نادرست مربوط به پروکسی منجر به ارور 504 میشود. اگر به این کار تسلط کافی ندارید، به راحتی VPN را خاموش کرده و صفحه را رفرش کنید.
چهارم: تنظیمات DNS اینترنت مودم را تغییر دهید
همه ما از مشکلات و تغییراتی که در DNS کشورمان وجود دارد اطلاع داریم. مجبوریم از DNS سایتهایی مثل گوگل یا شبکه کلودفلر استفاده کنیم که تا جای ممکن از برخی مشکلات جلوگیری کنیم. اما گاهی همین DNS دچار مشکل شده و باعث بروز خطای 504 Gateway Timeout میشود.
بنابراین اگر از مقادیر DNS server در مودم یا روتر خود استفاده میکنید، یا اینکه این تنظیمات را در کانکشن شبکه wifi سیستم عامل خود شخصی سازی کردید، سعی کنید آن را به حالت پیشفرض برگردانید. احتمال دارد که مشکل از این طریق هم رفع شود.
پنجم: با پشتیبان شرکت ISP خود تماس بگیرید
اگر با وجود اقدامات بالا مشکلات هنوز پابرجاست، لطفا با ارائه دهنده خدمات اینترنت خانگی خود تماس بگیرید. پس از طی روند عیبیابی فوق، احتمالا مشکل خطای 504 Gateway Timeout ناشی از مسئله ISP مربوط به اینترنت شماست. این روند را به آنها سپرده تا سریعتر مشکلتان حل شود.
بعد دوم: رفع خطای Gateway Timeout 504 سمت سایت
در چنین حالتی شما مدیریت سایتی را برعهده دارید که ارور 504 برای سایت یا اپلیکیشن شما رخ داده است. همان مشکلاتی که باعث ایجاد خطا میشوند را باید بررسی کرده و ببینید که در یک سایت و اپلیکیشن چه چیزهایی وجود دارد که باعث میشود مدت زمان اتصال به سرور دچار وقفه شود. لازم نیست زیاد فکر کنید، ما در ادامه به معرفی همهی این موارد میپردازیم.
اول: فایروال سایت خود را خاموش کنید
یکی از علل بروز ارور 504 در وردپرس یا هر سایت ساز دیگری، استفاده از افزونهها و ماژولهای ایجاد کننده فایروال سایت است. در این مرحله فایروال خود را به صورت موقت غیرفعال نموده و دوباره امتحان کنید. اگر مشکل رفع شده، تبریک ما را بپزیرید. شما توانستید مشکل موجود را رفع نمایید!
البته که استفاده از فایروال صرفا مربوط به سیستم سایت ساز نیست و در حالتی که از شبکه توزیع محتوا CDN مانند کلودفلر یا ابرآروان استفاده کنید یا در حالتی که این تنظیمات روی هاست یا سرور سایت شما اعمال شده باشد نیز وجود دارد.
دوم: ترافیک سایت خود را بررسی کنید
یکی از دلایلی که باعث ایجاد وقفه در اتصال به سرور میشود، ترافیک بالای سایت است. البته انتظار داریم که این خطا را به صورت ارور 503 ببینیم، اما چون مدت زمان PHP در اینجا روی مقدار محدودی قرار دارد، در حالتی که از این مدت زمان محدود گذر کرده و سایت لود نشود ارور با وضعیت 504 نمایش داده میشود.
بنابراین از آمارگیر سایت خود کمک گرفته و تعداد افراد آنلاین در سایت را بررسی کنید. به این نکته هم توجه کنید که ممکن است سایت شما تحت حملات DDoS و بروت فورس قرار داشته باشد. پس حتما میزان مصرف منابع CPU و رم را در هاست نیز بررسی کرده یا اینکه از ابزارهایی مثل کلودفلر که مشخص میکنند سایت شما تحت حمله است کمک بگیرید.
سوم: مقدار حافظه PHP را افزایش دهید
تا اینجا گفتیم که علت خطای 504 Gateway Timeout کمبود منابع، خصوصا منابع مربوط به حافظه php است. در ادامه هم برای رفع موقتی مشکل راهکار این است که یا برخی افزونهها را غیرفعال کنید یا اینکه اگر مشکل از قالب سایت است، از قالب دیگری استفاده کنید تا پس از یافتن علت و رفع آن، مجددا به قالب قبلی برگردید.
اما ضرورتی ندارد که کارهای فوق را انجام دهید. در صورتی که دسترسی لازم به هاست فراهم باشد میتوانید با اضافه کردن یک سری کد به روشهای مختلف مقدار منابع مورد نیاز برای حافظه php را افزایش دهید. برای این منظور یکی از روشهای زیر را تست کنید.
روش اول: افزایش با فایل functions.php قالب
برای این منظور کافی است کدهای زیر را به فایل فانکشن قالبی که روی سایت فعال بوده و در مسیر wp-content/themes/folder قرار دارد اضافه کنید.
@ini_set('upload_max_size' , '128M'); @ini_set('post_max_size', '128M'); @ini_set('max_execution_time', '300');
روش دوم: افزایش حافظه php با فایل htaccess.
برای این منظور کافی است کدهای زیر را به انتهای این فایل که در مسیر public_html قرار دارد اضافه کنید.
php_value upload_max_filesize 64M php_value post_max_size 64M
روش سوم: افزایش حافظه php با فایل wp-config.php
وارد مسیری که وردپرس در public_html نصب کردید شده و به دنبال فایلی به نام wp-config.php بگردید. سپس کدهای زیر را در این فایل قرار دهید.
define('WP_MEMORY_LIMIT', '128M'); ini_set('post_max_size', '128M'); ini_set('upload_max_filesize', '128M');
چهارم: فایل htaccess. را مجددا بسازید
فایل htaccess. در هاست تنظیماتی را در اختیار ما قرار میدهد که به کمک آن میتوانیم کارهای مختلفی مثل ریدایرکت، محدودیت در دسترسی به سایت و… را اعمال کنیم. گاهی اوقات با نصب افزونه این فایل دستخوش تغییراتی میشود که میتواند اجازه برای اجرای کدها را تغییر دهد. برای رفع مشکل کافی است مجددا این فایل را بسازید.
برای این منظور ابتدا وارد هاست سی پنل خود شده و سپس به مسیر public_html در بخش file manager مراجعه کنید. سپس از منوی SETTINGS که در بالای صفحه قرار دارد، گزینه SHOW HIDDEN FILES را فعال کنید تا این فایل نمایش داده شود. حال به کمک گزینه RENAME نام آن را به چیز دیگری مثل htaccess-old. تغییر دهید.
اگر به پیشخوان وردپرس دسترسی دارید، به منوی تنظیمات> پیوندهای یکتا رفته و بدون ایجاد هیچگونه تغییری فقط روی دکمه ذخیرهی تغییرات کلیک کنید.
پنجم: بررسی قالب و افزونهها
همانطور که اشاره از دلایل اصلی بروز خطای 504 در وردپرس محدودیت در اجرای درخواستهای است که میتواند به دلیل ترافیک بالا ایجاد شود. متاسفانه استفاده از افزونههای نال و قالب نال در وردپرس فارسی بیشترین دلیلی است که باعث ایجاد این خطا در سایتهای وردپرس فارسی میشود.
بسیاری از مارکتهای وردپرس هم که ادعا دارند محصولات را اورجینال درج میکنند و خودشان از سایتهایی مثل تم فارست یا کد کنیون خریداری کردهاند نال هستند. کدهای موجود در افزونههای نال باعث میشوند تا مصرف منابع شما بالا رفته و در حافظه php اختلال وارد کنند. بنابراین افزونهها را غیرفعال کرده و بررسی کنید آیا مشکل رفع شده یا خیر. همچنین موقتا از قالب پیشفرض وردپرس استفاده کنید.
اگر خطا رفع شده باشد مشکل از افزونه یا قالب است که با فعال کردن یک یک افزونهها و بررسی دوباره سایت میتوانید افزونه مخرب را پیدا کنید. اگر هم از قالب باشد که با تغییر قالب خطا رفع شده و مشخص است.
ششم: بررسی دیتابیس وردپرس
در برخی مواقع وجود ایراداتی در پایگاه داده سایت شما، این خطا را به وجود میآورد؛ در چنین شرایطی افزونه WP-DBManager را نصب کرده و از آن کمک بگیرید. هچنین اگر به تازگی وردپرس را نصب کردید حتما یک بررسی روی فایل htaccess. که در راهکار چهارم ذکر کردم داشته باشید.
هفتم: ارور 504 در کلودفلر
اگر از CDN کلودفلر استفاده میکنید گاهی اوقات پیش میآید که با صفحهی خطای 504 کلودفلر مواجه خواهید شد. این خطا مشابه تصویر بالا نمایش داده میشود.
بسته به اینکه مشکل از سمت سرور سایت شما باشد ممکن است این خطا نیاز به بررسی راهکارهایی که در بالا اشاره کردیم داشته باشد. اما گاهی اوقات خطا مربوط به شبکه کلودفلر و اینترنت است که با رفرش کردن یا مراجعه در دقایقی دیگر برطرف خواهد شد.
هشتم: با ارائه دهنده هاستینگ تماس برقرار کنید.
اگر هنوز این مشکل را تجربه میکنید، بهتر است که از طریق تیکت این مشکل را به پشتیبان فنی هاست خود اطلاع دهید. در چنین مواردی آنها حتما مشکل شما را رفع خواهند کرد و به بررسی ابعاد بیشتر این مسئله میپردازند.
از آنجایی که مهم است این خطا زودتر رفع شود تا با خطای coverage issue در گوگل سرچ کنسول که از نوع 5XX هستند مواجه نشوید، بهتر است که هنگام ارسال تیکت کلیهی راهکارهایی که بررسی و تست کردید را اعلام کنید تا با بررسی ابعاد دیگری که باعث بروز این خطا میشود مشکل شما را یافته و برطرف کنند.
جمع بندی
در این مقاله سعی کردم به صورت جامع به بررسی تمام عواملی که باعث بروز ارور 504 در وردپرس میشود پرداخته و و راه حلهای متنوعی که چه برای کاربران و چه برای مدیران سایتها وجود دارد را پیشنهاد کنم. در صورتی که خطاهای دیگری را در سایت خود تجربه میکنید میتوانید با مراجعه به صفحهی رفع خطاهای رایج وردپرس در هاستینگ پاورسرور با روشها و راهکارهایی که برای رفع هر خطا وجود دارد آشنا شده و در زمان کوتاهی آنها را برطرف کنید.