حذف کدها و فایل های اضافی وردپرس و المنتور
در فرآیند بهینهسازی سایت یکی از مهمترین اقداماتی که میتواند سرعت و کارایی سایت را به شکل چشمگیری افزایش دهد حذف کدهای اضافی است. بسیاری از افزونهها و قالبهایی که در وردپرس، ووکامرس و المنتور استفاده میکنیم همراه با کدهای CSS و JavaScript و فونت زیادی بارگذاری میشوند که بخش زیادی از آنها در صفحات سایت مورد استفاده قرار نمیگیرد. این کدهای اضافه نهتنها باعث سنگین شدن صفحات و کاهش سرعت لود میشوند بلکه در برخی موارد بر سئو و تجربه کاربری هم تأثیر منفی میگذارند. در این مقاله قرار است روشهای کاربردی و تستشده برای حذف کدهای اضافی در وردپرس، ووکامرس و المنتور را به شما آموزش بدهیم تا بتوانید سایتی سبکتر سریعتر و حرفهایتر داشته باشید با وب آیدین همراه باشید.
گرفتن بک آپ قبل از انجام تغییرات
از انجایی که تغییراتی که اعمال می کنیم ممکن است باعث بروز مشکلاتی برای سایت شما شود (هرچند که توسط ما تست شده است) اما بهتر است قبل از انجام این تغییرات حتما از سایت خود یک فول بک آپ گرفته باشید
غیر فعال کردن عناصر بلا استفاده المنتور
وارد پیشخوان وردپرس شوید و از بخش المنتور گذینه مدیریت عنصر را انتخاب کنید.
سپس در صفحه باز شده مانند تصویر زیر روی دکمه اسکن استفاده از عنصر کلیک کنید، این کار با یک اسکن، تمامی ابزار های اضافه که در المنتور سایت شما کاربرد ندارند را غیرفعال خواهند کرد، سپس از سمت چپ روی دکمه غیرفعال کردن عناصر بلااستفاده کلیک کنید تا همه ابزار هایی که در طراحی سایت شما استفاده نشده اند غیرفعال شوند.
تزریق کد به فایل Functions.php
برای بهینه سازی سایت خود نیاز است که تکه کد های زیر را در فایل Functions.php سایت خود درون ریزی کنید، درواقع با تزریق این کد ها به قالب سایت از وردپرس می خواهید که از لود فایل های اضافی جلوگیری کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
function dequeuePublicMy(){ // اگر آیکن های سایت شما پرید این قسمت را حذف کنید wp_dequeue_style('font-awesome-4-shim'); wp_deregister_style('font-awesome-4-shim'); wp_dequeue_style('elementor-global'); wp_deregister_style('elementor-global'); wp_dequeue_style('font-awesome-5-all'); wp_deregister_style('font-awesome-5-all'); // تا این قسمت // حذف کد های اضافی المنتور wp_dequeue_style('elementor-common'); wp_deregister_style('elementor-common'); wp_dequeue_style('elementor-animations'); wp_deregister_style('elementor-animations'); wp_dequeue_style('elementor-pro'); wp_deregister_style('elementor-pro'); // تا این قسمت //حذف کد های اضافی ووکامرس wp_dequeue_script('wc-single-product'); wp_deregister_script('wc-single-product'); wp_dequeue_script('woocommerce'); wp_deregister_script('woocommerce'); wp_dequeue_script('flexslider'); wp_deregister_script('flexslider'); wp_dequeue_script('wc-cart-fragments'); wp_deregister_script('wc-cart-fragments'); // اگر مشکلی در ثبت محصول به سبد خرید داشتید دوخط زیر رو بردارید wp_dequeue_script('wc-add-to-cart'); wp_deregister_script('wc-add-to-cart'); // تا این قسمت wp_dequeue_script('contact-form-7'); wp_deregister_script('contact-form-7'); wp_dequeue_script('comment-reply'); wp_deregister_script('comment-reply'); wp_dequeue_script('wp-embed'); wp_deregister_script('wp-embed'); wp_dequeue_style('wp-block-library'); wp_deregister_style('wp-block-library'); wp_dequeue_style('wp-block-library-theme'); wp_deregister_style('wp-block-library-theme'); wp_dequeue_style('contact-form-7-rtl'); wp_deregister_style('contact-form-7-rtl'); } add_action('wp_enqueue_scripts', 'dequeueWooMy' , 999); add_action('wp_head', 'dequeueWooMy' , 999); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function dequeueElementorMy(){ wp_dequeue_style('elementor-common'); wp_deregister_style('elementor-common'); wp_dequeue_style('elementor-animations'); wp_deregister_style('elementor-animations'); wp_dequeue_style('elementor-pro'); wp_deregister_style('elementor-pro'); } add_action('wp_enqueue_scripts', 'dequeueElementorMy' , 999); add_action('wp_head', 'dequeueElementorMy' , 999); |
حذف ایموجی ها
از آنجایی که در وردپرس، ایموجیها با استفاده از کدهای Js و Css لود میشوند حذف کردن این کدها باعث کاهش حجم خروجی سایت شما خواهد شد
کد زیر را به فایل Functions.php است خود تزریق کنید تا دیگر ایجوجی های وردپرسی در سایت شما نمیان نشود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
add_filter( 'emoji_svg_url', '__return_false' ); add_action( 'init', 'herminal_hook_disable_emojies' ); remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); function herminal_hook_disable_emojies() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'embed_head', 'print_emoji_detection_script' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); add_filter( 'option_use_smilies', '__return_false' ); } remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); |
افزایش سرعت سایت با حذف s.w.org
یکی از چیزایی که این روزا باعث کاهش سرعت سایت های وردپرسی در ایران شده دی ان اس سایت s.w.org
هست که در هدر لود میشه و در سورس هم موجوده و با حذف این لینک میتونید به سرعت سایتتون به شدت کمک کنید کافیه کد زیر رو در فاکشن قالب قرار بدید.
1 2 3 4 |
add_action( 'init', 'remove_dns_prefetch' ); function remove_dns_prefetch () { remove_action( 'wp_head', 'wp_resource_hints', 2, 99 ); } |
حذف لوگو وردپرس از پیشخوان وردپرس
با اضافه کردن این کد می توانید کمی در سرعت بازگذاری پیشخوان وردپرس بهبود ببخشید فقط باید کد زیر را به فایل Functions.php قالب سایت خود اضافه کنید.
1 2 3 4 |
add_action( 'wp_before_admin_bar_render', function () { global $wp_admin_bar; $wp_admin_bar->remove_menu( 'wp-logo' ); }, 0 ); |
حذف jquery در صورت عدم نیاز
1 2 3 4 5 6 |
// حذف jquery function my_jquery_enqueue() { wp_deregister_script('jquery'); } add_action( 'wp_jquery_customer', 'my_jquery_enqueue' ); add_action( 'wp_nopriv_jquery_customer', 'my_jquery_enqueue' ); |
حذف JQuery migrate
1 2 3 4 5 6 7 8 9 10 |
//Remove JQuery migrate function remove_jquery_migrate($scripts) { if (!is_admin() && isset($scripts->registered['jquery'])) { $script = $scripts->registered['jquery']; if ($script->deps) { // Check whether the script has any dependencies $script->deps = array_diff($script->deps, array( 'jquery-migrate' ));}}} add_action('wp_default_scripts', 'remove_jquery_migrate'); |
حذف کلاس و ايدی فهرست ها
1 2 3 4 5 6 7 8 9 10 11 12 |
function remove_css_id_filter($var) { return is_array($var) ? array_intersect($var, array('current-menu-item')) : ''; } add_filter('page_css_class', 'remove_css_id_filter', 100, 1); add_filter('nav_menu_item_id', 'remove_css_id_filter', 100, 1); add_filter('nav_menu_css_class', 'remove_css_id_filter', 100, 1); /* حذف تايپ جاوا هدر */ add_filter('script_loader_tag', 'clean_script_tag'); function clean_script_tag($input) { $input = str_replace("type='text/javascript' ", '', $input); return str_replace("'", '"', $input); } |
حذف کد استايل ديدگاه در هدر
1 2 3 4 5 |
function remove_recent_comments_style() { global $wp_widget_factory; remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style')); } add_action('widgets_init', 'remove_recent_comments_style'); |
حذف WP EMOJI
1 2 3 4 5 |
// REMOVE WP EMOJI remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles'); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); |
حذف ورژن جاوا اسکریپت و CSS
1 2 3 4 5 6 7 8 |
// remove css js ver function remove_cssjs_ver( $src ) { if( strpos( $src, '?ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 ); add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 ); |
حذف استایل های ویرایشگر گوتنبرگ در فرانت
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//Disable gutenberg style in Front function wps_deregister_styles() { wp_dequeue_style('wp-block-library'); } add_action( 'wp_print_styles', 'wps_deregister_styles', 100 ); add_filter('use_block_editor_for_post_type', 'd4p_32752_completly_disable_block_editor'); function d4p_32752_completly_disable_block_editor($use_block_editor) { return false; } function remove_gutenberg_styles() { wp_dequeue_style( 'wp-block-library' ); } add_action( 'wp_enqueue_scripts', 'remove_gutenberg_styles', 100 ); add_filter( 'gutenberg_use_widgets_block_editor', '__return_false' ); add_filter( 'use_widgets_block_editor', '__return_false' ); |
بهینه سازی قالب
این کد بررسی میکند که آیا کاربر وارد سایت (لاگین) کرده است یا نه؛ اگر وارد نشده باشد، برخی اسکریپتها و استایلهای مربوط به پخش رسانه (مثل ویدیو و صدا) را از سایت حذف میکند.
1 2 3 4 5 6 |
if ( is_user_logged_in() ) { } else { add_action('init', 'avf_remove_media_element', 10); function avf_remove_media_element() { wp_deregister_script('wp-mediaelement'); wp_deregister_style('wp-mediaelement'); }} |
-
اگر کاربر لاگین نکرده باشد (مثلاً بازدیدکننده سایت است)، وردپرس فایلهای مربوط به
MediaElement.js
(کتابخانهای برای پخش ویدیو و صوت در وردپرس) را غیرفعال میکند. -
این باعث کاهش لود فایلهای اضافی برای کاربران ناشناس شده و ممکن است به افزایش سرعت سایت کمک کند.
با تزریق این کد ها به فایل Functions.php سرعت لود سایت و همچنین بخش مدیریت سایت شما بهبود پیدا خواهد کرد.
امیدواریم این آموزش نیز مانند دیگر آموزش های ارائه شده وب آیدین مورد توجه شما قرار گرفته باشد و توانسته باشید نسبت به حذف کدها و فایل های اضافی وردپرس، ووکامرس و المنتور اقدام کرده باشید، در آخر اگر از کاربران وب آیدین هستید می تونید درخواست کنید تا این تکه کد توسط ما به سایت شما اضافه شود.