العودة إلى المدونة

كيف يحافظ مُتتبِّع تحليلات بحجم 2 كيلوبايت على مؤشرات الويب الأساسية في المنطقة الخضراء

نصوص التحليلات التقليدية ثقيلة بما يكفي لخفض نتيجة Lighthouse. إليك ما يفعله المُتتبِّع خفيف الوزن بشكل مختلف — ولماذا يهم ذلك للمستخدمين الحقيقيين.

أصبحت مؤشرات الويب الأساسية (Core Web Vitals) الآن إشارة من إشارات الترتيب. ولم يعد نص التحليلات البطيء مجرد إزعاج — بل صار ضربة مباشرة لتحسين محركات البحث (SEO) ولتجربة كل زائر يستخدم اتصالاً بطيئاً. إن مفارقة قياس حركة موقعك بنص يُضعف موقعك حقيقة واقعة.

ما الذي تكلفك إياه نصوص التحليلات التقليدية

يبلغ حجم الوسم العام لموقع GA4 من Google نحو 45 كيلوبايت بعد النقل. ويجري عدة طلبات شبكية عند التحميل — إلى collect.js، وإلى بروتوكول القياس، وأحياناً إلى نصوص ميزات إضافية. وعلى جهاز محمول باتصال 4G، يعني ذلك تأخراً ملموساً قبل أن تصبح صفحتك تفاعلية.

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

كيف يُغيِّر المُتتبِّع خفيف الوزن المعادلة

مُتتبِّع Monoid أقل من 2 كيلوبايت بعد التصغير وضغط gzip. يُحمَّل بسمة async بسيطة، مما يعني أن المتصفح يُنزِّله في الخلفية دون حجب تحليل HTML أو العرض. لا يتأثر مؤشر Largest Contentful Paint لأن النص لا يقع أبداً في المسار الحرج للعرض.

عندما يُطلق حدث مشاهدة الصفحة، يرسل المُتتبِّع طلب POST واحداً إلى نقطة نهاية التجميع:

fetch('/collect', {
  method: 'POST',
  keepalive: true,
  body: JSON.stringify({ site_id, path, referrer, ... })
})

علامة keepalive: true هي التفصيل الأهم. فهي تُخبر المتصفح بإبقاء الطلب حياً حتى لو غادر المستخدم قبل اكتماله — وهي الآلية نفسها التي تستخدمها واجهة navigator.sendBeacon، لكن مع دعم كامل لـ JSON. تحصل على تسليم موثوق دون حجب التنقل.

مؤشرات الويب الأساسية الثلاثة، واحداً تلو الآخر

Largest Contentful Paint (LCP) يقيس متى يكون المحتوى الرئيسي مرئياً. نص غير متزامن لا يقع في المسار الحرج لا يؤخر LCP إطلاقاً. لا يجري المُتتبِّع أي معالجة لـ DOM ولا يُحمِّل أي صور.

Interaction to Next Paint (INP) يقيس الاستجابة لإدخال المستخدم. مُستمعو أحداث المُتتبِّع للقراءة فقط وخفيفون — مُستمع واحد لحدث popstate للتنقل في تطبيقات الصفحة الواحدة. لا مهام طويلة ولا اهتزاز في التخطيط.

Cumulative Layout Shift (CLS) يقيس الحركة غير المتوقعة في التخطيط. لا يُضيف المُتتبِّع أي عناصر إلى DOM، فيُسهم بصفر في إزاحة التخطيط.

تشغيل تدقيق Lighthouse

إن أردت قياس الفرق، شغِّل تدقيق Lighthouse على صفحة قبل وبعد إضافة المُتتبِّع. ينبغي ألا ترى تغيُّراً في نتيجة الأداء. سيظهر المُتتبِّع في شلال الشبكة كنص غير متزامن متأخر التحميل — صغير، وسريع، وخارج المسار الحرج.

قارن ذلك بتدقيق GA4، حيث يُشير Lighthouse غالباً إلى وسم التحليلات تحت "تقليل أثر الكود الخارجي" ويُبلغ عن مساهمته في وقت حجب الخيط.

الأداء حجة تتعلق بالخصوصية أيضاً

ثمة صلة بين وزن النص والخصوصية تستحق القول بوضوح: نصوص التحليلات الثقيلة ثقيلة لأنها تفعل أكثر. مزيد من التتبع، ومزيد من تحديد الأجهزة، ومزيد من توصيف السلوك. المُتتبِّع البالغ 2 كيلوبايت صغير لأنه لا يجمع إلا ما يحتاجه — حفنة من الإشارات غير الشخصية لكل مشاهدة صفحة. تُستنبط عائلة المتصفح العامة ونوع الجهاز من جهة الخادم من رأس User-Agent الخاص بالطلب، بينما لا تُخزَّن سلاسل User-Agent الكاملة، ولا إصدارات المتصفح، ولا الكوكيز، ولا المُعرِّفات الدائمة، ولا بصمات الأجهزة أبداً.

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