آموزش رفع مشکل کندی سایت در شرایط اینترنت ملی وقتی صحبت از «اینترنت ملی» یا همان قطع دسترسی به شبکه جهانی پیش میآید، سایتهایی که سرورشان چه در داخل و چه در خارج کشور هستند، با چالشی جدی روبرو میشوند: عواملی مثل کندی شدید یا عدم بارگذاری سایت. در این مقاله آموزش افزایش سرعت وردپرس، راهکارهای فنی و عملی برای حفظ سرعت و پایداری سایت در این شرایط را بررسی میکنیم.
چرا سرعت سایت در زمان اختلالات اینترنت کاهش مییابد؟
مشکل اصلی در این شرایط، ایجاد اختلال در مسیرهای ارتباطی (Gateway) بین گرههای داخل کشور و سرورهای خارجی است. وقتی کاربر از اینترنت داخلی استفاده میکند، درخواست او برای رسیدن به سرور خارج از کشور باید از فیلترهای متعددی عبور کند که باعث افزایش شدید Latency (تأخیر) و Packet Loss میشود. البته در شرایط محدودیت شدید، درخواستی از کشور خارج نمیشود، یعنی دسترسی به خارج کشور کاملا بسته است و بههمین خاطر در سایتهایی که منابعی را از خارج کشور دریافت میکنند با خطا و کندی سرعت مواجه میشویم.
این موضوع میتواند باعث بروز مشکلاتی مانند: کندی شدید سایت ناقص لود شدن صفحات نمایش ندادن فونتها و آیکونها اختلال در عملکرد فرمها و ثبتنام کاربران شود؛ در حالی که بسیاری از مدیران سایتها از دلیل اصلی این مشکلات اطلاعی ندارند.
این موضوع میتواند باعث بروز مشکلاتی مانند:
- کندی شدید سایت
- ناقص لود شدن صفحات
- نمایش ندادن فونتها و آیکونها
- اختلال در عملکرد فرمها و ثبتنام کاربران شود؛ در حالی که بسیاری از مدیران سایتها از دلیل اصلی این مشکلات اطلاعی ندارند.
آموزش رفع مشکل کندی سرعت سایت در شرایط اینترنت ملی
در ادامه راه حل های مختلفی را ارائه میکنیم که برخی از آنها نیاز دارد که کدهایی را به سایتتان اضافه کنید که در ادمه بطور کامل توضیح خواهیم داد.
روش ششم: غیرفغال سازی رکوئست های خارجی (درخواست های HTTP API CALLS)
برای از بین بردن درخواست های خارجی 2 روش روجود دارد اول اینکه تمامی درخواست ها را با گذاشتن یک قطعه کد در فایل wp-config.php مسدود کنید.
روش اول:کد زیر را در فایل کانفیگ خود قرار دهید:
define( ‘WP_HTTP_BLOCK_EXTERNAL’, TRUE );
define( ‘WP_ACCESSIBLE_HOSTS’, ‘wordpress.org’ );البته در نظر داشته باشید که این کد اسنپ پی شما را غیر فعال میکند.
روش دوم:کد PHP زیر را در افزونه اسنیپت قرار دهید: توجه داشته باشید در این حالت تمامی درخواست ها مسدود نمیشوند و فقط مواردیکه بصورت قرمز در کد زیر گذاشته شده اند مسدود میشوند شما میتوانید درخواست های سرورهای خارجی سایت خود را در آن قسمت اضافه نمایید.
/** Block outgoing HTTP requests to specific domains. **/
function my_custom_block_external_requests( $pre, $args, $url ) {
// لیستی از دامنههایی که میخواهید مسدود شوند
// میتوانید از wildcard (*) هم استفاده کنید.
$blocked_hosts = [
// WordPress Core / Updates
‘api.wordpress.org’,
‘downloads.wordpress.org’,
‘translate.wordpress.com’,
‘*.wordpress.org’,
// مسدود کردن تمام زیردامنهها
];
// استخراج هاست (دامنه) از URL درخواستی
$requested_host = parse_url( $url, PHP_URL_HOST );
// اگر نتوانستیم هاست را پیدا کنیم، اجازه عبور میدهیم
if ( ! $requested_host ) {
return $pre; // یا return false
}
// بررسی اینکه آیا هاست درخواستی در لیست مسدودی ما قرار دارد یا خیر
foreach ( $blocked_hosts as $blocked_host ) {
// با استفاده از fnmatch از wildcard (*) پشتیبانی میکنیم
if ( fnmatch( $blocked_host, $requested_host ) ) {
// اگر دامنه در لیست سیاه بود، درخواست را با یک خطا مسدود کن
return new WP_Error( ‘http_request_blocked’, ‘دسترسی به دامنه ‘ . esc_html( $requested_host ) . ‘ مسدود شده است.’ );
}
}
// اگر دامنه در لیست سیاه نبود، اجازه بده درخواست ادامه پیدا کند
return $pre; // یا return false
}
add_filter( ‘pre_http_request’, ‘my_custom_block_external_requests’, 10, 3 );
*توجه* شما میتوانید تمامی کدهای گفته شده به جز روش چهارم که بصورت سیستمی انجام میشود را یکجا داخل یک کد PHP در افزونه Cod Snipet قرار دهید در این صورت نیازی به گذاشتن کدها در فایل فانکشن و یا کانفیگ هم ندارید جهت دانلود افزونه میتونید به مخزن وردپرس مراجعه کنید.
فروشگاه اریس شاپ | خرید لوازم آرایشی و بهداشتی عمده و تک

واقعا ممنون
خواهش می کنیم 🙏 امیدواریم که این آموزش بتونه برای همه مفید باشه و تو این شرایط اینترنت کمک کنه🌷