قسمت 19 - Javascript is blame!

سر فصل ها
جاوا اسکریپت مقصر است!
جاوا اسکریپت یکی از بخشهای جدانشدنی از سایت است و هر سایتی برای آن که بتواند تکمیل باشد، نیاز به جاوا اسکریپت دارد! در واقع جاوا اسکریپت یکی از زبانهای برنامه نویسی وب است که با استفاده از آن میتوانید یک سایت حرفهای و کامل در اختیار داشته باشید. هنگامی که سایت خود را توسط جیتیمتریکس بررسی میکنید، اگر به درستی از جاوا اسکریپت استفاده نکرده باشید ممکن است با خطاهای مختلفی روبرو شوید که دلیل بهینه نبودن سایت شما را جاوا اسکریپت و عدم استفاده درست از آن نمایش میدهد! در این مقاله میخواهیم ببینیم که چرا جاوا اسکریپت مقصر است و چگونه میتوانیم این مورد را رفع کنیم. دو خطای مهم در این زمینه وجود دارند که در این مقاله بررسی میکنیم! پس اگر با مشکل مقصر بودن جاوا اسکریپت روبرو هستید، در این مقاله ما را همراهی کنید.
آموزش ابزار جی تی متریکس (GTmetrix)
دلیل مقصر بودن جاوا اسکریپت چیست؟
پیش از آن که بخواهیم به سراغ خطاها و پارامترهای مربوط به جاوا اسکریپ برویم، ابتدا باید ببینیم که چرا جاوا اسکریپت مقصر است! در حقیقت جاوا اسکریپت یکی از کدهای جدانشدنی از هر سایتی است که بدون آن نمیتوان یک سایت را طراحی و کدنویسی کرد. جمله معروفی در مورد جاوا اسکریپت به کار رفته در سایتها وجود دارد که میگوید؛ جاوا اسکریپت مقصر است! اما چرا چنین جملهای به کار میرود؟ جاوا اسکپریت یکی از زبانهایی است که دائماً در حال بروزرسانی است و اگر کدنویس آن دانش بهروز نداشته باشد، با خطاهای مختلفی روبرو میشود و باعث میشود که یک سایت بهینه نداشته باشید. پس جاوا اسکریپت به خودیِ خود مقصر نیست، بلکه گاهی اوقات ما به غلط از آن استفاده میکنیم!
به عنوان مثال ممکن است از کدهای قدیمی جاوا اسکریپت استفاده کرده باشیم که این مسئله باعث خطا میشود. دلیل آن هم این است که مرورگرها هم با بروزرسانی کدها، بروز میشوند و در صورت استفاده از کدهای قدیمی، بارگذاری سایت با مشکل روبرو میشود. بنابراین جاوا اسکریپت مقصر نیست، بلکه کدنویس آن مقصر است که دانش بروزی ندارد. بنابراین باید به یاد داشته باشید که رفع خطاهای جاوا اسکریپت و پارامترهای مربوط به آن، باید بر اساس بروزترین دانش کدنویسی انجام شود تا بهترین نتیجه را بگیرید.
بخش ساختار (Structure) در جیتیمتریکس
هنگامی که سایت خود را در جیتیمتریکس آنالیز میکنید، بخشی وجود دارد که ساختار سایت شما را نشان میدهد! در واقع این بخش تمام بخشهای سایت شما را بر اساس فاکتورهای مهمی که روی بهینه بودن سایت تاثیرگذار هستند، بررسی میکند و هر بخشی که ایراد داشته باشد را به شما میگوید. ساختار سایت تاثیر بسیار مهمی روی تجربه کاربری دارد و هنگام بازدید کاربران اگر ساختار سایت بهینه نباشد، کاربر نمیتواند تجربه خوبی از بازدید سایت داشته باشد. بنابراین نباید فراموش کنید که این بخش اهمیت زیادی دارد و اگر میخواهید یک سایت بهینه داشته باشید و امتیاز کلی عملکرد شما در جیتیمتریکس بالا باشد، حتماً باید به آن توجه زیادی کنید.
همانطور که گفتیم، جاوا اسکریپت یکی از بخشهای جدانشدنی از هر سایتی است و اگر بهینه نباشد، ساختار سایت را هم از حالت بهینه خارج میکند! اگر وارد بخش Structure در هنگام آنالیز سایت در جیتیمتریکس بروید، پارامترهای مختلفی وجود دارد که هر یک از آنها به اندازه زیادی ارزشمند و مهم هستند. اما در این میان دو پارامتر بسیار مهم وجود دارد که اگر به خوبی رعایت نشده باشد، ممکن است باعث میشود که تا جاوا اسکریپت مقصر باشد و سایت شما را از حالت بهینه خارج کند. در ادامه به بررسی این دو پارامتر مهم میپردازیم و روشهای رفع آنها را هم بررسی میکنیم تا بتوانید یک سایت حرفهای و بهینه داشته باشید.
· پارامتر Avoid serving legacy JavaScript to modern browsers
اولین پارامتری که مربوط به جاوا اسکریپت است و لازم است تا آن را بهینهسازی کنید، این پارامتر است! در واقع پارامتر Avoid serving legacy JavaScript to modern browsers به ما میگوید که نباید از جاوا اسکریپتهای نسل قدیم استفاده کنیم. دلیل آن هم این است که مرورگرها همیشه در حال بروزرسانی هستند و یکی از دلایل بروزرسانی آنها، بروز شدن و آپدیت کدها است که از نسلی به نسل دیگر منتقل میشود. یکی از مشکلاتی که سایتهای اختصاصی با آن روبرو هستند، این است که به دلایل مختلف نظیر هزینه سنگین، از بروزرسانی کدهای سایت خود جلوگیری میکنند و همین مسئله موجب میشود که سایت آنها روز به روز قدیمیتر شود. تا جایی که برخی سایتها توسط مرورگرهای جدید خوانده نمیشود و همین مسئله منجر به از بین رفتن سایت شما میشود.
جاوا اسکریپت برخی استانداردهای خاص خود را دارد که تحت عنوان ES شناخته میشود و اگر نتوانید سایت خود را بر اساس این استانداردها جلو ببرید، سایت شما پس از چند سال بلا استفاده میشود و کاربران از آن استفاده نمیکنند. در حال حاضر استاندارد ES6 وجود دارد که به ما میگوید، در حال حاضر بسیاری از مرورگرها به برخی کدهای جاوا اسکریپت نیازی ندارند و استفاده از آنها تنها حجم سایت را زیاد میکند. در واقع این کد به صورت خودکار هندل میشوند و نیازی نیست که شما آن را در کدهای سایت خود بیاورید. در حال حاضر لایت هاوس گوگل استفاده از برخی کدهای و کتابخانه جاوا اسکریپت را بدون استفاده نشان میدهد و در جیتیمتریکس این موارد را به شما نشان میدهد تا آنها را حذف کنید.
البته گاهی اوقات هنگامی که جاوا اسکریپت از سرور دیگری بارگذاری میشود، جیتیمتریکس میگوید که باید حذف کنید اما نیازی به توجه به آن نیست! به عنوان مثال ممکن است شما کد جاوا اسکریپت گوگل آنالیتیکس را در سایت خود قرار داده باشید و هنگام آنالیز سایت، با این پیغام مواجه شوید که بهتر است آن را حذف کنید. نیازی به حذف آن نیست و به راحتی میتوانید از آن استفاده کنید. درست است که تاثیر منفی روی سرعت سایت شما دارد، اما با توجه به نیاز ضروری هر سایت به گوگل آنالیتیکس حذف آن منطقی نیست و نیازی به اهمیت دادن به آن نیست. بنابراین بهتر است کدهای جاوا اسکریپت را بر اساس استانداردهای جدید که در حال حاضر ES6 استفاده کنید و استفاده از ES5 یا نسل قدیمیتر را فراموش کنید.
· پارامتر Avoid document.write()
یکی دیگر از پارامترهای بسیار مهمی که روی بهینه بودن سایت شما تاثیر بسیار زیادی دارد، پارامتر Avoid document.write() است. بر اساس گفته جیتیمتریکس نیازی به استفاده از این پارامتر در هیچ کجای سایت نیست؛ اما چه دلیلی برای استفاده از نکردن از آن وجود دارد؟ دلیل آن این است که لایت هاوس گوگل به ما گفته است که اگر شما از document.write استفاده کنید، علاوه بر اینکه میتواند باعث افزایش CLS شود، میتوان باعث بروز مشکلات زیر هم شود:
اگر سرعت اینترنت کاربران کم باشد و از 2G یا 3G استفاده کنند، معمولاً مرورگر به صورت خودکار document.write را اجرا نمیکند. از طرف دیگر اگر شما اسکریپت دیگری در سایت داشته باشید که رندر شدن آن را بلاک کرده باشید، این مسئله باعث حذف document.write میشود. بنابراین در بسیاری از مواقع document.write توسط مرورگر خوانده نمیشود و اجرای آن از فرآیند بارگذاری حذف میشود! بنابراین بهتر است document.write را استفاده نکنید تا یک سایت بهینهتر داشته باشید و نتیجه بهتری از آن بگیرید. اگر شما به دلایل خاص خود نیاز به استفاده از document.write داشتید، بهتر است آن را آخر از همه بارگذاری کنید تا با مشکل خاصی روبرو نشوید. بنابراین این پارامتر بسیار مهم است و اگر میخواهید امتیاز خوبی از سایت جیتیمتریکس دریافت کنید، بهتر است از document.write استفاده نکنید.
نتیجهگیری
یکی از مسائل بسیار مهمی که روی بهینهسازی سایت شما تاثیر زیادی دارد، کدهای جاوا اسکریپت هستند! در واقع اگر کدهای جاوا اسکریپت سایت شما بهینه نباشند یا از قوانین قدیمی آن استفاده کرده باشید، هرگز نمیتوانید یک سایت بهینه داشته باشید. دو پارامتر بسیار مهم برای بهینهسازی کدهای جاوا اسکریپت سایت وجود دارند که با استفاده از آن میتوانید سایت خود را بهینهسازی کنید! در این مقاله به بررسی این دو پارامتر و اهمیت آن در امتیازدهی جیتیمتریکس پرداختیم که امیدواریم توانسته باشیم مفهوم آن را به خوبی برای شما بیان کرده باشیم. میتوانید با مراجعه به بخش آموزش جی تی متریکس، با دیگر مفاهیم در جی تی متریکس آشنا شوید و سرعت سایت تان را بهبود دهید. همچنین اگر سوالی دارید، میتوانید از طریق بخش نظرات مطرح کنید تا شما را به صورت کامل راهنمایی کنیم.