پرش لینک ها

خطای 504 Gateway Timeout وردپرس؛ ۵ علت و راه‌حل

ططراحی سایتزمان مطالعه: ۱۱ دقیقه
اتاق سرور با نور آبی مرتبط با خطای 504 Gateway Timeout وردپرس

ناگهان به‌جای سایت، پیام «504 Gateway Timeout» می‌بینید و مشتری‌ها صفحه را می‌بندند؟ خطای 504 Gateway Timeout وردپرس یعنی سرور جلویی منتظر پاسخ سرور اصلی ماند و جواب نگرفت.

در این راهنمای مرحله‌ای، خطای 504 Gateway Timeout وردپرس را با پنج علت رایج بررسی می‌کنیم: منابع سرور، افزونه سنگین، تایم‌اوت PHP، تایم‌اوت وب‌سرور و فایروال یا CDN. هر علت نشانه و راه‌حل مشخص دارد.

خطای 504 Gateway Timeout وردپرس یعنی چه؟

کد 504 یعنی یک سرور واسطه، مثل Nginx، پروکسی، فایروال یا CDN، درخواست شما را به سرور اصلی فرستاده، اما در زمان مجاز جواب نگرفته است. پس خطای 504 Gateway Timeout وردپرس معمولاً مشکل خود وردپرس به‌تنهایی نیست؛ اغلب کندی یا گیر کردن یک مرحله در مسیر پاسخ است.

این خطا با چند خطای دیگر اشتباه گرفته می‌شود:

  • 500: خطای داخلی سرور؛ کد یا تنظیمات خراب است.
  • 502: پاسخ نامعتبر از سرور بالادستی؛ مثلاً PHP-FPM از کار افتاده است.
  • 503: سرور موقتاً در دسترس نیست یا زیر بار است.
  • 504: سرور بالادستی جواب داد، اما دیر.

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

۵ علت اصلی و راه‌حل سریع در یک جدول

پیش از ورود به جزئیات، این جدول به شما می‌گوید خطای 504 Gateway Timeout وردپرس از کدام علت شروع می‌شود.

علتنشانهراه‌حل سریع
منابع سرورکندی در ساعت‌های شلوغارتقای پلن یا مهار ترافیک ربات
افزونه یا قالب سنگینخطا بعد از نصب یا به‌روزرسانیغیرفعال‌سازی افزونه‌ها و آزمون یکی‌یکی
تایم‌اوت PHPخطا هنگام ایمپورت، بکاپ یا گزارشافزایش max_execution_time
تایم‌اوت وب‌سرورخطا با وجود تنظیم درست PHPافزایش fastcgi_read_timeout یا مقدار مشابه
فایروال یا CDNخطا فقط از بعضی مسیرها یا IPهابررسی قوانین و دور زدن موقت CDN

قدم صفر در رفع خطای 504 Gateway Timeout وردپرس: بررسی‌های ۵ دقیقه‌ای

پیش از دست بردن در تنظیمات، این مراحل را به ترتیب انجام دهید. بیشتر موارد خطای 504 Gateway Timeout وردپرس با همین‌ها روشن می‌شود.

  1. از سایت نسخه‌ی پشتیبان بگیرید.
  2. صفحه را یک دقیقه بعد دوباره باز کنید؛ گاهی خطا موقتی است.
  3. آدرس را از شبکه‌ی دیگر یا با گوشی باز کنید تا مشکل مرورگر و ISP رد شود.
  4. ببینید خطا روی همه‌ی صفحه‌هاست یا فقط wp-admin و یک مسیر خاص.
  5. لاگ خطای هاست را در cPanel یا پنل سرویس‌دهنده باز کنید و زمان دقیق خطا را پیدا کنید.

علت ۱: کمبود منابع سرور و هاست

وقتی پردازنده، رم یا تعداد پردازه‌های هاست پر شود، پاسخ‌ها صف می‌کشند و خطای 504 Gateway Timeout وردپرس نمایش داده می‌شود. هاست اشتراکی ارزان بیشتر در معرض این مشکل است.

نشانه‌ها معمولاً این‌هاست:

  • خطا فقط در ساعت‌های اوج بازدید دیده می‌شود.
  • نمودار مصرف CPU یا رم در پنل هاست به سقف می‌رسد.
  • بعد از چند دقیقه سایت خودش درست می‌شود.

برای رفع آن این کارها را انجام دهید:

  • در لاگ دسترسی، آی‌پی‌های پرتکرار و ربات‌های مزاحم را پیدا و مسدود کنید.
  • کش صفحه فعال کنید تا هر بازدید PHP و دیتابیس را درگیر نکند.
  • اگر مصرف دائماً بالاست، پلن هاست یا VPS را ارتقا دهید.
  • از پشتیبان هاست بپرسید آیا محدودیت پردازه یا I/O روی حساب شما فعال شده است.

کاهش بار سرور با افزایش سرعت سایت هم‌مسیر است؛ روش‌های عملی‌اش در افزایش سرعت سایت وردپرس آمده است.

علت ۲: افزونه یا قالب سنگین

یک افزونه با کوئری سنگین، کرون کند یا اتصال بی‌پایان به سرویس بیرونی می‌تواند خطای 504 Gateway Timeout وردپرس بسازد. اگر خطا بعد از نصب یا به‌روزرسانی شروع شده، مظنون اول همین است.

آزمون افزونه‌ها مرحله به مرحله

  1. با FTP یا مدیریت فایل، پوشه‌ی wp-content/plugins را به plugins-old تغییر نام دهید.
  2. اگر سایت باز شد، نام پوشه را برگردانید و افزونه‌ها را یکی‌یکی فعال کنید.
  3. بعد از هر فعال‌سازی صفحه را باز کنید تا افزونه‌ی مقصر پیدا شود.
  4. افزونه‌ی مقصر را به‌روز کنید، جایگزین بگیرید یا با پشتیبان آن در میان بگذارید.
  5. اگر مشکل ماند، قالب را موقتاً روی یکی از قالب‌های پیش‌فرض بگذارید.

به این موارد هم توجه کنید:

  • افزونه‌های بکاپ، ایمپورت و گزارش‌ساز زمان زیادی می‌گیرند؛ آن‌ها را در ساعت خلوت اجرا کنید.
  • افزونه‌های مرتبط‌سازی و آمار لحظه‌ای کوئری سنگین می‌زنند.
  • Heartbeat و کرون‌های بی‌دلیل را بررسی کنید.
راهروی رک‌های سرور برای بررسی علت خطای 504 Gateway Timeout وردپرس

علت ۳: تایم‌اوت PHP و محدودیت اجرا

اگر اسکریپتی بیش از زمان مجاز اجرا شود، PHP آن را قطع می‌کند و گاهی پروکسی جلوی آن 504 می‌دهد. مقدار پیش‌فرض max_execution_time در بسیاری از هاست‌ها ۳۰ ثانیه است. برای خطای 504 Gateway Timeout وردپرس در عملیات سنگین، این مقدار را موقتاً بالا ببرید.

در cPanel معمولاً از بخش «MultiPHP INI Editor» می‌توانید مقدار را عوض کنید. در سرور خودتان، فایل php.ini یا .user.ini را ویرایش کنید:

max_execution_time = 120
max_input_time = 120
memory_limit = 256M

اگر از PHP-FPM استفاده می‌کنید، مقدار request_terminate_timeout در تنظیمات pool هم باید با آن هماهنگ باشد.

نکته مهم: بالا بردن زمان، دوای دائمی نیست. اگر یک عملیات هر بار چند دقیقه طول می‌کشد، علت کندی را پیدا کنید؛ مثلاً کوئری سنگین یا درخواست به API کند.

علت ۴: تایم‌اوت وب‌سرور (Nginx و Apache)

گاهی PHP تنظیم درست دارد، اما وب‌سرور زودتر منتظر نمی‌ماند. در Nginx مقدار fastcgi_read_timeout مشخص می‌کند چقدر منتظر پاسخ PHP-FPM بماند؛ توضیح رسمی‌اش در مستندات Nginx آمده است. اگر پشت پروکسی هستید، مقدار proxy_read_timeout را هم ببینید.

برای خطای 504 Gateway Timeout وردپرس روی Nginx این نمونه را در بخش location مربوط به PHP امتحان کنید:

fastcgi_read_timeout 180s;
proxy_read_timeout 180s;

بعد از ویرایش، پیکربندی را تست و Nginx را دوباره بارگذاری کنید. در Apache هم مقدار Timeout و ProxyTimeout را بررسی کنید. اگر هاست اشتراکی دارید و به این فایل‌ها دسترسی ندارید، از پشتیبانی هاست بخواهید مقدار را بالا ببرد.

علت ۵: فایروال، CDN و سرویس‌های واسط

CDN و فایروال هم زمان انتظار مخصوص خود را دارند. اگر سرور مبدأ دیر جواب بدهد، آن‌ها قطع می‌کنند و کاربر خطای 504 Gateway Timeout وردپرس را می‌بیند. کلادفلر مثلاً برای این حالت معمولاً خطای 524 نشان می‌دهد.

  • CDN را برای چند دقیقه روی حالت «فقط DNS» یا «Pause» بگذارید و دوباره امتحان کنید.
  • اگر با آی‌پی مستقیم سرور سایت باز می‌شود، مشکل در لایه‌ی CDN یا فایروال است.
  • قوانین فایروال، محدودیت نرخ و مسدودسازی آی‌پی‌ها را بررسی کنید.
  • مطمئن شوید آی‌پی سرور مبدأ در تنظیمات CDN درست ثبت شده است.
  • عملیات سنگین مثل ایمپورت را از مسیر wp-admin بدون CDN اجرا کنید.

در سایت‌های دوزبانه یا چندزبانه، هر نصب وردپرس باید جدا بررسی شود، چون هرکدام کش و افزونه‌ی خودشان را دارند.

خواندن لاگ‌ها برای پیدا کردن ریشه‌ی خطای 504 Gateway Timeout وردپرس

بدون لاگ، عیب‌یابی خطای 504 Gateway Timeout وردپرس حدس زدن است. در cPanel از بخش «Errors» یا «Metrics» لاگ خطا و در سرور اختصاصی فایل error.log وب‌سرور را باز کنید.

دنبال این سرنخ‌ها بگردید:

  • upstream timed out: وب‌سرور از PHP-FPM پاسخ نگرفته است؛ تایم‌اوت وب‌سرور یا کندی PHP را بررسی کنید.
  • Maximum execution time exceeded: اسکریپت از سقف PHP بیشتر طول کشیده است.
  • Allowed memory size exhausted: رم PHP کم است و باید memory_limit یا افزونه‌ها را بازبینی کنید.
  • تکرار یک مسیر خاص: معمولاً یک افزونه یا درخواست API همان‌جا گیر کرده است.

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

هر تغییر را جدا اعمال کنید و بعدش آزمایش کنید. اگر چند تنظیم را با هم عوض کنید، نمی‌دانید کدام مشکل را حل کرده است.

پیشگیری: کش، پایش و آمادگی پشتیبانی

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

چند عادت ساده خطر را کم می‌کند:

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

اگر تیم فنی ندارید، پلن‌های پشتیبانی سایت این پایش و رفع خطا را از دوش شما برمی‌دارد.

چک‌لیست نهایی رفع خطای 504 Gateway Timeout وردپرس

  • از سایت پشتیبان گرفته شده است.
  • لاگ خطای هاست بررسی شده است.
  • منابع سرور در ساعت خطا بررسی شده است.
  • افزونه‌ها یکی‌یکی آزمایش شده‌اند.
  • max_execution_time و تنظیمات PHP-FPM بازبینی شده است.
  • fastcgi_read_timeout یا Timeout وب‌سرور بازبینی شده است.
  • قوانین CDN و فایروال بررسی شده است.
  • بعد از رفع مشکل، کش پاک و صفحه‌ها آزمایش شده‌اند.

سوالات متداول درباره خطای 504 Gateway Timeout وردپرس

خطای 504 Gateway Timeout وردپرس یعنی چه؟

یعنی سرور واسط مثل Nginx، پروکسی یا CDN درخواست را به سرور اصلی فرستاده، اما در زمان مجاز پاسخ نگرفته است. علت معمولاً کندی سرور، افزونه سنگین، تایم‌اوت PHP یا وب‌سرور و تنظیم فایروال و CDN است، نه یک خطای ساده‌ی ظاهری.

چطور خطای 504 Gateway Timeout وردپرس را سریع رفع کنم؟

اول بکاپ بگیرید، لاگ خطای هاست را ببینید و افزونه‌ها را موقتاً غیرفعال کنید. اگر درست نشد، max_execution_time و fastcgi_read_timeout را بالا ببرید و CDN را چند دقیقه کنار بگذارید. بعد منبع واقعی کندی را پیدا و برطرف کنید تا خطا دوباره برنگردد و تنظیمات موقت دائمی نشوند.

فرق خطای 504 با 502 چیست؟

در 502 سرور بالادستی پاسخ نامعتبر یا قطع‌شده می‌دهد، مثلاً PHP-FPM از کار افتاده است. در 504 سرور بالادستی جواب می‌دهد، اما از زمان مجاز دیرتر. بنابراین 504 بیشتر به کندی و تایم‌اوت مربوط است و 502 به قطع یا خرابی سرویس.

افزایش max_execution_time مشکل را حل می‌کند؟

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

آیا CDN می‌تواند باعث خطای 504 شود؟

بله. CDN و فایروال زمان انتظار خودشان را دارند و اگر سرور مبدأ دیر جواب بدهد، خطا نشان می‌دهند. برای بررسی، CDN را موقتاً غیرفعال یا در حالت DNS-only بگذارید و ببینید سایت مستقیم باز می‌شود یا نه.

اگر به تنظیمات سرور دسترسی ندارم چه کنم؟

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

جمع‌بندی

خطای 504 Gateway Timeout وردپرس یک مشکل با چند علت است. با بکاپ، خواندن لاگ، آزمون افزونه‌ها و بازبینی تایم‌اوت PHP، وب‌سرور و CDN معمولاً ریشه‌ی آن پیدا می‌شود. اگر بعد از رفع مشکل کش و پایش هم راه بیندازید، احتمال تکرارش کم می‌شود.

اگر وقت یا تخصص بررسی سرور ندارید، پشتیبانی تخصصی سایت ساده‌ترین مسیر است.

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

سایت شما هنوز 504 می‌دهد؟

تیم ما لاگ سرور، افزونه‌ها، تایم‌اوت‌ها و CDN سایت شرکتی شما را بررسی و خطا را رفع می‌کند.

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

ط
نویسنده

طراحی سایت

۱۹۱ مقاله از طراحی سایت

آماده شروع پروژه وب‌سایت خود هستید؟

با تیم وب‌سیتی صحبت کنید تا بهترین مسیر را برای طراحی، سئو و پشتیبانی سایتتان پیدا کنیم.

ارسال دیدگاه


The reCAPTCHA verification period has expired. Please reload the page.

خانه
جستجو
خدمات
تماس
Explore
Drag