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

آیا از توسعه دهندگان که از افزونه های زیادی بر روی وردپرس شما استفاده می کنند شنیده ‎اید؟ آیا شما نیز فکر میکنید که استفاده زیاد از افزونه ها سرعت وردپرس را پایین می آورد؟ بله تا حدودی درست است. بعضی از این افزونه ها تنها یک کوئری را به اجرا در می آورند و به سرعت سایت شما تاثیری نمی گذارند اما بعضی دیگر از افزونه ها ترکیبی از جی کوئری و Css را به هر صفحه سایت شما اضافه می کنند و باعث کند شدن سرعت سایت شما می شوند. البته بستگی به افزونه ها دارد بعضی وقتها افزونه طوری طراحی می شود که کاملا سرعت لود آن بهینه شده است. به عنوان مثال اگر هر افزونه یک Jquery و یک Css به هر پست اضافه کنند و شما ۸ افزونه داشته باشید در کل ۱۶ درخواستی به سرور اضافه می آید و این زمانی غیر قابل کنترل می شود که افزونه ها بیشتر از یک Css را اد کنند.با ما همراه باشید تا این مسئله را از ۰ تا ۱۰۰ موشکافی کنیم.

نکته: توصیه می شود قبل از مطالعه حداقل با PHP ساده اشنایی داشته باشید.

هدف ما : غیر فعال کردن تمامی Jquery ها و CSS هایی که افزونه ها به صفحات وب اضافه می کنندو بر سرعت تاثیر بد می گذارد.

یک احظه بایستید ، ما چرا باید این CSS ها رو غیرفعال کنیم؟مگه اونها لازم نیستند؟سوال خیلی به جایی است.درست است که این CSS ها برای کار خیلی ضروری و لازم هستند اما ما میخواهیم این CSS ها را به هر صورتی حذف کنیم تا کنترل بهتری بر سایتمان داشته باشیم.

با غیر فعال کردن Jquery و CSS های اضافه ما میتوانیم :

اما یه لحظه بایستید. ما میخواهیم با حذف این گونه درخواست ها کنترل بیشتری بر سرور داشته باشیم و وردپرس و سایتمان را سریعتر کنیم. پس میتوانیم :

۱-چند فایل را با هم ترکیب کنیم – تکنیک جن

۲-فایل هایی را در صفحه وب اجرا کنیم با استفاده از استایل ها یا اسکریپت

نحوه پاک کردن استایل ها در وردپرس :

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

راه درسا استفاده ز Css ها ثبت آنها با کد wp_enqueue_script() یا  wp_enqueue_style(). می باشد.

غیر فعال کردن CSS

در این مثال ما از افزونه ای به نام  Cleaner Gallery استفاده می کنیم و فایل Css خودمون رو بهش اضافه می کنیم ، برای اینکار لازم است فایل Gallery.php را باز کنید و به دنبال wp_enqueue_style بگردید.

شما چنین چیزی خواهید دید:

wp_enqueue_style( 'cleaner-gallery', CLEANER_GALLERY_URL . 'cleaner-gallery.css', false, 0.8, 'all' );

حالا شما باید فایل functions.php در قالب کنونی خود را باز کنید  ، کد زیر را به آن اضافه کنید:

add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'cleaner-gallery' );
}

شما اکنون میتونید هر نوع CSS رو که بخواید لغو ثبت کنید

اگر شما بیش از یک افزونه دارید اینگونه می توانید CSS حذف کنید :

add_action( 'wp_print_styles', 'my_deregister_styles', 100 );

function my_deregister_styles() {
wp_deregister_style( 'cleaner-gallery' );
wp_deregister_style( 'Plugin Style Handle' );
wp_deregister_style( 'Plugin Style Handle' );
}

با این کد شما استایل شیت یا همون Css های زیادی رو حذف می کنید. و باعث می شوید سرعت سایت شما افزایش پیدا کند. اما بعنوان مثال سایت شما در قسمت گالری از شکل افتاد.حالا باید برای درست کردن به فایل Style.css در پوشه تم بروید و تمامی کد های افزونه تان را در آن جای گذاری کنید.در مثال ما کد های Css را از load سایت بر داشتیم و حالا کد های گالری از فایل cleaner-gallery.css را در فایل STYLE.CSS جای گذاری نمودیم

یک پلاگینی هست به نام WP-PageNavi که به کاربران این امکان رو میده که برای خودشون به دلخواه Css ها رو فعال یا غیر فعاال کنند.

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

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

بعضی افزونه ها کد جاوااسکریپت رو به صفحه اضافه می کنند . ما در اینجا از افزونه Contact Form 7 استفاده کردیم.

شما برای غیرفعال کردن باید هندل این فایل رو پیدا کنید.در اینجا هندل contact-form-7 بود.خب ما این کد رو به فایل Functions.php اضافه می کنیم

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() {
if ( !is_page('Contact') ) {
wp_deregister_script( 'contact-form-7' );
}
}

اگر شما افزونه های بسیاری نصب کردید با استفاده از این افزونه YSlow Plugin میتوانید بینید که چه راهکار هایی برای افزایش سرعت وردپرس میتوانید انجام دهید.

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *