خانه وردپرس و سایت‌سازها رفع خطای connection timed out در وردپرس
تاریخ به‌روزرسانی : 1402/08/15
به قلم : شهاب بیرامی
زمان مطالعه : 14 دقیقه

WordPress Connection Timeout Error - Complete Article Content
Post ID: 15876
Slug: connection-timed-out-error-wordpress-solving
Created: 2026-03-02T14:30:00+03:30
Following: docs/guides/blog-article-writing-guide.md
Reference: error-502 and cloudflare-turnstile article patterns
-->


رفع خطای Connection Timed Out در وردپرس - راهنمای کامل عیب‌یابی

📌 خلاصه مطلب (TL;DR)

  • Connection Timed Out چیست؟ خطایی که نشان می‌دهد مرورگر یا سرور پس از مدت زمان مشخص (معمولاً ۳۰-۶۰ ثانیه) نتوانسته ارتباط برقرار کند یا پاسخ دریافت کند.
  • دلایل اصلی: تنظیمات PHP نادرست (max_execution_time)، حافظه ناکافی سرور، پلاگین‌های سنگین، کش Cloudflare (Error 524)، مشکلات دیتابیس، ترافیک بالا.
  • راه‌حل سریع: ابتدا پلاگین‌ها را غیرفعال کنید (wp-content/plugins نام را تغییر دهید)، سپس max_execution_time را در php.ini به 120 افزایش دهید.
  • اگر رفع نشد: memory_limit را به 256MB+ ارتقا دهید، دیتابیس را بهینه کنید، یا به سرور مجازی با منابع بیشتر مهاجرت کنید.

🔍 تشخیص سریع: مشکل از کجاست؟

قدم اول: خطا کجا نمایش داده می‌شود؟

  • صفحه ادمین وردپرس: احتمالاً پلاگین سنگین یا حافظه کم → به بخش «غیرفعال کردن پلاگین‌ها» بروید
  • ⚠️ فقط صفحات خاص: مشکل کوئری دیتابیس یا محتوای سنگین → دیتابیس را بهینه کنید
  • 🔸 کل سایت: مشکل سرور یا تنظیمات PHP → تنظیمات سرور را بررسی کنید

قدم دوم: آیا از Cloudflare استفاده می‌کنید؟

  • بله و خطای 524 می‌بینید: سرور اصلی بیش از 100 ثانیه پاسخ نمی‌دهد → تنظیمات PHP و دیتابیس را بررسی کنید
  • ⚠️ بله اما خطای دیگری است: Cloudflare را موقتاً غیرفعال کنید (Development Mode) و تست کنید
  • 🔸 خیر: مشکل مستقیماً از سرور شماست → به مراحل بعدی بروید

قدم سوم: چه زمانی مشکل شروع شد؟

  • 🔸 بعد از نصب پلاگین جدید: آن پلاگین را حذف کنید
  • 🔸 بعد از آپدیت وردپرس: سازگاری پلاگین‌ها و PHP را چک کنید (PHP 8.4 + WP 6.9)
  • 🔸 بعد از افزایش ترافیک: به هاست قوی‌تر یا VPS مهاجرت کنید
  • 🔸 بدون تغییر خاص: لاگ‌های خطا را بررسی کنید

اگر هنگام کار با سایت وردپرسی خود با پیام "ERR_CONNECTION_TIMED_OUT" یا "The connection has timed out" مواجه شده‌اید، تنها نیستید. این خطا یکی از رایج‌ترین مشکلاتی است که مدیران سایت‌های وردپرسی با آن روبرو می‌شوند، به خصوص در سال ۱۴۰۴ با آپدیت‌های جدید PHP 8.4 و وردپرس 6.9.

در این راهنمای جامع، ۷ راه‌حل تضمینی برای رفع خطای Connection Timed Out را بررسی می‌کنیم. از تشخیص علت دقیق مشکل تا اعمال تنظیمات پیشرفته PHP و بهینه‌سازی دیتابیس، همه چیز را پوشش می‌دهیم.

خطای Connection Timed Out چیست و چرا رخ می‌دهد؟

Connection Timed Out (اتمام زمان اتصال) خطایی است که وقتی مرورگر یا سرور نتواند در مدت زمان تعیین‌شده ارتباط برقرار کند یا پاسخ دریافت کند، نمایش داده می‌شود. این خطا معمولاً به یکی از دلایل زیر رخ می‌دهد:

دلایل اصلی از سمت سرور

  • محدودیت max_execution_time: PHP پیش‌فرض فقط ۳۰ ثانیه برای اجرای اسکریپت‌ها زمان می‌دهد
  • حافظه ناکافی (memory_limit): مقدار پیش‌فرض 128MB برای سایت‌های سنگین کافی نیست
  • کوئری‌های سنگین دیتابیس: پلاگین‌ها یا تم‌هایی که کوئری‌های غیربهینه اجرا می‌کنند
  • منابع ناکافی سرور: CPU یا RAM هاست اشتراکی برای ترافیک بالا کافی نیست
  • PHP 8.4 JIT Issues: در نسخه جدید PHP، JIT به صورت پیش‌فرض غیرفعال شده اما OPcache ممکن است مشکل‌ساز شود

دلایل مرتبط با Cloudflare و CDN

  • Error 524: Cloudflare timeout - سرور اصلی بیش از ۱۰۰ ثانیه پاسخ نمی‌دهد
  • Error 522: Connection timed out - Cloudflare نتوانسته به سرور متصل شود
  • Error 521: Web server is down - سرور وب در دسترس نیست

دلایل مرتبط با پلاگین‌ها و وردپرس

  • پلاگین‌های ناسازگار: به خصوص بعد از آپدیت به وردپرس 6.9 یا PHP 8.4
  • WooCommerce سنگین: نسخه 10.4.2 مشکلات سازگاری با WP 6.9 را رفع کرده
  • WPGraphQL با کوئری‌های مدیا: کوئری‌های سنگین تصاویر ممکن است timeout شوند
  • کرون جاب‌های زیاد: تسک‌های زمان‌بندی شده منابع را اشغال می‌کنند

جدول تشخیص: علت، نشانه و اقدام سریع

علت احتمالی نشانه‌ها اقدام سریع
max_execution_time کم خطا بعد از دقیقاً ۳۰ ثانیه، معمولاً در ادمین در php.ini مقدار را به 120 تغییر دهید
memory_limit ناکافی Fatal error: Allowed memory size در لاگ در wp-config.php به 256M یا 512M افزایش دهید
پلاگین سنگین/باگ‌دار مشکل بعد از نصب پلاگین جدید شروع شده پوشه plugins را rename کنید، یکی‌یکی فعال کنید
Cloudflare Error 524 صفحه خطای Cloudflare با کد 524 سرور باید در کمتر از 100 ثانیه پاسخ دهد
دیتابیس کند صفحات خاص کند، slow query در لاگ با phpMyAdmin جداول را OPTIMIZE کنید
ترافیک بالا خطا در ساعات پیک، CPU 100% به VPS یا سرور اختصاصی مهاجرت کنید
PHP 8.4 OPcache بعد از آپدیت PHP مشکل شروع شده OPcache را clear کنید یا validate_timestamps=1

راه‌حل ۱: تنظیمات PHP (max_execution_time و memory_limit)

اولین و مهم‌ترین قدم، بررسی و اصلاح تنظیمات PHP است. این تنظیمات مستقیماً روی زمان اجرای اسکریپت‌ها تأثیر می‌گذارند.

روش ۱: ویرایش wp-config.php (ساده‌ترین روش)

فایل wp-config.php را در ریشه سایت باز کنید و کدهای زیر را قبل از خط /* That's all, stop editing! */ اضافه کنید:

// افزایش حافظه PHP
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

// غیرفعال کردن Heartbeat API (کاهش بار سرور)
define('WP_HEARTBEAT_DISABLED', true);

// محدود کردن Post Revisions
define('WP_POST_REVISIONS', 5);

// افزایش زمان اجرا (اگر هاست اجازه بدهد)
set_time_limit(120);

روش ۲: ویرایش .htaccess (سرورهای Apache)

اگر به php.ini دسترسی ندارید، این کدها را به فایل .htaccess اضافه کنید:

# افزایش تنظیمات PHP
php_value max_execution_time 120
php_value max_input_time 120
php_value memory_limit 256M
php_value post_max_size 64M
php_value upload_max_filesize 64M

# افزایش keepalive timeout
<IfModule mod_headers.c>
  Header set Connection keep-alive
</IfModule>

روش ۳: ویرایش php.ini (دسترسی کامل)

اگر به سرور مجازی یا سرور اختصاصی دسترسی دارید، فایل php.ini را ویرایش کنید:

; تنظیمات بهینه برای وردپرس 2025
max_execution_time = 120
max_input_time = 120
memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 64M

; تنظیمات OPcache (مهم برای PHP 8.4)
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
opcache.validate_timestamps = 1
opcache.revalidate_freq = 2

; غیرفعال کردن JIT در PHP 8.4 (اگر مشکل داشتید)
opcache.jit = off

⚠️ توجه PHP 8.4: در نسخه PHP 8.4 که از دسامبر ۲۰۲۵ منتشر شده، JIT به صورت پیش‌فرض غیرفعال است. اگر بعد از آپدیت PHP مشکل timeout داشتید، حتماً کش OPcache را پاک کنید.

راه‌حل ۲: غیرفعال کردن پلاگین‌های مشکل‌ساز

ناسازگاری پلاگین‌ها شایع‌ترین علت خطای timeout در وردپرس است. برای تشخیص پلاگین مشکل‌ساز:

روش سریع: غیرفعال کردن همه پلاگین‌ها از طریق FTP

اگر به پنل ادمین دسترسی ندارید:

  1. با FTP یا File Manager به پوشه wp-content بروید
  2. پوشه plugins را به plugins_backup تغییر نام دهید
  3. سایت را باز کنید - اگر کار کرد، مشکل از پلاگین‌هاست
  4. پوشه را به plugins برگردانید
  5. از پنل ادمین، پلاگین‌ها را یکی‌یکی فعال کنید تا مشکل‌ساز پیدا شود

پلاگین‌های معمولاً سنگین (احتیاط کنید)

نوع پلاگین نمونه‌ها راه‌حل
Page Builders Elementor، Divi، WPBakery حافظه را به 512MB افزایش دهید
Backup Plugins UpdraftPlus، BackupBuddy بکاپ را در ساعات کم‌ترافیک تنظیم کنید
Security Plugins Wordfence، Sucuri اسکن‌های زنده را غیرفعال کنید
WooCommerce WooCommerce + افزونه‌ها به نسخه 10.4.2+ آپدیت کنید
Image Optimization Smush، Imagify، ShortPixel بهینه‌سازی را async تنظیم کنید

💡 نکته وردپرس 6.9: با انتشار وردپرس 6.9 در دسامبر ۲۰۲۵ (و وردپرس 7.0 در آوریل ۲۰۲۶)، حتماً قبل از آپدیت، سازگاری پلاگین‌ها را بررسی کنید. بسیاری از پلاگین‌های قدیمی با PHP 8.4 و WP 6.9 مشکل دارند.

راه‌حل ۳: رفع Error 524 در Cloudflare

اگر از Cloudflare استفاده می‌کنید و خطای Error 524 (A timeout occurred) می‌بینید، یعنی سرور اصلی شما بیش از ۱۰۰ ثانیه برای پاسخ‌گویی زمان برده است.

محدودیت‌های Cloudflare

  • پلن رایگان: حداکثر ۱۰۰ ثانیه timeout
  • پلن Pro: حداکثر ۱۰۰ ثانیه timeout
  • پلن Business: حداکثر ۱۰۰ ثانیه timeout
  • پلن Enterprise: قابل افزایش (پیش‌فرض ۱۰۰ ثانیه)

راه‌حل‌های Error 524

  1. بهینه‌سازی سرور: سرور باید در کمتر از ۱۰۰ ثانیه پاسخ دهد - تنظیمات PHP را بهینه کنید
  2. حذف عملیات سنگین: import/export بزرگ، بکاپ و... را از طریق SSH یا cron انجام دهید
  3. فعال کردن Development Mode: موقتاً کش Cloudflare را غیرفعال کنید تا مشکل را تشخیص دهید
  4. بررسی Page Rules: مطمئن شوید rule‌های Cloudflare با سایت تداخل ندارند
# تنظیمات Nginx برای افزایش timeout
# در فایل /etc/nginx/nginx.conf

proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
send_timeout 90;

# برای PHP-FPM
fastcgi_read_timeout 90;

راه‌حل ۴: بهینه‌سازی دیتابیس وردپرس

دیتابیس شلوغ و غیربهینه می‌تواند کوئری‌های کند ایجاد کند که به timeout منجر می‌شود.

بهینه‌سازی با phpMyAdmin

  1. وارد phpMyAdmin شوید
  2. دیتابیس وردپرس را انتخاب کنید
  3. Check All را بزنید
  4. از منوی With selected گزینه Optimize table را انتخاب کنید

پاکسازی داده‌های اضافی

کوئری‌های زیر را در phpMyAdmin اجرا کنید (قبلش بکاپ بگیرید):

-- حذف post revisions قدیمی
DELETE FROM wp_posts WHERE post_type = 'revision';

-- حذف کامنت‌های اسپم
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- حذف transients منقضی
DELETE FROM wp_options WHERE option_name LIKE '_transient_%'
AND option_name NOT LIKE '_transient_timeout_%';

-- بهینه‌سازی جداول
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments;

🚨 مهم: قبل از اجرای هر کوئری، حتماً از دیتابیس بکاپ کامل بگیرید. این کوئری‌ها داده‌ها را به صورت دائمی حذف می‌کنند.

پلاگین‌های بهینه‌سازی دیتابیس

  • WP-Optimize: پاکسازی و فشرده‌سازی خودکار جداول
  • Advanced Database Cleaner: حذف داده‌های orphan و revision
  • Query Monitor: شناسایی کوئری‌های کند (فقط در محیط توسعه)

راه‌حل ۵: ارتقا به هاست قوی‌تر

گاهی مشکل ساده است: منابع سرور کافی نیست. هاست اشتراکی برای سایت‌های با ترافیک بالا یا WooCommerce سنگین مناسب نیست.

علائم نیاز به ارتقا

  • خطای timeout در ساعات پیک ترافیک
  • CPU یا RAM هاست دائماً بالای ۸۰٪
  • پیام‌های "Resource Limit Reached" از هاست
  • بیش از ۵۰۰۰ بازدید روزانه یا ۱۰۰+ محصول WooCommerce

گزینه‌های ارتقا

نوع سرویس مناسب برای مزایا
هاست وردپرس سایت‌های کوچک تا متوسط بهینه‌شده برای WP، پشتیبانی تخصصی
سرور مجازی (VPS) سایت‌های با ترافیک بالا، WooCommerce منابع اختصاصی، دسترسی root، مقیاس‌پذیر
سرور اختصاصی فروشگاه‌های بزرگ، ترافیک بسیار بالا حداکثر کارایی، کنترل کامل

💡 از تجربه ما: اکثر سایت‌های وردپرسی که مشکل timeout مداوم دارند، با مهاجرت به VPS با حداقل 2GB RAM و 2 vCPU مشکلشان به طور کامل رفع می‌شود. تیم پشتیبانی برتینا در انتقال رایگان سایت به سرور جدید کمک می‌کند.

راه‌حل ۶: فعال‌سازی Debug Mode و بررسی لاگ‌ها

برای یافتن علت دقیق خطا، Debug Mode وردپرس را فعال کنید:

فعال‌سازی WP_DEBUG

در فایل wp-config.php:

// فعال‌سازی Debug Mode
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

// ذخیره خطاها در فایل
@ini_set('log_errors', 'On');
@ini_set('error_log', '/path/to/wp-content/debug.log');

فایل wp-content/debug.log را بررسی کنید. به دنبال پیام‌های زیر بگردید:

  • Fatal error: Maximum execution time → max_execution_time را افزایش دهید
  • Fatal error: Allowed memory size → memory_limit را افزایش دهید
  • WordPress database error → دیتابیس را بررسی کنید
  • نام پلاگین خاص → آن پلاگین را غیرفعال یا آپدیت کنید

بررسی لاگ‌های سرور

اگر به SSH دسترسی دارید:

# لاگ PHP-FPM
tail -f /var/log/php-fpm/www-error.log

# لاگ Nginx
tail -f /var/log/nginx/error.log

# لاگ Apache
tail -f /var/log/apache2/error.log

# لاگ MySQL slow queries
tail -f /var/log/mysql/slow.log

راه‌حل ۷: بهینه‌سازی WP-Cron

وردپرس به صورت پیش‌فرض از WP-Cron برای تسک‌های زمان‌بندی شده استفاده می‌کند. این سیستم در هر بارگذاری صفحه اجرا می‌شود و می‌تواند باعث کندی شود.

غیرفعال کردن WP-Cron و استفاده از Real Cron

در wp-config.php:

// غیرفعال کردن WP-Cron
define('DISABLE_WP_CRON', true);

سپس یک cron job واقعی تنظیم کنید (در cPanel یا SSH):

# اجرای WP-Cron هر 15 دقیقه
*/15 * * * * cd /path/to/wordpress && /usr/bin/php wp-cron.php > /dev/null 2>&1

💡 از تجربه تیم فنی برتینا: در سال ۱۴۰۴، با آپدیت بسیاری از سایت‌ها به PHP 8.4 و وردپرس 6.9، تعداد تیکت‌های مربوط به timeout افزایش یافت. در ۹۰٪ موارد، مشکل با ترکیب این سه کار رفع شد: ۱) آپدیت WooCommerce به نسخه 10.4.2+، ۲) افزایش memory_limit به 256MB، ۳) پاک کردن کش OPcache.

سوالات متداول درباره خطای Connection Timed Out

چرا سایت وردپرسی من خطای ERR_CONNECTION_TIMED_OUT می‌دهد؟

این خطا معمولاً به دلیل محدودیت زمان اجرای PHP (max_execution_time پیش‌فرض 30 ثانیه)، حافظه ناکافی (memory_limit کم)، پلاگین‌های سنگین یا ناسازگار، یا منابع ناکافی سرور رخ می‌دهد. برای رفع، ابتدا پلاگین‌ها را غیرفعال کنید و سپس تنظیمات PHP را بهینه کنید.

تفاوت Error 524 و Error 522 در Cloudflare چیست؟

Error 524 (A timeout occurred): یعنی Cloudflare به سرور متصل شد، اما سرور بیش از 100 ثانیه برای پاسخ‌گویی زمان برد. راه‌حل: بهینه‌سازی PHP و دیتابیس. Error 522 (Connection timed out): یعنی Cloudflare اصلاً نتوانست به سرور متصل شود. راه‌حل: بررسی IP سرور در تنظیمات DNS، وضعیت سرور و فایروال.

چطور max_execution_time را در وردپرس افزایش دهم؟

سه روش وجود دارد: ۱) wp-config.php: خط set_time_limit(120); را اضافه کنید. ۲) .htaccess: خط php_value max_execution_time 120 را اضافه کنید. ۳) php.ini: مقدار max_execution_time = 120 را تنظیم کنید. روش سوم نیاز به دسترسی سرور (VPS یا Dedicated) دارد.

آیا PHP 8.4 باعث مشکل timeout در وردپرس می‌شود؟

ممکن است. PHP 8.4 که از دسامبر 2025 منتشر شده، تغییراتی در OPcache و JIT دارد. JIT به صورت پیش‌فرض غیرفعال است، اما کش OPcache قدیمی ممکن است مشکل‌ساز شود. راه‌حل: کش OPcache را پاک کنید (opcache_reset()) یا validate_timestamps=1 را در php.ini تنظیم کنید. همچنین مطمئن شوید پلاگین‌ها با PHP 8.4 سازگار هستند.

چه زمانی باید از هاست اشتراکی به VPS مهاجرت کنم؟

زمانی که: ۱) بیش از 5000 بازدید روزانه دارید، ۲) از WooCommerce با بیش از 100 محصول استفاده می‌کنید، ۳) خطای timeout مکرراً تکرار می‌شود، ۴) CPU یا RAM هاست دائماً بالای 80% است، ۵) نیاز به تنظیمات PHP سفارشی دارید. VPS با حداقل 2GB RAM و 2 vCPU برای اکثر سایت‌های وردپرسی متوسط کافی است.

چطور بفهمم کدام پلاگین باعث timeout شده؟

اگر به پنل ادمین دسترسی دارید، پلاگین‌ها را یکی‌یکی غیرفعال کنید. اگر دسترسی ندارید: ۱) با FTP به پوشه wp-content بروید، ۲) پوشه plugins را به plugins_old تغییر نام دهید، ۳) سایت باید کار کند، ۴) پوشه را برگردانید و از ادمین پلاگین‌ها را یکی‌یکی فعال کنید تا مشکل‌ساز پیدا شود.

آیا WooCommerce 10.4.2 مشکل timeout را رفع می‌کند؟

بله، تا حدی. نسخه WooCommerce 10.4.2 که در اواخر 2025 منتشر شد، چندین باگ مربوط به سازگاری با وردپرس 6.9 و PHP 8.4 را رفع کرده که برخی از آن‌ها باعث timeout می‌شدند. اگر از WooCommerce استفاده می‌کنید و مشکل timeout دارید، حتماً به آخرین نسخه آپدیت کنید.

خلاصه: چک‌لیست رفع Connection Timed Out

در این مقاله ۷ راه‌حل تضمینی برای رفع خطای Connection Timed Out در وردپرس را بررسی کردیم. برای رفع سریع:

  1. ✅ پلاگین‌ها را غیرفعال کنید و یکی‌یکی تست کنید
  2. max_execution_time را به 120 ثانیه افزایش دهید
  3. memory_limit را به 256MB یا بیشتر افزایش دهید
  4. ✅ دیتابیس را با phpMyAdmin بهینه کنید
  5. ✅ WP-Cron را به Real Cron تغییر دهید
  6. ✅ OPcache را پاک کنید (مخصوصاً بعد از آپدیت PHP)
  7. ✅ اگر مشکل ادامه داشت، به هاست قوی‌تر مهاجرت کنید

💼 خدمات هاستینگ برتینا

اگر مشکل timeout با بهینه‌سازی رفع نشد، زمان ارتقا به سرویس قوی‌تر است:

تیم پشتیبانی ۲۴/۷ برتینا در عیب‌یابی و رفع مشکلات timeout کمک می‌کند. با ما تماس بگیرید.

سوالات خود درباره خطای Connection Timed Out را در بخش نظرات بپرسید. کارشناسان فنی برتینا پاسخگوی شما هستند.

نظرات