یکی از خطاهای رایجی که هنگام تست سرعت سایت با GTmetrix بهش بر میخوریم با عنوان Defer parsing of JavaScript و Prefer asynchronous resources به ما نمایش داده میشه که هر دو مربوط به فایلهای جاوا اسکریپت هست و برای حل هر دو خطای Prefer asynchronous resources و خطای Defer parsing of JavaScript در جی تی متریکس راهکار یکسانی وجود داره. وقتی با این دو ارور در جی تی متریکس مواجه میشید به این معنی هست که فایلهای JS در سایت شما به صورت بهینه استفاده نشده و باعث شده که مدت زمان لود سایت بیشتر از حالت عادی باشه. منظور از بهینه سازی این هست که فایلها در جایی شروع به لود شدن میکنند که باعث میشه مدت زمان لود صفحه بالا بره، در صورتی که اگه فایلها رو بزاریم برای مراحل آخر و در فوتر اجراشون کنیم روی لود سایت تاثیر بدی نمیزارن.
در این آموزش از پایگاه دانش میزبانفا قصد دارم به نحوه برطرف کردن خطای Prefer asynchronous resources و خطای Defer parsing of JavaScript در جی تی متریکس بپردازم که اگه با این دو خطا مواجه شده باشید به راحتی میتونید با راهکارهای معرفی شده برطرف کنید.
آموزش رفع خطای Defer parsing of JavaScript در GTmetrix
همونطور که میدونید در تمامی سایتها از فایلهای جاوا اسکریپت برای اجرای برخی کارها در مرورگر استفاده میشه و این فایلها هم معمولا نسبت به سایر فایلهایی که به صورت کدنویسی شده هستند حجم بیشتری دارند. مرورگر برای اینکه بتونه این فایلها رو اجرا بکنه باید منتظر بمونه تا اول این فایلها اجرا بشن و بعدش متناسب با همین محتوای سایت رو هم به مرور لود کرده و نمایش بده. مشکل درست در این زمان پیش میاد که بخاطر قرار گرفتن این فایلها در Header باعث میشه که مرورگر ابتدا شروع به دانلود و پردازش این فایلها بکنه و بعدش با رفتن به خطوط بعدی سایر قسمتهای یک سایت رو که شامل محتوای اون هست نمایش بده. برای همین تا زمانی که فایلهای JS لود بشن مرورگر همچنان در حال لود صفحه است و همین موضوع باعث میشه کاربران فکر کنند این سایت با کندی کار میکنه.
برای همین بهترین راهکاری که برای حل این مشکل وجود داره این هست که فایلهای JS رو بیایم و در فوتر سایت اجرا کنیم. در این حالت ابتدا مرورگر میاد و صفحه رو به صورت کامل به کاربر نشون میده و وقتی به بخش کدهای جاوا اسکریپت که حالا در فوتر قرار گرفته رسید، متناسب با دستورت برنامه نویسی که این فایلها دارند سایر بخشهای سایت رو هم نشون میده. طی یک آزمایشی که گوگل در سال 2011 انجام داده برای لود هر 1 کیلوبایت از یک فایل جاوا اسکریپت به طور میانگین 1 میلی ثانیه زمان لازمه تا هم لود بشه و هم خونده بشه. برای همین اگر مجموع فایلهای جاوا اسکریپت روی 100 کیلوبایت قرار داشته باشند(که قطعا بیشتر از این میتونه باشه) مدت زمان 200 میلی ثانیه صرف میشه که شاید به صورت عددی زیاد به نظر نیاد، اما رو سرعت لود سایت تاثیر زیادی میزاره.
رفع ارور Prefer asynchronous resources و Defer parsing of JavaScript
هر دو این خطاها با استفاده از راهکارهای مشترکی قابل حل شدن هستند و اگه یکی از این خطاها رو برطرف کنید به صورت خودکار اونیکی هم رفع خواهد شد که در ادامه به معرفی چند روش برای این کار میپردازم.
1. قرار دادن فایلهای JS در فوتر
اگر سایت شما به صورت HTML طراحی شده میتونید با انتقال کدهایی که مربوط به لود فایل جاوا اسکریپت هستند در فوتر سایت کاری کنید که این فایلها در آخرین مرحله از لود یک صفحه شروع به لود شدن و پردازش در مرورگر بکنند. برای همین از قرار دادن این کدها در بخش head جلوگیری کنید. برای انجام این کار کافیه کدهای JS که با تگ
امیدوارم این آموزش هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده از اون تونسته باشید نسبت به رفع خطای Defer parsing of JavaScript در GTmetrix اقدام کنید. در صورتی که در رابطه با این آموزش سوال یا مشکلی داشتید در بخش دیدگاهها اعلام کنید تا در کوتاهترین زمان ممکن پاسخگوی شما باشم.
بدون دیدگاه