رفتن به مطلب

برطرف کردن اخطارهای Defer parsing of JavaScript در جی تی متریکس


yasweb

پست های پیشنهاد شده

سلام دوستان.
بنده روی سرعت سایتم خیلی کار کردم و طبق استانداردهای جی تی متریکس و گوگل دولپور، سعی کردم تا تعداد Requests ، Total Page Size و  Fully Loaded Time رو کاهش بدم. و تا حدود زیادی هم در این امر موفق بودم.
اما مشکلی که نمیدونم چطور باید حلش کنم اینه که در قسمت Defer parsing of JavaScript با سه پیام خطا مواجه شدم! (طبق تصویری که مشاهده میکنید) و به احتمال زیاد همین سه مورد روی Fully Loaded Time تاثیر گذاشته.

 

2020-07-22_174840.thumb.png.2f1ee4f7e410a2522ee7b6c8871e1b77.png

 

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

لینک به ارسال

سلام کد زیر رو به functions.php اضافه کنید

function defer_parsing_of_js ( $url ) {
  if ( FALSE === strpos( $url, '.js' ) ) return $url;
  if ( strpos( $url, 'jquery.js' ) ) return $url;
  return "$url' defer ";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );

 

 

  • پسندیدن 1
لینک به ارسال
در 1 ساعت قبل، yasweb گفته است :

سپاس دوست عزیز.

کدی که ارسال کردید رو به فانکشن اضافه کردم، اما همچنان اون مشکل پا برجاست!

البته از پلاگین Autoptimize برای بهینه سازی کد Javascript و Css استفاده میکنم.

میتونید از این افزونه ها استفاده کنید

https://wordpress.org/plugins/async-javascript/
https://wordpress.org/plugins/litespeed-cache/
https://wordpress.org/plugins/autoptimize/
https://wordpress.org/plugins/speed-booster-pack/
https://wordpress.org/plugins/wp-deferred-javascripts/

 

  • پسندیدن 2
لینک به ارسال
در 9 ساعت قبل، yasweb گفته است :

دوست عزیز.

عرض کردم ، از این افزونه استفاده میکنم در حال حاضر.


https://wordpress.org/plugins/autoptimize/

سلام، تاجایی که می‌دونم و توی سایت خودم چک کردم، اگر قالبتون استاندارد باشه، اتواوپتیمایز خودش جاوا اسکریپت رو میاره توی فوتر، توی تنظیماتش قسمت Javascript چک کنید که گزینه‌ی "بارگذاری Javascript در تگ <head>؟" رو فعال نکرده باشید.

  • پسندیدن 2
لینک به ارسال
  • 2 هفته بعد...
در در ۱۳۹۹/۵/۲ در 09:08، فرشاد گوهری گفته است :

سلام، تاجایی که می‌دونم و توی سایت خودم چک کردم، اگر قالبتون استاندارد باشه، اتواوپتیمایز خودش جاوا اسکریپت رو میاره توی فوتر، توی تنظیماتش قسمت Javascript چک کنید که گزینه‌ی "بارگذاری Javascript در تگ <head>؟" رو فعال نکرده باشید.

سلام دوست عزیز.

تیک "بارگذاری Javascript در تگ <head> فعال نیست!

 

لینک به ارسال
در 10 ساعت قبل، yasweb گفته است :

سلام دوست عزیز.

تیک "بارگذاری Javascript در تگ <head> فعال نیست!

پس ممکنه نحوه‌ی آدرس‌دهی اسکریپت‌ها در قالبتون طبق استانداردهای وردپرس نبوده که این پلاگین حلش نکرده، برای تست یکی دیگه از پلاگین‌هایی که @asadiy4n معرفی کردن رو امتحان کنید ببینید اون‌ها مشکل رو حل نمی‌کنه؟ مثلا پلاگین اولی و آخری دقیقا برای همین کار ساخته شدن و شاید جواب بده.

  • پسندیدن 2
لینک به ارسال
در در ۱۳۹۹/۵/۱ در 19:46، asadiy4n گفته است :

سلام کد زیر رو به functions.php اضافه کنید


function defer_parsing_of_js ( $url ) {
  if ( FALSE === strpos( $url, '.js' ) ) return $url;
  if ( strpos( $url, 'jquery.js' ) ) return $url;
  return "$url' defer ";
}
add_filter( 'clean_url', 'defer_parsing_of_js', 11, 1 );

 

 

فیلتر clean_url خیلی وقته که از رده خارج شده:

https://developer.wordpress.org/reference/functions/clean_url/

 

در در ۱۳۹۹/۵/۱۳ در 02:28، yasweb گفته است :

سلام دوست عزیز.

تیک "بارگذاری Javascript در تگ <head> فعال نیست!

 

این کد رو استفاده کنید:
 

add_filter( 'script_loader_tag', 'ywp_defer_parsing_of_js', PHP_INT_MAX );
function ywp_defer_parsing_of_js( $url ) {
    if ( is_user_logged_in() ) {
        return $url;
    }

    if ( FALSE === strpos( $url, '.js' ) ) {
        return $url;
    }

    if ( strpos( $url, 'jquery.js' ) ) {
        return $url;
    }

    return str_replace( ' src', ' defer src', $url );
}

اگه قالبتون استاندارد باشه با این کد حل میشه. سلامت و موفق باشید

  • پسندیدن 2
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...