sir1 512 ارسال شده در اسفند 96 گزارش بازنشر ارسال شده در اسفند 96 سلام در ابزار PageSpeed گوگل وقتی سایت را چک کردم حدود 23 ادرس js و 19 css در حالت مبایل برای ربات گوگل بلاک شده بود.که در لینک زیر می توانید مشاهده کنید. https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Facgih.ir%2F&tab=mobile این مشکل تنها برای مبایل است و برای دسکتاب هیچ مشکلی وجود نداره. در فایل robots.txt هیچ محدودیتی برای ربات گوگل در مسیر wp-content ایجاد نکردم. نقل قول لینک به ارسال
مهدی 1668 ارسال شده در اسفند 96 گزارش بازنشر ارسال شده در اسفند 96 سلام منظور از بلاک، اون بلاکی که شما فکر میکنید نیست منظور از بلاک جلوگیری از لود کامل html هست یعنی مرورگر به طور پیشفرض وقتی به فایلهای css و js میرسه اول کامل اونها رو لود میکنه بعد میره سراغ باقی محتوای html برای برطرف شدن مشکل میتونید فایلها js که در هدر هست به فوتر اضافه کنید و فایلها css رو هم یکی کنید برای این کار میتونید از افزونه زیر استفاده کنید https://wordpress.org/plugins/autoptimize/ پیشنهاد خود گوگل این هست که شما بیاید برای فایلها js از روش لود غیریکسان استفاده کنید یعنی در کنار لود html فایلها js هم به طور همزمان لود بشن، البته این کار در کنار مزایایی که داره میتونه باعث مشکل هم بشه برای این کار میتونید تگ async رو به صورت زیر به کدهای js تون اضافه کنید <script async src="my.js"> برای اینکه بتونید این تگ رو به همه فایلها js در قالب اضافه کنید، میتونید از روش زیر استفاده کنید /* Add async Attributes to Enqueue Scripts where Needed. =========================================================================== */ function itl_script_tag_async( $tag, $handle ) { if ( is_admin() ) { return $tag; } if ( strpos( $tag, '/wp-includes/js/jquery/jquery' ) ) { return $tag; } return str_replace( ' src', ' async src', $tag ); } add_filter( 'script_loader_tag', 'itl_script_tag_async', 10, 2 ); در کنار تگ async یه تگ دیگه هم وجود داره به نام defer تفاوتشون رو میتونید در تصاویز زیر ببینید وقتی از تگ async استفاده بشه: در این حالت فایل js همزمان با html از سمت سرور در حال دریافت هستند، بعد از تمام شدن دانلود js، دریافت html متوقف میشه و js اجرا میشه و در ادامه دوباره html دریافت میشه وقتی از تگ defer استفاده بشه: در این حالت فایل js همزمان با html فراخوانی میشه اما وقتی html کاملا دریافت شد js اجرا میشه افزونه زیر تقریبا این موارد رو براتون انجام میده https://wordpress.org/plugins/async-javascript/ نسخه پولیش هم با افزونه autoptimize هماهنگ هست منابع: https://developers.google.com/speed/docs/insights/BlockingJS http://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html http://scottnelle.com/756/async-defer-enqueued-wordpress-scripts/ 3 نقل قول لینک به ارسال
sir1 512 ارسال شده در اسفند 96 مالک گزارش بازنشر ارسال شده در اسفند 96 ممنون از توضیحات خوبتون. افزونه autoptimize استفاده کردم اکثر اخطاهای مربوط به blocking درست شد فقط دو مورد زیر هنوز وجود داره که رفع نمیشه https://acgih.ir/wp-includes/js/jquery/jquery.js https://acgih.ir/…tic/layerslider/skins/fullwidth/skin.css نقل قول لینک به ارسال
مهدی 1668 ارسال شده در اسفند 96 گزارش بازنشر ارسال شده در اسفند 96 وردپرس پیشفرض jquery رو اول از همه لود میکنه اگر هم بخواید این فایل رو به فوتر ببرید احتمالا قالب مشکل پیدا میکنه در مورد css هم خیلی مهم نیست چون حجم فایلها خیلی زیاد نیستند که مشکلی برای سرعت لود ایجاد کنند 2 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .