أداء JavaScript من جهة خارجية

تعرَّف على كيفية تأثير JavaScript للجهات الخارجية في الأداء وما يمكنك فعله لمنعها من إبطاء موقعك الإلكتروني.

تشير عادةً لغة JavaScript التابعة لجهة خارجية إلى النصوص البرمجية المضمّنة في موقعك الإلكتروني والتي تكون:

  • لم تؤلِّفها
  • يتم عرضه من خوادم تابعة لجهات خارجية

تستخدم المواقع الإلكترونية هذه النصوص البرمجية لأغراض مختلفة، بما في ذلك:

  • أزرار المشاركة على وسائل التواصل الاجتماعي
  • تضمينات مشغّل الفيديو
  • خدمات المحادثة
  • إطارات iframe الإعلانية
  • النصوص البرمجية للإحصاءات والمقاييس
  • النصوص البرمجية لاختبار A/B في التجارب
  • المكتبات المساعدة (مثل تنسيق التاريخ والرسوم المتحركة والمكتبات الوظيفية)

يمكن أن توفر النصوص البرمجية التابعة لجهات خارجية وظائف قوية، ولكن هذا ليس الأمر برمته. وتؤثِّر هذه المشاكل أيضًا في الخصوصية والأمان وسلوك الصفحة، وقد تُسبّب مشاكل بشكل خاص في الأداء.

عروض أداء

يمكن أن يؤدي استخدام مقدار كبير من JavaScript إلى إبطاء الأداء. ولكن بما أنّ ملفات JavaScript التابعة لجهة خارجية عادةً ما تكون خارجة عن سيطرتك، قد تتسبب في حدوث مشاكل إضافية.

الشبكة

يستغرق إعداد الاتصالات وقتًا، ويتسبب إرسال عدد كبير جدًا من الطلبات إلى خوادم متعددة في حدوث بطء في الأداء. ويستغرق ذلك وقتًا أطول للاتصالات الآمنة، والتي قد تتضمّن عمليات بحث نظام أسماء النطاقات وعمليات إعادة التوجيه والعديد من الزيارات ذهابًا وإيابًا إلى الخادم النهائي الذي يعالج طلب المستخدم.

غالبًا ما تضيف النصوص البرمجية التابعة لجهات خارجية إلى حمل الشبكة مع أشياء مثل:

  • تنشيط طلبات الشبكة الإضافية
  • سحب الصور والفيديوهات غير المحسّنة
  • تخزين HTTP غير كافٍ، مما يؤدي إلى فرض الجلب المتكرر لموارد الشبكة.
  • ضغط الخادم غير كافٍ للموارد
  • النُسخ المتعدّدة من أطر العمل والمكتبات التي يتم جلبها من خلال تضمينات مختلفة تابعة لجهات خارجية

العرض

إن طريقة تحميل JavaScript للجهات الخارجية مهمة جدًا. وإذا تم إجراء ذلك بشكل متزامن في مسار العرض الحرج، سيؤدي ذلك إلى تأخير تحليل بقية المستند.

إذا واجه طرف ثالث مشاكل في الخادم وتعذّر على تسليم المورد، يتم حظر العرض إلى أن تنتهي مهلة الطلب، والتي يمكن أن تتراوح مدتها بين 10 ثوانٍ و80 ثانية. يمكنك اختبار هذه المشكلة ومحاكاةها باستخدام اختبارات نقطة واحدة من نقطة الفشل WebPageTest.

الإجراءات المطلوبة بشأن ذلك

غالبًا ما يكون استخدام JavaScript من جهة خارجية أمرًا لا مفر منه، ولكن هناك بعض الإجراءات التي يمكنك اتّخاذها لتقليل التأثيرات السلبية:

  • عند اختيار موارد تابعة لجهات خارجية، من الأفضل استخدام الموارد التي ترسل أقل قدر من الرموز البرمجية مع الاستمرار في توفير الوظائف التي تحتاجها.
  • استخدِم ميزانيات الأداء للمحتوى التابع لجهة خارجية من أجل تحديد تكلفته.
  • لا تستخدم الوظيفة نفسها من موردين مختلفين. لن تحتاج على الأرجح إلى اثنين من مدراء العلامات أو منصتين للإحصاءات.
  • راجع النصوص البرمجية المتكررة التابعة لجهات خارجية وأزلها بشكل روتيني.

للتعرّف على كيفية تدقيق المحتوى التابع لجهات خارجية وتحميله بكفاءة لتحسين الأداء وتجربة المستخدم، يمكنك الاطّلاع على المشاركات الأخرى في القسم تحسين الموارد التابعة لجهات خارجية.