مدى استجابة الصفحة لتفاعلات المستخدم (INP)

Browser Support

  • Chrome: 96.
  • Edge: 96.
  • Firefox: not supported.
  • Safari: not supported.

Source

تُظهر بيانات استخدام Chrome أنّ% 90 من وقت المستخدِم على الصفحة يتم قضاءه بعد تحميلها، لذا من المهم قياس وقت الاستجابة بعناية خلال دورة حياة الصفحة. وهذا ما يقيسه مقياس INP.

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

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

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

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

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

يشرح هذا الدليل آلية عمل مؤشر INP وكيفية قياسه ويشير إلى مراجع لتحسينه.

ما هو برنامج INP؟

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

يتم احتساب مقياس INP من خلال مراقبة جميع التفاعلات التي تتم مع الصفحة. في معظم المواقع الإلكترونية، يتم تسجيل التفاعل الذي يتضمن أكبر وقت استجابة على أنّه INP.

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

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

التفاعل هو مجموعة من معالجات الأحداث التي يتم تشغيلها أثناء إيماءة المستخدم المنطقية نفسها. على سبيل المثال، تشمل التفاعلات من خلال "النقر" على جهاز يعمل باللمس أحداثًا متعددة، مثل pointerup وpointerdown وclick. يمكن أن يكون التفاعل مستندًا إلى JavaScript أو CSS أو عناصر التحكّم المدمجة في المتصفّح (مثل عناصر النماذج) أو مزيج من هذه العناصر.

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

ما هي نتيجة INP الجيدة؟

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

لضمان تقديم تجارب مستخدمين تتسم بوقت استجابة جيد، يمكنك قياس الشريحة المئوية الخامسة والسبعين من عمليات تحميل الصفحات المسجّلة في الميدان، مقسّمة على الأجهزة الجوّالة وأجهزة الكمبيوتر المكتبي:

  • إذا كانت قيمة مقياس INP أقل من 200 ملي ثانية أو تساويها، يعني ذلك أنّ الصفحة سريعة الاستجابة.
  • إذا كان مقياس INP أعلى من 200 ملي ثانية وأقل من أو يساوي 500 ملي ثانية، يعني ذلك أنّ سرعة استجابة الصفحة بحاجة إلى تحسين.
  • إذا كان مقياس INP أعلى من 500 ملي ثانية، يعني ذلك أنّ الصفحة بطيئة الاستجابة.
تكون قيم INP الجيدة 200 ملي ثانية أو أقل، وتكون القيم السيئة أكبر من 500 ملي ثانية، وأي قيمة بين القيمتين تحتاج إلى تحسين.
تكون قيم INP الجيدة 200 ملي ثانية أو أقل. القيم غير المُرضية أكبر من 500 ملي ثانية.

ما المقصود بالتفاعل؟

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

غالبًا ما يكون JavaScript هو العامل الأساسي في التفاعل، على الرغم من أنّ المتصفّحات توفّر تفاعلًا من خلال عناصر التحكّم التي لا تعمل باستخدام JavaScript، مثل مربّعات الاختيار وأزرار الاختيار وعناصر التحكّم التي تعمل باستخدام CSS.

وفقًا لأغراض مقياس INP، لا يتم رصد سوى أنواع التفاعلات التالية:

  • النقر باستخدام الماوس
  • النقر على جهاز مزوّد بشاشة تعمل باللمس
  • الضغط على مفتاح في لوحة مفاتيح خارجية أو لوحة مفاتيح تظهر على الشاشة

تحدث التفاعلات في المستند الرئيسي أو في إطارات iframe المضمّنة في المستند، مثل النقر على زر التشغيل في فيديو مضمّن. لن يكون المستخدمون النهائيون على دراية بما إذا كان هناك إطار iframe أم لا، لذلك، يجب استخدام INP ضمن إطارات iframe لقياس تجربة المستخدم للصفحة ذات المستوى الأعلى. بما أنّ واجهات برمجة تطبيقات JavaScript للويب لا يمكنها الوصول إلى محتوى إطارات iframe، قد يظهر ذلك كاختلاف بين CrUX وRUM.

يمكن أن تتألف التفاعلات من أحداث متعددة. على سبيل المثال، تتضمّن ضغطة مفتاح الأحداث keydown وkeypress وkeyup. انقر على التفاعلات التي تحتوي على حدثَي pointerup وpointerdown. إنّ الحدث الذي يمتلك أطول مدة ضمن التفاعل هو ما يساهم في إجمالي وقت استجابة التفاعل.

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

يتم احتساب مقياس INP للصفحة عندما يغادر المستخدِم الصفحة. والنتيجة هي قيمة واحدة تمثّل مدى استجابة الصفحة بشكل عام طوال دورة حياتها. يعني انخفاض مقياس INP أنّ الصفحة كانت تستجيب بشكل موثوق للبيانات التي يدخلها المستخدم.

كيف يختلف مقياس INP عن مقياس مهلة الاستجابة لأوّل إدخال (FID)؟

"مدى استجابة الصفحة لتفاعلات المستخدم" هو المقياس البديل لمقياس مهلة الاستجابة الأولى (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) في بعض أدوات المختبر، فإنّ قيمة INP الناتجة للصفحة أثناء الاختبار في المختبر ستعتمد على التفاعلات التي يتم إجراؤها خلال فترة القياس. يمكن أن تكون سلوكيات المستخدمين غير متوقّعة ومتغيّرة للغاية، ما يعني أنّ اختبارك في المختبر قد لا يُظهر التفاعلات التي تؤدي إلى حدوث مشاكل بالطريقة نفسها التي يمكن أن تُظهرها البيانات الميدانية. بالإضافة إلى ذلك، لن تُبلغ بعض أدوات المختبر عن مقياس INP للصفحة لأنّها ترصد فقط تحميل الصفحة بدون أي تفاعلات. في هذه الحالات، قد يكون إجمالي وقت الحظر (TBT) مقياسًا بديلاً معقولاً لمقياس INP، ولكنه ليس بديلاً عن INP بحد ذاته.

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

كيفية تحسين مقياس INP

تتوفّر مجموعة من الأدلة حول تحسين INP لإرشادك خلال عملية تحديد التفاعلات البطيئة في الميدان واستخدام بيانات المختبر لمساعدتك في تحديد الأسباب وتحسينها.

سجلّ التغييرات

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

لمساعدتك في إدارة ذلك، سيتم عرض جميع التغييرات التي تطرأ على تنفيذ هذه المقاييس أو تعريفها في سجلّ التغييرات هذا.

إذا كانت لديك ملاحظات حول هذه المقاييس، يُرجى تقديمها في مجموعة web-vitals-feedback على Google.

اختبِر معلوماتك

ما هو الهدف الأساسي لمقياس INP؟

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

ما هي أنواع التفاعلات التالية التي يتم رصدها لأغراض احتساب INP؟ (اختَر كلّ الإجابات المناسبة)

النقر على شاشة تعمل باللمس
تمرير مؤشر الماوس فوق العناصر
الانتقال إلى أعلى أو أسفل الصفحة باستخدام عجلة الماوس أو لوحة اللمس
التكبير أو التصغير في الصفحة
الضغط على مفتاح في لوحة مفاتيح
النقر باستخدام الماوس

كيف يتم تحديد "وقت الاستجابة" لتفاعل مع مقياس مدى استجابة الصفحة لتفاعلات المستخدم (INP)؟

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

ما الفرق بين INP وFID؟

يأخذ مقياس مدى استجابة الصفحة لتفاعلات المستخدم (INP) في الاعتبار المدة الكاملة لجميع التفاعلات، في حين يقيس مقياس مهلة الاستجابة لأوّل إدخال (FID) مهلة الاستجابة للإدخال في التفاعل الأول فقط.
لا فرق بينهما، فكلّ من INP وFID هما اسمان مختلفان للمقياس نفسه.
يقيس مقياسا INP وFID الطوابع الزمنية المختلفة التي تصبح فيها الصفحة تفاعلية.
يقيس مقياس INP الوقت الذي يستغرقه عرض أوّل محتوى من الصفحة، بينما يقيس مقياس FID سرعة الاستجابة لإدخالات المستخدم.

في أيّ ظروف قد لا تكون بيانات INP متاحة لصفحة في أدوات مثل "إحصاءات PageSpeed"؟

لا تتوفّر بيانات تفاعل كافية من مستخدمي Chrome لاحتساب قيمة INP ذات مغزى في مجموعة بيانات CrUX.
تم إنشاء الصفحة باستخدام إطار عمل يُحسِّن المحتوى تلقائيًا لتحسين تجربة المستخدم، لذا لا داعي للإبلاغ عنها.
تستخدِم الصفحة مكتبة مخصّصة لقياس الأداء لا تسجّل بيانات INP.
تفاعل المستخدمون مع الصفحة من خلال الانتقال للأعلى أو للأسفل أو التمرير فوقها فقط، ولا يتم احتساب ذلك ضمن التفاعلات الناجحة.

ما هي الاستراتيجية الأكثر فعالية لإعادة إنتاج التفاعلات البطيئة في بيئة مختبرية؟

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

تم إنشاء هذا الاختبار من خلال Gemini 1.5 وراجعه فريق المراجعين. مشاركة ملاحظاتك