ביצועי JavaScript של צד שלישי

כאן מוסבר איך JavaScript של צד שלישי יכול להשפיע על הביצועים, ומה אפשר לעשות כדי למנוע ממנו להאט את האתרים.

JavaScript של צד שלישי מתייחס בדרך כלל לסקריפטים שמוטמעים באתר שלכם, והם:

  • לא יצרתם את התוכן
  • מודעות שמוצגות משרתים של צד שלישי

אתרים משתמשים בסקריפטים האלה למטרות שונות, כולל:

  • כפתורי שיתוף ברשתות חברתיות
  • הטמעת נגני וידאו
  • שירותי צ'אט
  • מסגרות iframe לפרסום
  • סקריפטים של Analytics ומדדים
  • סקריפטים לבדיקת A/B לניסויים
  • ספריות עזר (כמו ספריות לפורמט תאריכים, אנימציה ופונקציונליות)

סקריפטים של צד שלישי יכולים לספק פונקציונליות חזקה, אבל זו לא כל הסיפור. הן משפיעות גם על הפרטיות, האבטחה וההתנהגות של הדף, ויכולות להפריע במיוחד לביצועים.

ביצועים

כל כמות משמעותית של JavaScript עלולה להאט את הביצועים. עם זאת, מאחר שקוד JavaScript של צד שלישי בדרך כלל לא בשליטתכם, הוא עלול לגרום לבעיות נוספות.

רשת

הגדרת החיבורים אורכת זמן, ושליחת יותר מדי בקשות לכמה שרתים גורמת להאטה. הזמן הזה ארוך יותר בחיבורים מאובטחים, שעשויים לכלול חיפושים ב-DNS, הפניות אוטומטיות וכמה נסיעות הלוך ושוב לשרת הסופי שמטפל בבקשה של המשתמש.

סקריפטים של צד שלישי מוסיפים לעומס הרשת, למשל:

  • שליחת בקשות רשת נוספות
  • הטמעת תמונות וסרטונים ללא אופטימיזציה
  • אחסון לא מספיק במטמון HTTP, שגורם לשליפת משאבי רשת בתדירות גבוהה
  • דחיסת משאבים לא מספקת בשרת
  • מספר מופעים של מסגרות וספריות שצורפו על ידי הטמעות שונות של צד שלישי

רינדור

האופן שבו JavaScript של צד שלישי נטען חשוב מאוד. אם הפעולה מתבצעת באופן סינכרוני בנתיב העיקרי לעיבוד, היא מעכבת את ניתוח שאר המסמך.

אם לצד שלישי יש בעיות בשרת והוא לא מצליח לספק משאב, העיבוד מושהה עד שהבקשה תסתיים בתום הזמן הקצוב, שיכול לנוע בין 10 ל-80 שניות. אפשר לבדוק ולבצע סימולציה של הבעיה הזו באמצעות הבדיקות של נקודת כשל יחידה (SPOF) ב-WebPageTest.

מה עושים במקרה כזה

בדרך כלל אי אפשר להימנע משימוש ב-JavaScript של צד שלישי, אבל יש כמה דברים שאפשר לעשות כדי לצמצם את ההשפעות השליליות:

  • כשאתם בוחרים משאבים של צד שלישי, כדאי להעדיף את אלה ששולחים את כמות הקוד הקטנה ביותר ועדיין מספקים את הפונקציונליות שאתם צריכים.
  • מומלץ להשתמש בתקציבי ביצועים לתוכן של צד שלישי כדי לשלוט בעלויות.
  • אל תשתמשו באותה פונקציונליות משני ספקים שונים. סביר להניח שאתם לא צריכים שני מנהלי תגים או שתי פלטפורמות ניתוח נתונים.
  • בודקים באופן שוטף סקריפטים מיותרים של צד שלישי ומסירים אותם.

כדי ללמוד איך לבדוק תוכן של צד שלישי ולטעון אותו ביעילות לשיפור הביצועים וחוויית המשתמש, כדאי לעיין בפוסטים האחרים בקטע אופטימיזציה של המשאבים של צד שלישי.