پیشنهاد خلایق

tabligh-evar-728-90

روشهای جلوگیری از کاهش سرعت سایت ناشی از نصب پلاگینها

آیا می دانید که نصب پلاگین های متعدد باعث کاهش سرعت لود سایت شما می شود؟ پلاگینها، امکانات ویژه ای به سایت شما می دهند اما بر سرعت سایتتان اثر منفی می گذارند. در این مقاله به شما نشان خواهیم داد که چگونه پلاگینها بر سرعت سایت اثر می گذارند و ضمنا روش موثر کنترل این موضوع را به شما آموزش خواهیم داد.

پلاگینها چگونه کار می کنند؟

پلاگینهای وردپرس مثل نرم افزار یا اپلیکیشن برای کامپیوتر یا موبایل هستند. می توانید به منظور افزودن امکانات بیشتر به سایت، آن ها را نصب کنید. پلاگینهایی مثل انواع فرم سازها، گالری تصاویر و فروشگاه ساز.

وقتی کسی سایت شما را می بیند، وردپرس ابتدا فایلهای هسته خود را لود می کند و سپس پلاگینهای فعال را اجرا می نماید.

چگونه پلاگینها می توانند بر سرعت لود سایت اثر بگذارند؟

هر پلاگین وردپرس عملکرد و امکانات مختلفی را ارائه می دهد. برای ارائه چنین امکاناتی برخی از پلاگینها در محیط پشت صحنه وردپرس، دیتابیس را فراخوانی می کنند. برخی دیگر از این پلاگینها در محیط جلویی یا همان فرونت اند وردپرس فایلهایی مثل css، جاواسکریپت، تصاویر و موارد دیگری را لود می نمایند.

ایجاد کوئری های دیتابیس و لود فایلهای اضافی بر مدت زمان لود سایت شما می افزایند. اکثر پلاگینها برای اجرای فایلهای css، اسکریپتها و تصاویر درخواستهای HTTP ایجاد می کنند. هر درخواست HTTP مدت زمان لود صفحه ی سایت شما را افزایش می دهد.

اگر این پروسه به درستی انجام شود، تاثیر عملکردی شایان ذکری ایجاد نمی شود.

با این حال اگر از چندین پلاگین استفاده کنید که مجموعا درخواستهای http زیادی برای اجرای فایلهای خود ایجاد کنند، عملکرد و تجربه کاربری مخاطبین سایت تحت تاثیر قرار خواهد گرفت.

چگونه فایلهایی که توسط پلاگینهای وردپرس لود می شوند را بررسی کنیم؟

برای اینکه ببینید پلاگینها چگونه بر سرعت لود صفحات شما اثر می گذارند نیاز است که فایلهای لود شده توسط آنها را بررسی کنید.

چندین ابزار برای دستیابی به این هدف وجود دارد.

می توانید از ابزار توسعه دهندگان در مرورگر خود استفاده کنید.(Inspect در گوگل کروم و Inspect Element در فایرفاکس)

خیلی ساده سایت خود را در مروگر باز کنید و روی ابزار Inspect راست کلیک کنید. یک پنل ابزار توسعه دهنده باز می شود.

باید روی تب Network کلیک کرده و سپس سایت را رفرش کنید. همینکه سایت مجددا لود شود قادر خواهید بود تا ببینید که چگونه مرورگرتان هر فایل را لود می کند.

ضمنا می توانید با استفاده از ابزارهای دیگری نظیر GTmetrix یا Pingdom نیز همین روند را بررسی کنید. این ابزارها علاوه بر اطلاعات مفید دیگر، همه فایلهایی که لود می شوند و مدت زمان لود شدن هر یک را نشان می دهند.

نصب چه تعداد پلاگین، زیاد است؟

وقتی که می بینید چنین فایلهایی در حال لود شدن در سایت شما هستند شاید با خود بیندیشید که پس چه تعداد پلاگین باید در سایتتان نصب کنید؟ از چه تعدادی بیشتر، زیاد محسوب می شود؟

پاسخ کاملا به تنظیمات پلاگینهایی که استفاده می کنید وابسته است.

یک پلاگین بد می تواند ۱۲ فایل را مجبور به لود کند درحالیکه چندین پلاگین خوب تنها تعدادی فایل را اضافه می کنند.

پلاگینهای خوب کدنویسی شده، سعی می کنند تعداد فایلهایی که باید لود شوند را به حداقل برسانند. با این حال همه توسعه دهندگان به یک اندازه مراقب این موضوع نیستند. برخی از پلاگینها فایلها را در تمام تک صفحات لود می کنند حتی اگر در آن صفحه، به آن فایلها نیازی نباشد.

مطلب مرتبط:  راهکارهای افزایش سرعت لود سایت به زیر ۱ ثانیه!

اگر از تعداد زیادی از اینگونه پلاگینها استفاده می کنید باید بدانید که بر عملکرد سایتتان تاثیر مطلوبی نخواهد گذاشت.

چگونه پلاگینها را تحت کنترل خود درآوریم؟

مهمترین چیزی که می توانید در سایت وردپرسی خود انجام دهید این است که فقط از پلاگینهایی استفاده کنید که به خوبی کدنویسی شده اند، امتیاز خوبی در نقد و بررسی گرفته اند و توسط منابع معتبر و شناخته شده توصیه شده باشند.

اگر فهمیدید که یک پلاگین بر لود سایتتان اثر منفی گذاشته است به دنبال پلاگین بهتری برای جایگزینی بگردید.

در مرحله بعدی نیاز به استفاده از کش و CDN خواهید داشت تا سرعت و عملکرد سایت خود را افزایش دهید.

عامل دیگری که باید مورد توجه قرار دهید هاست وردپرس است. اگر سرورهای هاست شما به خوبی پیکربندی نشده باشند، زمان پاسخگویی یا همان response time سایتتان افزایش خواهد یافت.

این موضوع به این معنی است که نه تنها پلاگین ها بلکه عملکرد کلی سایت شما نیز کندتر خواهد شد. اطمینان حاصل کنید که از شرکتهای برتر هاستینگ خدمات دریافت می کنید.

به عنوان راه حل آخر می توانید پلاگین دردسرساز را غیرفعال و حذف کنید. با دقت پلاگینهای نصب شده در سایتتان را مورد بررسی قرار دهید و اگر می توانید برخی از آنها را حذف کنید. گرچه راه حل ایده آلی نیست که به بهای از دست دادن امکانات سایت، سرعت خود را افزایش دهید ولی در برخی موارد چاره دیگری وجود ندارد.

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

کاربران حرفه ای وردپرس سعی می کنند تا چگونگی لود فایلهای پلاگین ها را مدیریت کنند. اعمال این کار نیاز به آشنایی با کدنویسی و مهارتهای عیب یابی دارد.

روش صحیح لود اسکریپتها و استایل ها در وردپرس استفاده از توابع wp_enqueue_style و wp_enqueue_script است.

اکثر توسعه دهندگان پلاگین از این توابع برای لود فایلهای پلاگین استفاده می کنند. وردپرس در خودش نیز توابعی دارد که این اسکریپتها و استایل ها را غیرفعال یا به اصطلاح deregister می کند.

با این حال اگر فقط این اسکریپتها و استایلها را غیرفعال کنید پلاگینهایتان خراب خواهند شد و نمی توانند به خوبی عمکرد خود را ارائه دهند. برای رفع این مشکل نیاز است تا این استایلها و اسکریپتها را در فایلهای جاواسکریپت و سی اس اس پوسته خود کپی و پیست کنید.

در این روش قادر خواهید بود تا یکباره همه آنها را لود کنید و درخواستهای http را به حداقل برسانید و زمان لود صفحات خود را کاهش دهید.

حالا با هم خواهیم دید که چگونه می توان این فایلها را deregister کرد.

غیرفعال سازی فایلهای استایل در وردپرس

ابتدا نیاز است تا نام یا آی دی استایلی که می خواهید غیرفعال کنید را بیابید. با استفاده از ابزار inspect مرورگر یا مشاهده سورس صفحه قادر به یافتن خواهید بود.

پس از یافتن آی دی استایل، به وسیله افزودن کد زیر به فایل functions.php پوسته یا پلاگین سفارشی خود، می توانید آنرا غیر فعال کنید.

add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'gdwpm_styles-css' );
}

می توانید هر تعداد آی دی استایل که می خواهید را با این تابع غیرفعال کنید. برای مثال اگر بیش از یک پلاگین دارید برای غیرفعال کردن فایل استایل آنها می توانید از کد زیر استفاده کنید:

add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'gdwpm_styles-css' );
wp_deregister_style( 'bfa-font-awesome-css' );
wp_deregister_style( 'some-other-stylesheet-handle' );
}

به یاد داشته باشید که غیرفعال سازی این استایل ها بر عملکرد پلاگین در سایت شما اثر خواهد گذاشت. نیاز است تا یک کپی از محتوای هر فایل استایل گرفته و آن را در فایل استایل پوسته یا بخش custom CSS وردپرس بریزید.

مطلب مرتبط:  راهنمای جامع افزایش سرعت و عملکرد وردپرس

غیرفعال سازی فایلهای جاواسکریپت پلاگینهای وردپرس

درست مثل استایلها نیاز است که ابتدا مشخصه استفاده شده توسط فایل جاواسکریپت را پیدا کنید تا بتوانید آنرا غیر فعال نمایید. اما با استفاده از ابزار inspect قادر به این کار نخواهید بود.

برای یافتن شناسه اسکریپت باید درون فایلهای پلاگین بروید و شناسه استفاده شده توسط پلاگین برای لود اسکریپت را بیابید.

روش دیگر برای شناسایی تمام شناسه های استفاده شده توسط همه پلاگینها، افزودن کد زیر به فایل functions.php پوسته است.

function kha_display_pluginhandles() { 
$wp_scripts = wp_scripts(); 
$handlename .= "<ul>"; 
    foreach( $wp_scripts->queue as $handle ) :
      $handlename .=  '<li>' . $handle .'</li>';
    endforeach;
$handlename .= "</ul>";
return $handlename; 
}
add_shortcode( 'pluginhandles', 'kha_display_pluginhandles');

پس از افزودن کد فوق، شورت کد  را در یک نوشته جدید بریزید و پیش نمایش را بزنید تا فهرستی از آی دی های همه پلاگینهای نصب شده شما به نمایش در بیاید.

حالا شما شناسه ها را دارید و می توانید به سادگی با استفاده از کد زیر آنها را غیرفعال کنید:

add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
 function my_deregister_javascript() {
wp_deregister_script( 'contact-form-7' );
}

برای غیرفعال سازی دو یا چند اسکریپت از کد زیر استفاده کنید:

add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
function my_deregister_javascript() {
wp_deregister_script( 'contact-form-7' );
wp_deregister_script( 'gdwpm_lightbox-script' );
wp_deregister_script( 'another-plugin-script' );
}

همانطور که قبلا هم گفته شد غیرفعال سازی این اسکریپتها باعث مختل شدن عملکرد پلاگینها خواهد شد.

به منظور جلوگیری از بروز چنین اتفاقی شما باید فایلهای جاواسکریپت را با یکدیگر ترکیب کنید یا به اصطلاح همه را در یک جا جمع کنید اما این کار به راحتی امکان پذیر نیست و باید بدانید که دارید چکار می کنید. می توانید با آزمون و خطا این کار را یاد بگیرید اما توصیه ما این است که این کار را روی یک سایت تست پیگیری کنید.

لود اسکریپتها فقط در صفحات خاص

اگر به پلاگینی نیاز دارید تا در یک صفحه خاص از سایت اجرا شود می توانید کاری کنید که فایلهای استایل و اسکریپت آن، فقط در همان صفحه لود شوند.

در این روش اسکریپت در صفحات دیگر سایت غیرفعال خواهد بود و فقط در زمانی که به اجرای آن نیاز باشد لود می شود.

با استفاده از کد زیر می توانید اسکریپتها را در صفحات دلخواه لود کنید:

add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 );
function my_deregister_javascript() {
if ( !is_page('Contact') ) {
wp_deregister_script( 'contact-form-7' );
}
}

این کد به سادگی اسکریپت contact-form-7 را در تمام صفحات به جز صفحه تماس با ما contact page غیرفعال می کند.

کار تمام شد! به همین سادگی و خوشمزگی!

امیدواریم مقاله فوق به شما کمک کرده باشد تا سرعت لود سایت خود را افزایش دهید و نحوه غیرفعال سازی فایلهای استایل و اسکریپت پلاگینها را فرا گرفته باشید. در صورتی که به مشکل خوردید سوال بپرسید. ما در کنار شما هستیم.



مطالب مرتبط

درباره مقاله فوق چه نظری دارید؟