کاربران گرامی،
با توجه به اختلال و قطعی گسترده اینترنت بینالملل در ایران، دسترسی به بسیاری از منابع خارجی (CDNها) از داخل کشور با مشکل مواجه شده است. این منابع شامل سرویسهایی مانند:
- Google Fonts
- CDNJS
- jsDelivr
- unpkg
- و سایر کتابخانههای جاوااسکریپت و فونتهای خارجی
میباشند.
❗ دلیل کندی سایت چیست؟
بسیاری از وبسایتها (خصوصا وردپرسی) برای لود شدن کامل، به این منابع خارجی وابسته هستند. در شرایط فعلی:
- مرورگر کاربر تلاش میکند این فایلها را از خارج کشور دریافت کند
- اما به دلیل اختلال اینترنت، این درخواستها timeout میشوند
- در نتیجه، لود کامل صفحه با تاخیر محسوس همراه میشود
✅ بنابراین تاکید میشود:
این کندی هیچ ارتباطی با سرورهای "وب رمز" ندارد و:
- وضعیت سرورها کاملا پایدار است
- منابع سرور (CPU / RAM / STORAGE) در حالت نرمال قرار دارند
- اختلال صرفا ناشی از عدم دسترسی به منابع خارجی است
راهکار پیشنهادی (Frontend)
برای رفع این مشکل، میتوانید لود شدن منابع خارجی را در سایت خود غیرفعال کنید.
نمونه کد زیر را در فایل functions.php قالب وردپرس خود قرار دهید تا:
هرگونه اسکریپت، استایل یا iframe که از دامنهای غیر از دامنه سایت شما لود میشود، حذف گردد.
//Remove external resources from WordPress
function buffer_start_strict() {
ob_start('remove_all_external_assets');
}
add_action('template_redirect', 'buffer_start_strict');
add_action('admin_init', 'buffer_start_strict');
function remove_all_external_assets($html) {
$site_host = parse_url(home_url(), PHP_URL_HOST);
$html = preg_replace_callback(
'#<script[^>]*src=["\']([^"\']+)["\'][^>]*></script>#i',
function ($matches) use ($site_host) {
$url = $matches[1];
if (strpos($url, '//') === false && strpos($url, 'http') !== 0) {
return $matches[0];
}
$host = parse_url($url, PHP_URL_HOST);
if ($host && $host !== $site_host) {
return '';
}
return $matches[0];
},
$html
);
$html = preg_replace_callback(
'#<link[^>]*href=["\']([^"\']+)["\'][^>]*>#i',
function ($matches) use ($site_host) {
$url = $matches[1];
if (strpos($url, '//') === false && strpos($url, 'http') !== 0) {
return $matches[0];
}
$host = parse_url($url, PHP_URL_HOST);
if ($host && $host !== $site_host) {
return '';
}
return $matches[0];
},
$html
);
$html = preg_replace_callback(
'#<iframe[^>]*src=["\']([^"\']+)["\'][^>]*></iframe>#i',
function ($matches) use ($site_host) {
$url = $matches[1];
$host = parse_url($url, PHP_URL_HOST);
if ($host && $host !== $site_host) {
return '';
}
return $matches[0];
},
$html
);
return $html;
}
این روش باعث میشود:
- درخواست به منابع خارجی حذف شود
- از ایجاد تاخیر (timeout) جلوگیری شود
- سرعت لود صفحات بهبود یابد
⚠️ نکته مهم
با فعالسازی این کد ممکن است:
- برخی استایلها (فونتها) لود نشوند
- برخی اسکریپتها (مانند jQuery CDN یا GSAP) حذف شوند
در صورت نیاز، توصیه میشود نسخه لوکال این فایلها روی هاست خود قرار داده شود.
قطع ارتباطات خارجی در Backend (وردپرس)
برای جلوگیری از ارتباطات خارجی در بخش بکاند (مانند آپدیتها یا APIها)، میتوانید کد زیر را در فایل:
wp-config.php
قرار دهید:
define('WP_HTTP_BLOCK_EXTERNAL', true);
define('WP_ACCESSIBLE_HOSTS', '*.shaparak.ir');
توضیح:
- تمام درخواستهای HTTP خارجی مسدود میشوند
- فقط دامنههای مشخصشده (در اینجا شاپرک) اجازه دسترسی خواهند داشت
علاوه بر موارد فوق، طبق گزارشهای دریافتی پلاگین ووکامرس فارسی نیز باعث کندی در پنل ادمین میشود. علت این کندی باید توسط توسعهدهنده پلاگین بررسی شود اما فعلا توصیه میکنیم جهت رفع کندی، این پلاگین و پلاگینهای وابسته به آن را غیرفعال کنید.
پس از رفع اختلال اینترنت
پس از بازگشت شرایط اینترنت به حالت عادی، توصیه میشود:
- کدهای اضافهشده در
functions.phpحذف یا غیرفعال شوند - تنظیمات
WP_HTTP_BLOCK_EXTERNALدرwp-config.phpبررسی و در صورت نیاز حذف گردد
دلیل:
برخی از قابلیتهای سایت (مانند آپدیت افزونهها، فونتها، APIها و برخی اسکریپتها) برای عملکرد صحیح به دسترسی به منابع خارجی نیاز دارند.
در صورت نیاز به راهنمایی بیشتر، میتوانید به واحد پشتیبانی تیکت ارسال کنید.
با آرزوی سلامتی و آرامش برای همه شما