تُظهِر بيانات استخدام Chrome أنّ 90% من وقت المستخدم على الصفحة يتم قضاؤه بعد تحميلها، ولذلك من المهم قياس مدى الاستجابة بدقة طوال مراحل نشاط الصفحة. وهذا هو ما يقيّمه مقياس INP.
تعني الاستجابة الجيدة أن الصفحة تستجيب بسرعة للتفاعلات. عندما تستجيب الصفحة لأحد التفاعلات، يقدم المتصفح ملاحظات مرئية في الإطار التالي الذي يعرضه. وتخبرك الملاحظات المرئية، على سبيل المثال، ما إذا كان العنصر الذي تمت إضافته إلى سلة تسوق عبر الإنترنت مُضافًا بالفعل، وما إذا كانت قائمة التنقل على الهاتف المحمول قد تم فتحها، وما إذا تمت مصادقة محتويات نموذج تسجيل الدخول بواسطة الخادم، وما إلى ذلك.
تستغرق بعض التفاعلات بشكل طبيعي وقتًا أطول من غيرها، ولكن بالنسبة للتفاعلات المعقدة بشكل خاص، من المهم تقديم بعض الملاحظات المرئية الأولية بسرعة لإخبار المستخدم بحدوث شيء ما. الإطار التالي الذي سيرسمه المتصفح هو أقرب فرصة لإجراء ذلك.
وبالتالي، لا يكون الغرض من مقياس 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) على المستويَين الميداني والمعمل إلى الحدّ الذي يمكنك فيه محاكاة تفاعلات واقعية للمستخدمين.
في الملعب
في العادة، تبدأ رحلتك في تحسين INP من خلال البيانات الميدانية. في أفضل حالاتها، لا تمنحك البيانات الميدانية من ميزة "تتبُّع سلوك المستخدم" (RUM) قيمة INP للصفحة فحسب، بل ستمنحك أيضًا بيانات سياقية تسلّط الضوء على التفاعل المحدّد المسؤول عن قيمة INP نفسها، سواء حدث التفاعل أثناء تحميل الصفحة أو بعده، ونوع التفاعل (نقر أو ضغطة مفتاح أو نقرة)، وتوقيتات قيّمة أخرى يمكن أن تساعدك في تحديد جزء التفاعل الذي كان يؤثّر في الاستجابة.
إذا كان موقعك الإلكتروني مؤهَّلاً للإدراج في تقرير تجربة المستخدم على Chrome (CrUX)، يمكنك الحصول بسرعة على بيانات الحقول حول مقياس INP من خلال CrUX في "إحصاءات PageSpeed" (وغيرها من مؤشرات Core Web Vitals). يمكنك على الأقل الاطّلاع على صورة على مستوى المصدر لمقياس INP الخاص بموقعك الإلكتروني، ولكن يمكنك أيضًا في بعض الحالات الحصول على بيانات على مستوى عنوان URL.
ومع ذلك، يمكن لخدمة CrUX إخبارك بما إذا كانت هناك مشكلة، إلا أنّه لا يمكنها إطلاعك على سبب المشكلة. يمكن أن يساعدك حل RUM في الكشف عن مزيد من التفاصيل حول الصفحات أو المستخدمين أو تفاعلات المستخدمين التي تواجه مشاكل في الاستجابة. إنّ القدرة على تحديد INP استنادًا إلى التفاعلات الفردية تتجنّب التخمين والجهد المبذول.
في جلسة المعمل،
وفي الوضع المثالي، سترغب في بدء الاختبار في التمرين المعملي بمجرد أن تتوفر لديك بيانات ميدانية تشير إلى أن الصفحة تتميز بتفاعلات بطيئة. فالبيانات الميدانية ستجعل عملية إعادة إنتاج التفاعلات التي تسبب المشكلات في المختبر مهمة أسهل بكثير.
ومع ذلك، من المحتمل تمامًا عدم توفّر بيانات للحقل. يمكن قياس INP باستخدام بعض الأدوات المعملية، إلا أنّ قيمة INP الناتجة لصفحة ما أثناء الاختبار المعملي ستعتمد على التفاعلات التي يتم إجراؤها خلال فترة القياس. قد تكون سلوكيات المستخدمين غير متوقّعة وشديدة التغيّر، ما يعني أنّ الاختبارات التي تُجريها في المختبر قد لا تُظهر تفاعلات المشاكل بالطريقة نفسها التي تظهر بها البيانات الميدانية. بالإضافة إلى ذلك، لن تسجِّل بعض الأدوات الاختبارية مدى استجابة الصفحة لتفاعلات المستخدم (INP) لأنّها ترصد فقط تحميل الصفحة بدون أي تفاعلات. في هذه الحالات، قد يكون إجمالي وقت الحظر (TBT) مقياسًا معقولاً بالنسبة إلى INP، ولكنه ليس بديلاً لمقياس INP في حد ذاته.
على الرغم من وجود قيود في الأدوات الاختبارية عندما يتعلق الأمر بتقييم مدى استجابة الصفحة لتفاعلات المستخدم (INP)، إلا أنّ هناك بعض الاستراتيجيات لإعادة إنتاج التفاعلات البطيئة في المختبر. تشمل الإستراتيجيات اتباع تدفقات المستخدمين الشائعة واختبار التفاعلات طوال العملية، بالإضافة إلى التفاعل مع الصفحة أثناء تحميلها - عندما تكون سلسلة المحادثات الرئيسية غالبًا أكثر انشغالاً - من أجل تحديد التفاعلات البطيئة أثناء هذا الجزء المهم من تجربة المستخدم.
كيفية تحسين INP
تتوفّر مجموعة من الأدلة حول تحسين مقياس INP لإرشادك خلال عملية تحديد التفاعلات البطيئة في المجال، واستخدام البيانات المختبرية لمساعدتك في تحديد الأسباب وتحسينها.
سجلّ التغييرات
من حين لآخر، يتم اكتشاف أخطاء في واجهات برمجة التطبيقات المستخدمة لقياس المقاييس، وأحيانًا في تعريفات المقاييس نفسها. نتيجةً لذلك، يجب إجراء تغييرات في بعض الأحيان، وقد تظهر هذه التغييرات كتحسينات أو تراجعات في التقارير الداخلية ولوحات البيانات.
لمساعدتك على إدارة هذه المقاييس، سيتم عرض جميع التغييرات التي تطرأ على تنفيذ هذه المقاييس أو تعريفها في سجلّ التغييرات هذا.
إذا كانت لديك ملاحظات عن هذه المقاييس، يُرجى تقديمها في مجموعة Google الخاصة بملاحظات مؤشرات أداء الويب.
اختبِر معلوماتك
ما هو الهدف الأساسي من مقياس INP؟
أي من أنواع التفاعل التالية تتم ملاحظتها لأغراض حساب INP؟ (يُرجى اختيار كلّ الإجابات المناسبة).
كيف يكون "وقت الاستجابة" محدد لـ INP؟
ما هو الفرق بين مقياسَي INP وFID؟
في أي ظروف قد لا تكون بيانات INP متاحة لصفحة في أدوات مثل "إحصاءات PageSpeed"؟
ما هي الاستراتيجية الأكثر فعالية لإعادة إنتاج التفاعلات البطيئة في بيئة معملية؟
✨ هذا الاختبار من إنشاء Gemini 1.5 وراجعه فريق من المراجعين. مشاركة ملاحظاتك