تعرَّف على كيفية تأثير رموز JavaScript التابعة لجهات خارجية في الأداء وما يمكنك فعله لمنع إبطاء مواقعك الإلكترونية.
تشير JavaScript التابعة لجهة خارجية بشكل عام إلى النصوص البرمجية المضمّنة في موقعك الإلكتروني والتي:
- غير من تأليفك
- يتم عرضها من خوادم تابعة لجهات خارجية
تستخدم المواقع الإلكترونية هذه النصوص البرمجية لأغراض مختلفة، بما في ذلك:
- أزرار المشاركة على شبكات التواصل الاجتماعي
- عمليات تضمين مشغّل الفيديو
- خدمات الدردشة
- إطارات iframe للإعلانات
- نصوص "إحصاءات Google" والمقاييس البرمجية
- نصوص اختبار A/B للتجارب
- المكتبات المساعِدة (مثل تنسيق التاريخ والرسوم المتحركة والمكتبات الوظيفية)
يمكن أن توفّر النصوص البرمجية التابعة لجهات خارجية وظائف فعّالة، ولكنّ هذا ليس كلّ شيء. وتؤثّر هذه العناصر أيضًا في الخصوصية والأمان وسلوك الصفحة، وقد تتسبب في مشاكل في الأداء بشكل خاص.
الأداء
يمكن أن يؤدي استخدام أيّ كمية كبيرة من JavaScript إلى إبطاء الأداء. ولكن بما أنّ JavaScript التابع لجهة خارجية يكون عادةً خارج نطاق تحكّمك، يمكن أن يؤدي إلى حدوث مشاكل إضافية.
الشبكة
يستغرق إعداد عمليات الربط بعض الوقت، ويؤدي إرسال عدد كبير جدًا من الطلبات إلى خوادم متعددة إلى إبطاء الأداء. ويكون هذا الوقت أطول في عمليات الاتصال الآمنة، والتي قد تتضمّن عمليات بحث في نظام أسماء النطاقات وعمليات إعادة توجيه وعدة عمليات ذهاب وإياب إلى الخادم النهائي الذي يعالج طلب المستخدم.
غالبًا ما تزيد النصوص البرمجية التابعة لجهات خارجية من النفقات العامة للشبكة من خلال تنفيذ إجراءات مثل:
- إرسال طلبات إضافية للشبكة
- جلب صور وفيديوهات غير محسَّنة
- التخزين المؤقت عبر HTTP غير كافٍ، ما يفرض جلب موارد الشبكة بشكل متكرّر
- عدم كفاية ضغط الخادم للموارد
- نُسخ متعددة من أُطر العمل والمكتبات التي تم جلبها من خلال عمليات تضمين مختلفة تابعة لجهات خارجية
العرض
إنّ طريقة تحميل JavaScript التابعة لجهة خارجية مهمّة جدًا. وإذا تم ذلك بشكل متزامن في مسار العرض الحرج، سيؤدّي ذلك إلى تأخير تحليل بقية المستند.
إذا واجهت جهة خارجية مشاكل في الخادم وتعذّر عليها إرسال مورد، يتم حظر العرض إلى أن يتم انتهاء مهلة الطلب، والتي يمكن أن تتراوح بين 10 و80 ثانية. يمكنك اختبار هذه المشكلة ومحاكاة حدوثها باستخدام اختبارات نقطة الفشل الواحدة في WebPageTest.
الإجراءات التي يجب اتّخاذها
غالبًا ما يكون استخدام JavaScript التابع لجهة خارجية أمرًا لا مفر منه، ولكن هناك إجراءات يمكنك اتّخاذها للحدّ من الآثار السلبية:
- عند اختيار موارد تابعة لجهات خارجية، افضِل تلك التي تُرسِل أقل قدر من الرموز البرمجية مع توفير الوظائف التي تحتاج إليها.
- استخدِم ميزانيات الأداء للمحتوى التابع لجهات خارجية للتأكّد من أنّ تكلفته في حدود إمكانياتك.
- لا تستخدِم الوظيفة نفسها من مورّدين مختلفين. من المحتمل أنّك لا تحتاج إلى أداتَي إدارة علامات أو منصّتَي تحليلات.
- تدقيق نصوص البرمجة المكرّرة التابعة لجهات خارجية وتنظيفها بانتظام
للتعرّف على كيفية تدقيق المحتوى التابع لجهات خارجية وتحميله بكفاءة لتحسين الأداء وتجربة المستخدم، اطّلِع على المشاركات الأخرى في قسم تحسين المراجع التابعة لجهات خارجية.