مشکل «کندی سایت وردپرس به دلیل اختلال در اینترنت بینالملل» یکی از چالشهای رایج برای توسعهدهندگان ایرانی است. وقتی وردپرس یا افزونهها سعی میکنند به سرورهای خارج از کشور (مثل WordPress.org برای آپدیت، گوگل برای فونتها، یا سرورهای لایسنس) متصل شوند و این ارتباط برقرار نمیشود، پردازش PHP تا زمان “Timeout” معطل میماند و همین باعث میشود سایت شما چندین ثانیه دیرتر لود شود.
در اینجا چند راهکار عملی و فنی برای حل این مشکل آورده شده است:
۱. مسدود کردن درخواستهای خارجی از طریق wp-config.php
قطعیترین راه برای متوقف کردن این «انتظارهای بیپایان»، غیرفعال کردن تمامی درخواستهای HTTP خروجی است. برای این کار، کدهای زیر را به فایل wp-config.php اضافه کنید:
PHP
// مسدود کردن تمام درخواستهای خارجی
define( ‘WP_HTTP_BLOCK_EXTERNAL’, true );
// باز گذاشتن دسترسی برای دامنههای ضروری (مثل درگاه پرداخت یا لایسنسهای محلی)
define( ‘WP_ACCESSIBLE_HOSTS’, ‘api.zarinpal.com, *.wp-iran.com’ );
- نکته: با این کار، آپدیتهای وردپرس و مخزن افزونهها هم غیرفعال میشود. هر زمان نیاز به آپدیت داشتید، موقتاً این مقدار را false کنید.
۲. غیرفعال کردن Google Fonts و Gravatar
بسیاری از قالبها بهصورت پیشفرض فونتهای گوگل را لود میکنند. وقتی اینترنت بینالملل محدود است، مرورگر کاربر روی لود کردن این فونتها گیر میکند.
- حذف Google Fonts: افزونه Disable and Remove Google Fonts را نصب کنید یا اگر کدنویس هستید، آنها را از functions.php آنکیو (Dequeue) کنید.
- غیرفعال کردن گراواتار: به مسیر تنظیمات > گفتگوها بروید و تیک «نمایش آواتار» را بردارید. گراواتار برای هر کامنت یک درخواست به سرورهای secure.gravatar.com میفرستد.
۳. مدیریت افزونههای لایسنسدار
افزونههای پولی معمولاً برای تایید لایسنس به سرور سازنده متصل میشوند. اگر سرور سازنده فیلتر باشد یا اینترنت ملی باشد، پنل مدیریت وردپرس شما بهشدت کند میشود.
- استفاده از نسخههای بهینه: برخی مارکتهای ایرانی افزونهها را برای اینترنت ایران بهینه کردهاند (با تغییر آدرس سرور لایسنس به سرورهای داخلی خودشان).
- جایگزینی موقت: اگر افزونهای دارید که لایسنس آن باعث کندی شده، میتوانید با استفاده از افزونههایی مثل Query Monitor دقیقاً بررسی کنید که کدام درخواست HTTP بیشترین زمان را تلف میکند و سپس آن افزونه را در حالت آفلاین تنظیم کنید (اگر امکانش باشد).
۴. بومیسازی کتابخانههای JS و CSS
برخی افزونهها فایلهای مورد نیاز خود را از CDNهای جهانی مثل cdnjs یا jsdelivr میگیرند.
- بهتر است این فایلها را دانلود کرده و بهصورت محلی (Local) در هاست خودتان بارگذاری کنید.
- افزونه Local Google Fonts میتواند فونتهای گوگل را دانلود و از روی هاست خودتان لود کند.
۵. بهینهسازی سیستم Cron Job
وردپرس بهصورت پیشفرض با هر بار بازدید از سایت، سیستم wp-cron.php را چک میکند تا کارهای زمانبندی شده (مثل بررسی آپدیتها) را انجام دهد. در شرایط اختلال اینترنت، این کار فاجعهبار است.
کد زیر را در wp-config.php قرار دهید تا کرون داخلی غیرفعال شود:
PHP
define(‘DISABLE_WP_CRON’, true);
سپس از طریق پنل هاست (Cpanel/DirectAdmin)، یک Real Cron Job بسازید که هر ۱۵ دقیقه یکبار اجرا شود.
جدول خلاصه تغییرات
| بخش | راهکار | تاثیر بر سرعت |
| هسته وردپرس | تعریف WP_HTTP_BLOCK_EXTERNAL | بسیار زیاد (بخش مدیریت) |
| فونتها | استفاده از افزونه Disable Google Fonts | زیاد (سمت کاربر) |
| تصاویر پروفایل | غیرفعال کردن Gravatar از تنظیمات | متوسط |
| آپدیتها | استفاده از افزونه Disable All Updates | زیاد |

