במאמר הזה מוסבר איך קוד JavaScript של צד שלישי יכול להשפיע על הביצועים, ומה אפשר לעשות כדי למנוע ממנו להאט את האתר שלכם.
בדרך כלל, JavaScript של צד שלישי מתייחס לסקריפטים שמוטמעים באתר שלכם, כאשר:
- לא כתבת
- מוצג משרתים של צד שלישי
אתרים משתמשים בסקריפטים האלה למטרות שונות, כולל:
- לחצני שיתוף ברשתות חברתיות
- הטמעות של נגן וידאו
- שירותי צ'אט
- מסגרות iframe לפרסום
- סקריפטים של Analytics ושל מדדים
- סקריפטים של בדיקת A/B לניסויים
- ספריות מסייעות (כמו עיצוב תאריך, אנימציה וספריות פונקציונליות)
סקריפטים של צד שלישי יכולים לספק פונקציונליות עוצמתית, אבל זה לא כל הסיפור. הן משפיעות גם על הפרטיות, האבטחה והתנהגות הדפים, והן עלולות להיות בעייתיות במיוחד מבחינת הביצועים.
ביצועים
כל כמות משמעותית של JavaScript עלולה להאט את הביצועים. עם זאת, מאחר ש-JavaScript של צד שלישי בדרך כלל לא בשליטתכם, הוא עלול לגרום לבעיות נוספות.
רשת
הגדרת חיבורים נמשכת זמן, ושליחה של יותר מדי בקשות לשרתים מרובים גורמת להאטות. פרק הזמן הזה ארוך עוד יותר בחיבורים מאובטחים, שעשויים לכלול חיפושי DNS, הפניות אוטומטיות ומספר בקשות חוזרות לשרת הסופי שמטפל בבקשת המשתמש.
סקריפטים של צד שלישי מוסיפים בדרך כלל לתקורה של הרשת דברים כמו:
- הפעלת בקשות רשת נוספות
- איסוף תמונות וסרטונים שלא עברו אופטימיזציה
- אין מספיק שמירת HTTP במטמון, ולכן אילוץ אחזור תכוף של משאבי רשת
- אין מספיק דחיסת שרת של משאבים
- מספר מופעים של frameworks וספריות שנמשכות על ידי הטמעות שונות של צד שלישי
רינדור
יש חשיבות רבה לטעינה של JavaScript של צד שלישי. אם הפעולה מתבצעת באופן סינכרוני בנתיב העיבוד הקריטי, היא תשהה את הניתוח של שאר המסמך.
אם בצד שלישי יש בעיות בשרת והוא לא מצליח להעביר משאב, העיבוד ייחסם עד לסיום הזמן הקצוב לתפוגה של הבקשה. משך הזמן יכול להיות בין 10 ל-80 שניות. אפשר לבדוק ולדמות את הבעיה הזו באמצעות בדיקות WebPageTest של נקודת כשל בודדת.
מה צריך לעשות
השימוש ב-JavaScript של צד שלישי הוא בדרך כלל בלתי נמנע, אבל יש כמה דברים שאפשר לעשות כדי למזער את ההשפעות הנלוות:
- כשבוחרים משאבים של צד שלישי, כדאי להעדיף את אלה ששולחים את כמות הקוד הקטנה ביותר ועדיין לתת לכם את הפונקציונליות הנחוצה.
- כדי לבדוק את העלויות של תכנים של צד שלישי, כדאי להשתמש בתקציבי ביצועים.
- אל תשתמשו באותה פונקציונליות משני ספקים שונים. סביר להניח שלא תצטרכו שני Tag Manager או שתי פלטפורמות לניתוח נתונים.
- בצע ביקורת סדירה ונקה סקריפטים מיותרים של צד שלישי.
כדי ללמוד איך לבדוק תוכן של צד שלישי ולטעון אותו בצורה יעילה, יש לשפר את הביצועים ואת חוויית המשתמש גם בפוסטים האחרים בקטע אופטימיזציה של משאבים של צד שלישי.