تُظهر بيانات استخدام Chrome أنّ المستخدم يقضي %90 من وقته على الصفحة بعد تحميلها، لذا من المهم قياس وقت الاستجابة بعناية خلال دورة حياة الصفحة. وهذا هو ما يقيّمه مقياس INP.
تعني الاستجابة الجيدة أن الصفحة تستجيب بسرعة للتفاعلات. عندما تستجيب الصفحة لأحد التفاعلات، يقدم المتصفح ملاحظات مرئية في الإطار التالي الذي يعرضه. تُعلمك الملاحظات المرئية، على سبيل المثال، ما إذا كان يتم بالفعل إضافة عنصر تضيفه إلى سلة تسوق على الإنترنت، وما إذا كانت قد تمّت فتح قائمة تنقّل على الأجهزة الجوّالة، وما إذا كان الخادم يُجري مصادقة على محتوى نموذج تسجيل الدخول، وما إلى ذلك.
تستغرق بعض التفاعلات بشكل طبيعي وقتًا أطول من غيرها، ولكن بالنسبة للتفاعلات المعقدة بشكل خاص، من المهم تقديم بعض الملاحظات المرئية الأولية بسرعة لإخبار المستخدم بحدوث شيء ما. والإطار التالي الذي سيرسمه المتصفّح هو أقرب فرصة لإجراء ذلك.
لذلك، لا يهدف مقياس "مدى استجابة الصفحة لتفاعلات المستخدم" إلى قياس جميع التأثيرات النهائية للتفاعل، مثل عمليات جلب البيانات من الشبكة وتعديلات واجهة المستخدم من العمليات غير المتزامنة الأخرى، بل يهدف إلى قياس الوقت الذي يتم فيه حظر عملية العرض التالي. من خلال تأخير الملاحظات المرئية، قد يعتقد المستخدمون أنّ الصفحة لا تستجيب بسرعة كافية، وقد تم تطوير مقياس INP لمساعدة المطوّرين في قياس هذا الجزء من تجربة المستخدم.
في الفيديو التالي، يقدم المثال على اليمين ملاحظات مرئية فورية تفيد بفتح أكورديون. يوضّح المثال على يمين الصفحة مدى بطء الاستجابة، وكيف يمكن أن يؤدّي ذلك إلى تقديم تجارب سيئة للمستخدمين.
يشرح هذا الدليل طريقة عمل مقياس INP وكيفية قياسه ويوجّه المستخدمين إلى مراجع لتحسينه.
ما هو برنامج INP؟
إنّ INP هو مقياس يقيّم مدى استجابة الصفحة بشكل عام لتفاعلات المستخدم من خلال رصد وقت الاستجابة لجميع التفاعلات المتعلقة بالنقر وبلوحة المفاتيح التي تحدث طوال الفترة التي يزور فيها المستخدم الصفحة. تمثّل قيمة INP النهائية أطول تفاعل تم رصده، مع تجاهل القيم الشاذة.
يتم احتساب مقياس INP من خلال مراقبة جميع التفاعلات التي تم إجراؤها مع الصفحة. في معظم المواقع الإلكترونية، يتم تسجيل التفاعل الذي يتضمن أكبر وقت استجابة على أنّه INP.
ومع ذلك، بالنسبة إلى الصفحات التي تحتوي على عدد كبير من التفاعلات، يمكن أن تؤدي حالات العرقلة العشوائية إلى تفاعل في وقت استجابة سريع على نحو غير معتاد في صفحة ذات استجابة مختلفة. وكلما زاد عدد التفاعلات التي تحدث على صفحة معينة، زاد احتمال حدوث ذلك.
لتقديم قياس أفضل للاستجابة الفعلية للصفحات التي تتضمّن عددًا كبيرًا من التفاعلات، نتجاهل أعلى تفاعل واحد لكل 50 تفاعل. لا تحصل الغالبية العظمى من تجارب الصفحات على أكثر من 50 تفاعلاً، لذلك يتم غالبًا تسجيل أسوأ تفاعل. بعد ذلك، يتم تسجيل نسبة 75 في المئة من جميع مشاهدات الصفحة كالمعتاد، ما يؤدي إلى إزالة القيم الشاذّة لمنح قيمة تظهر لدى الغالبية العظمى من المستخدمين أو أفضل منها.
التفاعل هو مجموعة من معالِجات الأحداث التي يتم تنشيطها أثناء إيماءة المستخدم المنطقية نفسها. على سبيل المثال، انقر على تشمل التفاعلات على الجهاز المزوّد بشاشة تعمل باللمس أحداثًا متعدّدة، مثل pointerup
وpointerdown
وclick
. يمكن أن يكون التفاعل مستندًا إلى JavaScript أو CSS أو عناصر التحكّم المدمجة في المتصفّح (مثل عناصر النماذج) أو مزيج من هذه العناصر.
يتألّف وقت استجابة التفاعل من المدة الأطول لمجموعة من معالجات الأحداث التي تسبّب التفاعل، بدءًا من وقت بدء المستخدم التفاعل إلى اللحظة التي يتمكّن فيها المتصفّح من عرض إطار في المرة التالية.
ما هي درجة INP الجيدة؟
تثبيت تصنيفات مثل "جيدة" أو "سيئة" على مقياس الاستجابة أمرًا صعبًا. من ناحية، أنت تريد تشجيع ممارسات التطوير التي تعطي الأولوية للاستجابة الجيدة. من ناحية أخرى، يجب مراعاة حقيقة أنّ هناك تفاوتًا كبيرًا في إمكانات الأجهزة التي يستخدمها الأشخاص لوضع توقعات تطوير قابلة للتحقيق.
لضمان تقديم تجارب المستخدمين بسرعة استجابة جيدة، يُعدّ الحد الأدنى الجيد للقياس هو الشريحة المئوية الخامسة والسبعين لعمليات تحميل الصفحات المسجّلة في هذا الحقل، والمقسّمة على مستوى الأجهزة الجوّالة وأجهزة الكمبيوتر المكتبي:
- إذا كان INP أقل من 200 ملّي ثانية أو أقل، يعني ذلك أنّ الصفحة ذات استجابة جيدة.
- إذا كان مقياس INP أعلى من 200 ملي ثانية أو أقل من أو يساوي 500 ملي ثانية، يعني ذلك أنّ سرعة استجابة الصفحة بحاجة إلى تحسين.
- إذا كان مقياس INP أعلى من 500 ملي ثانية، يعني ذلك أنّ الصفحة بطيئة الاستجابة.
ماذا يحدث في التفاعل؟
غالبًا ما يكون JavaScript هو العامل الأساسي في التفاعل، على الرغم من أنّ المتصفّحات توفّر تفاعلاً من خلال عناصر التحكّم التي لا تعمل باستخدام JavaScript، مثل مربّعات الاختيار وأزرار الاختيار وعناصر التحكّم التي تعمل باستخدام CSS.
ووفقًا لأغراض مقياس INP، لا يتم رصد سوى أنواع التفاعلات التالية:
- النقر باستخدام الماوس
- النقر على جهاز بشاشة تعمل باللمس.
- الضغط على مفتاح على لوحة مفاتيح خارجية أو على الشاشة
تحدث التفاعلات في المستند الرئيسي أو في إطارات iframe المضمَّنة في المستند، على سبيل المثال، النقر على تشغيل على فيديو مضمّن. لن يكون المستخدمون النهائيون على دراية بما يتضمّنه إطار iframe أو لا، وبالتالي، يجب استخدام مقياس INP ضمن إطارات iframe لقياس تجربة المستخدم في صفحات المستوى الأعلى. بما أنّ واجهات برمجة تطبيقات JavaScript على الويب لا يمكنها الوصول إلى محتوى إطارات iframe، قد يظهر ذلك كفرق بين CrUX وRUM.
يمكن أن تتكون التفاعلات من أحداث متعددة. على سبيل المثال، تتضمّن ضغطة المفتاح الأحداث keydown
وkeypress
وkeyup
. انقر على التفاعلات التي تحتوي على حدثَي pointerup
وpointerdown
. إنّ الحدث الذي يمتلك أطول مدة ضمن التفاعل هو ما يساهم في إجمالي وقت استجابة التفاعل.
يتم احتساب مقياس INP للصفحة عندما يغادر المستخدِم الصفحة. والنتيجة هي قيمة واحدة تمثّل مدى استجابة الصفحة بشكل عام طوال دورة حياتها. يشير مستوى INP المنخفض إلى أنّ الصفحة كانت تستجيب بشكل موثوق للبيانات التي أدخلها المستخدم.
ما هو الفرق بين مقياس INP ومقياس مهلة الاستجابة لأوّل إدخال (FID)؟
مقياس INP هو المقياس اللاحق لمقياس مهلة الاستجابة الأولى (FID). على الرغم من أنّ كلا المقياسَين يقيسان مدى استجابة الصفحة، يقيس مقياس FID فقط تأخُّر الإدخال للتفاعل الأول على الصفحة. يحسّن مقياس "مدى استجابة الصفحة لتفاعلات المستخدم" (INP) من مقياس FID من خلال ملاحظة جميع التفاعلات على الصفحة، بدءًا من تأخير الإدخال، إلى الوقت الذي يستغرقه تشغيل معالِجات الأحداث، وأخيرًا إلى أن يرسم المتصفّح الإطار التالي.
تعني هذه الاختلافات أنّ كلاً من INP وFID نوعان مختلفان من مقاييس الاستجابة. عندما يكون مقياس FID مقياسًا لاستجابة التحميل ومصمّم لتقييم انطباع الصفحة الأولى لدى المستخدم، يكون INP مؤشرًا أكثر موثوقية للاستجابة العامة، بغض النظر عن الوقت الذي تحدث فيه تفاعلات الصفحة.
ماذا لو لم يتم تسجيل قيمة INP؟
من الممكن أن لا تعرض الصفحة أي قيمة INP. وقد يحدث ذلك لعدة أسباب، بما فيها ما يلي:
- تم تحميل الصفحة، ولكن لم ينقر المستخدم على أي مفتاح في لوحة المفاتيح أو يضغط عليه أو يضغط عليه مطلقًا.
- تم تحميل الصفحة، ولكن تفاعل المستخدم معها باستخدام إيماءات لا يتم قياسها، مثل الانتقال للأعلى أو للأسفل أو التمرير فوق العناصر.
- يتم الوصول إلى الصفحة من خلال برنامج آلي، مثل الزاحف في محرّك بحث أو متصفّح بدون واجهة مستخدم لم يتم إعداد نص برمجي له للتفاعل مع الصفحة.
كيفية قياس مدى استجابة الصفحة لتفاعلات المستخدم
يمكن قياس مدى استجابة الصفحة لتفاعلات المستخدم (INP) على المستويَين الميداني والمعمل إلى الحدّ الذي يمكنك فيه محاكاة تفاعلات واقعية للمستخدمين.
في الملعب
في العادة، تبدأ رحلتك في تحسين INP من خلال البيانات الميدانية. في أفضل حالاتها، لا تمنحك البيانات الميدانية من ميزة "تتبُّع سلوك المستخدم" (RUM) قيمة INP للصفحة فحسب، بل ستمنحك أيضًا بيانات سياقية تسلّط الضوء على التفاعل المحدّد المسؤول عن قيمة INP نفسها، سواء حدث التفاعل أثناء تحميل الصفحة أو بعده، ونوع التفاعل (نقر أو ضغطة مفتاح أو نقرة)، وتوقيتات قيّمة أخرى يمكن أن تساعدك في تحديد جزء التفاعل الذي كان يؤثّر في الاستجابة.
إذا كان موقعك الإلكتروني مؤهَّلاً للظهور في تقرير تجربة مستخدم Chrome (CrUX)، يمكنك الحصول بسرعة على بيانات الاستخدام الفعلي لمقياس "مدى استجابة الصفحة لتفاعلات المستخدم" من خلال CrUX في "إحصاءات PageSpeed" (ومقاييس "مؤشرات أداء الويب الأساسية" الأخرى). على الأقل، يمكنك الحصول على صورة على مستوى المصدر لبيانات INP لموقعك الإلكتروني، ولكن في بعض الحالات، يمكنك أيضًا الحصول على بيانات على مستوى عنوان URL.
ومع ذلك، يمكن لخدمة CrUX إخبارك بما إذا كانت هناك مشكلة، إلا أنّه لا يمكنها إطلاعك على سبب المشكلة. يمكن أن يساعدك حلّ RUM في اكتشاف المزيد من التفاصيل حول الصفحات أو المستخدِمين أو تفاعلات المستخدِمين التي تواجه مشاكل في الاستجابة. من خلال تحديد مصدر مقياس مدى استجابة الصفحة لتفاعلات المستخدم (INP) إلى تفاعلات فردية، يمكنك تجنُّب التخمينات والجهود غير المجدية.
في المختبر
من الأفضل أن تبدأ الاختبار في الميزات الاختبارية بعد الحصول على بيانات ميدانية تشير إلى أنّ التفاعلات مع الصفحة بطيئة. فالبيانات الميدانية ستجعل عملية إعادة إنتاج التفاعلات التي تسبب المشكلات في المختبر مهمة أسهل بكثير.
ومع ذلك، من المحتمل تمامًا عدم توفّر بيانات للحقل. على الرغم من أنّه يمكن قياس مدى استجابة الصفحة لتفاعلات المستخدم في بعض أدوات المختبر، فإنّ قيمة مدى استجابة الصفحة لتفاعلات المستخدم الناتجة أثناء الاختبار في المختبر ستعتمد على التفاعلات التي يتم إجراؤها خلال فترة القياس. يمكن أن تكون سلوكيات المستخدمين غير متوقّعة ومتغيّرة للغاية، ما يعني أنّ اختبارك في المختبر قد لا يُظهر التفاعلات التي تؤدي إلى حدوث مشاكل بالطريقة نفسها التي يمكن أن تُظهرها البيانات الميدانية. بالإضافة إلى ذلك، لن تسجِّل بعض الأدوات الاختبارية مدى استجابة الصفحة لتفاعلات المستخدم (INP) لأنّها ترصد فقط تحميل الصفحة بدون أي تفاعلات. في هذه الحالات، قد يكون إجمالي وقت الحظر (TBT) مقياسًا معقولاً بالنسبة إلى INP، ولكنه ليس بديلاً لمقياس INP في حد ذاته.
على الرغم من أنّ هناك قيودًا في أدوات المختبر عند تقييم INP للصفحة، هناك بعض الاستراتيجيات لإعادة إنتاج التفاعلات البطيئة في المختبر. تشمل الإستراتيجيات اتباع تدفقات المستخدمين الشائعة واختبار التفاعلات طوال العملية، بالإضافة إلى التفاعل مع الصفحة أثناء تحميلها - عندما تكون سلسلة المحادثات الرئيسية غالبًا أكثر انشغالاً - من أجل تحديد التفاعلات البطيئة أثناء هذا الجزء المهم من تجربة المستخدم.
كيفية تحسين INP
تتوفّر مجموعة من الأدلة حول تحسين INP لإرشادك خلال عملية تحديد التفاعلات البطيئة في المجال، واستخدام البيانات المختبرية لمساعدتك في تحديد الأسباب وتحسينها.
سجلّ التغييرات
من حين لآخر، يتم اكتشاف أخطاء في واجهات برمجة التطبيقات المستخدمة لقياس المقاييس، وأحيانًا في تعريفات المقاييس نفسها. نتيجةً لذلك، يجب إجراء تغييرات في بعض الأحيان، وقد تظهر هذه التغييرات كتحسينات أو تراجعات في التقارير الداخلية ولوحات البيانات.
لمساعدتك في إدارة ذلك، سيتم عرض جميع التغييرات التي تطرأ على تنفيذ هذه المقاييس أو تعريفها في سجلّ التغييرات هذا.
إذا كانت لديك ملاحظات حول هذه المقاييس، يُرجى تقديمها في مجموعة web-vitals-feedback على Google.
اختبِر معلوماتك
ما هو الهدف الأساسي لمقياس INP؟
ما هي أنواع التفاعلات التالية التي يتم رصدها لأغراض احتساب INP؟ (يُرجى اختيار كلّ الإجابات المناسبة).
كيف يكون "وقت الاستجابة" محدد لـ INP؟
ما هو الفرق بين مقياسَي INP وFID؟
في أيّ ظروف قد لا تكون بيانات INP متاحة لصفحة في أدوات مثل "إحصاءات PageSpeed"؟
ما هي الاستراتيجية الأكثر فعالية لإعادة إنتاج التفاعلات البطيئة في بيئة معملية؟
✨ هذا الاختبار من إنشاء Gemini 1.5 وراجعه فريق من المراجعين. مشاركة ملاحظاتك