افزایش سرعت سایت با بستن دسترسی به سایت های خارجی + کد
وقتی یه سایت وردپرسی راه میندازیم، همهمون میخوایم سریعترین و بهترین سایت رو داشته باشیم. ولی وقتی شروع میکنیم به نصب افزونهها و قالبهای مختلف، یهو میبینیم که سایت داره کند میشه. یکی از دلایل اصلی این موضوع اینه که سرور سایتمون توی ایرانه و اکثر افزونهها و قالبهایی که استفاده میکنیم، از سرورهای خارجی بارگذاری میشن. وقتی سرور ایرانی بخواد با سرور خارجی ارتباط برقرار کنه، زمان زیادی میبره و همین باعث میشه که سرعت سایت افت کنه. این مشکل رو تقریباً همه تجربه میکنیم و واقعاً اعصابخردکنه!
قطع دسترسی سایت ها به سایتمون
این کدی که به اشتراک گذاشتیم برای محدود کردن درخواستهای خارجی و بهینهسازی سرعت سایت وردپرس استفاده میشه. با این کار، فقط دسترسی به سایتهای خاصی که توی کد لیست کردی مجاز میشه و بقیه درخواستها رد میشن. اینجوری میتونید ببینید که چقدر سرعت سایتتون بهتر میشه وقتی که فقط به این سایتهای ضروری اجازه دسترسی میدید.
function allow_specific_sites_request( $pre, $r, $url ) {
if ( is_user_logged_in() && is_admin() && current_user_can( 'administrator' ) ) {
$parsed_url = parse_url($url);
if ( in_array($parsed_url['host'], array('gravatar.com','version.xcart.ir','learndash.com', 'gravityapi.com', 'remote.learndash.com', 'yoast.com', 'bridge.unitedover.com', 'my.elementor.com','api.wordpress.org' ,'woocommerce.ir','zemez.io' , 'account.jetformbuilder.com','github.com','yoa.st','w.org','unyson.io','siteorigin.com','woocommerce.com','files.rtl-theme.com','rtl-theme.com','cdn.jsdelivr.net','cdn.themesinfo.com','themesinfo.com','wp-rocket.me','my.yoast.com','currencies.yithemes.com','yithemes.com','jsdelivr.net' , 'unpkg.com' ,'cdnjs.cloudflare.com','ajax.googleapis.com', 'dl3.wpnovin.com','secure.gravatar.com','api.crocoblock.com' ,'relevanssi.com','plugins.morningtrain.dk','connect.advancedcustomfields.com','xcart.ir','translate.wordpress.com','joomunited.com','wp-rocket.me','wpmelon-updates.com','nikanadv.ir','themeisle.com','www.arformsplugin.com','wpshout.com','www.codeinwp.com')) ) {
return true;
}
}
return $pre;
}
add_filter( 'pre_http_request', 'allow_specific_sites_request', 10, 3 );
برای استفاده از این کد، باید اون رو توی فایل functions.php
قالب سایتتون قرار بدید. به این شکل عمل کنید:
- ۱ از منوی “نمایش”، گزینه “ویرایشگر پرونده پوسته” رو انتخاب کنید.
- ۲ توی لیست فایلها سمت راست، فایل
functions.php
رو پیدا کنید و روش کلیک کنید.
- ۳ کد بالا رو در انتهای فایل اضافه کنید.
- ۴ فایل رو ذخیره کنید.
حالا سایتتون فقط به سایتهایی که توی کد تعریف کردید دسترسی خواهد داشت و این میتونه باعث بشه سرعت سایتتون بهتر بشه. البته دقت کنید که این تغییرات ممکنه روی برخی از افزونهها یا قابلیتهای سایت تاثیر بذاره، پس حتماً عملکرد سایتتون رو بعد از اعمال این کد بررسی کنید.
خلاصه
در این مقاله یاد گرفتیم که چطور با محدود کردن دسترسی سایتهای خارجی به سرور وردپرس، میتونیم سرعت سایتمون رو به طور قابلتوجهی افزایش بدیم. با استفاده از یک کد ساده توی فایل functions.php
قالب، فقط به سایتهای ضروری اجازه دسترسی دادیم و جلوی درخواستهای اضافی رو گرفتیم. این روش به ما کمک میکنه تا سایت وردپرسیمون سریعتر و بهینهتر عمل کنه، بدون اینکه مجبور بشیم از امکانات ضروری دست بکشیم.