مقدمة
خطأ 504 Gateway Timeout يظهر عندما يتأخر خادم المنشأ (التطبيق/PHP/قاعدة البيانات) عن الرد ضمن المهلة المتاحة لبوابة عكسية مثل Nginx أو Cloudflare. ستجد هنا أسباب حدوثه، خطوات تشخيص دقيقة، وحلول عملية على مستوى ووردبريس والخادم وشبكات CDN، مع نصائح لمنع تكراره.
فهم خطأ 504 Gateway Timeout
ما هو خطأ 504؟
- طلب وصل للبوابة (Proxy/Gateway) لكن الرد من الخادم الخلفي تأخر.
- غالبًا بسبب حمل زائد أو مهلات منخفضة أو استعلامات بطيئة أو تعارض إضافات.
مرجع: وثائق Nginx الرسمية Nginx Docs، ودليل أخطاء 5XX لدى كلاودفلير Cloudflare 5XX.
الأسباب الشائعة
1) حمل/موارد الخادم
- CPU أو RAM ممتلئة، أو عمليات كثيرة بالتزامن.
- مهام كرون ثقيلة، أو استيراد/تصدير كبير أثناء الذروة.
2) PHP-FPM/Apache/Nginx
- قيَم مهلة تنفيذ منخفضة (
max_execution_time،proxy_read_timeout،request_terminate_timeout). - انتهاء عمليات PHP-FPM لكثرة الطلبات (
pm.max_children).
3) قاعدة البيانات
- استعلامات بطيئة، جداول مضخمة، أو قفل جداول.
- مؤشرات (Indexes) غير مناسبة أو غائبة.
4) الإضافات والقوالب
- كود ثقيل أو تعارض يستهلك الوقت أثناء التنفيذ.
5) CDN/Cloudflare وطبقة الشبكة
- خطأ في طبقة CDN، أو إعداد SSL/TLS غير ملائم، أو Origin بطيء.
خطوات حل سريعة (Shortlist)
- أعد المحاولة بعد 1–2 دقيقة (قد يكون مؤقتًا).
- امسح كاش CDN وجرب تعطيله مؤقتًا لعزل السبب (Cloudflare: Pause Site).
- ارفع المهلة في Nginx/Apache وPHP وجرّب.
- استخدم Query Monitor لاكتشاف الاستعلامات/الهوكات البطيئة.
- عطّل الإضافات مؤقتًا وبدّل لقالب افتراضي لاختبار الأداء الأساسي.
تشخيص تفصيلي
1) فحص أداء ووردبريس
- فعّل السجل:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); - راجع
wp-content/debug.logللبحث عن دوال أو استعلامات بطيئة. - ثبّت Query Monitor لتحليل زمن القوالب، الهوكات، والاستعلامات.
2) مراقبة الخادم
- من لوحة الاستضافة راقب CPU/RAM/IO.
- عبر SSH استخدم
topأوhtopوvmstatوiostat.
3) قاعدة البيانات
- تحليل الاستعلامات البطيئة: تفعيل Slow Query Log في MySQL/MariaDB.
- تنظيف وتحسين الجداول عبر WP-Optimize أو يدويًا.
4) CDN/Cloudflare
- تحقق من حالة الـOrigin في Cloudflare، امسح الكاش، واضبط SSL إلى Full/Full (Strict) حسب شهادتك.
- راجع دليل 5XX: Cloudflare 5XX.
حلول إعدادات الخادم
Nginx (مهلات الوكيل)
تحرير /etc/nginx/nginx.conf أو ملف الموقع:
proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; send_timeout 300; fastcgi_read_timeout 300; ثم أعد التحميل:
sudo nginx -t && sudo systemctl reload nginx PHP-FPM
تحرير /etc/php-fpm.d/www.conf (أو المسار المكافئ):
pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 request_terminate_timeout = 300 وأعد التشغيل:
sudo systemctl restart php-fpm Apache/.htaccess (إن لزم)
php_value max_execution_time 300 php_value max_input_time 300 رفع ذاكرة ووردبريس
قبل سطر /* That's all, stop editing! */ في wp-config.php:
define('WP_MEMORY_LIMIT', '256M'); define('WP_MAX_MEMORY_LIMIT', '512M'); حلول على مستوى ووردبريس
تعطيل الإضافات والقالب
- أعد تسمية
wp-content/pluginsإلىplugins-disabledواختبر. - بدّل إلى قالب افتراضي (Twenty Twenty-…) للتأكد أن السبب ليس القالب.
تحسين قاعدة البيانات
- إزالة Transients قديمة:
DELETE FROM wp_options WHERE option_name LIKE '%_transient_%'; - إضافة فهارس ملائمة للجداول كبيرة الحجم إن لزم.
منع تكرار المشكلة
- تحديثات منتظمة للنواة والإضافات والقوالب (اختبر على Staging أولًا).
- مراقبة مستمرة عبر خدمات مثل UptimeRobot وتقارير الاستضافة.
- كاش وCDN مضبوطان جيدًا (تحقق من قواعد الاستثناءات للمناطق الديناميكية).
- نسخ احتياطية مجدولة واختبار استعادة دوري (راجع: استعادة موقع ووردبريس بعد التعطل).
الأسئلة الشائعة (FAQ)
س: هل 504 مؤقت؟
ج: كثيرًا ما يكون كذلك، لكن استمرار ظهوره يعني حاجة لرفع المهلات/تحسين الاستعلامات ومراجعة الموارد.
س: هل يؤثر 504 على SEO؟
ج: التكرار يؤثر سلبًا على الزحف وتجربة المستخدم؛ الحل السريع ضروري.
س: من أين أبدأ؟
ج: أعد المحاولة، ارفع المهلات، افحص Query Monitor، عطّل الإضافات الثقيلة، وحسّن قاعدة البيانات. إن كنت تستخدم Cloudflare فاختبر بدونها مؤقتًا.
نصائح SEO إضافية
- استخدم الكلمات المفتاحية طبيعيًا داخل العناوين والفقرات.
- أضف روابط داخلية لمقالات ذات صلة:
إصلاح 500،
حل 502. - حسّن الوصف التعريفي (Meta Description) ودعم Schema إن أمكن.
- اضغط الصور وفعّل الكاش لتحسين السرعة.
عنوان SEO: كيفية حل مشكلة خطأ 504 Gateway Timeout في ووردبريس — دليل عملي 2025
وصف SEO: تعرّف على أسباب وحلول خطأ 504 Gateway Timeout في ووردبريس مع خطوات إعداد Nginx/PHP-FPM وتشخيص الاستعلامات البطيئة ومنع تكرار المشكلة.
الكلمة المفتاحية: خطأ 504 Gateway Timeout
الكلمات المرتبطة: مهلة التنفيذ، Nginx، PHP-FPM، Cloudflare، مشاكل الاستضافة، ووردبريس
التصنيف: أخطاء ومشاكل الاستضافات
الوسوم: ووردبريس، إصلاح الأخطاء، Gateway Timeout، أداء الموقع
هذا المقال جزء من سلسلة الدعم التقني. للمزيد اطّلع على أدلة الأداء والحماية في القسم نفسه.
