لماذا يُفتح الموقع ببطء؟

لخّص بالذكاء الاصطناعي:

تم نسخ الرابط

الموقع بطيء هو في الغالب واحد من ثلاثة أحاسيس. الصفحة تظهر متأخرة، أو تنتظر بعد النقرة، أو ينزلق السطر المقروء. تفصل هذه المقالة الأسباب التي تُرى قبل فتح أداة. أسماء القياسات وعتباتها ليست هنا. هي في [[article:core-web-vitals|مقالة Core Web Vitals]].

الشكوى أولًا، والاسم بعد

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

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

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

ما يُنتظَر في الغالب هو الصورة

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

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

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

في الصفحة كود ليس لها

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

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

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

حين يتأخر الجواب الأول

قبل أن تُرسم الصفحة يُنتظَر جواب الخادم الأول. اسمه TTFB، الزمن حتى البايت الأول. لا يكتبه web.dev كقياس من Core Web Vitals. وكدليل تقريبي يقول إن على أكثر المواقع أن تهدف إلى TTFB من 0.8 ثانية أو أقل. القيمة التي تُعد جيدة 0.8 ثانية أو دونها، والتي تُعد ضعيفة فوق 1.8 ثانية. وتكتب الصفحة نفسها أن بلوغ العتبة الجيدة ليس لازمًا وحده. العتبة ليست قرارًا بمفردها ما دامت لا تطيل التجربة التي تليها.

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

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

افتتاح متخيّل

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

مثال متخيّل

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

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

قائمة ملاحظات لا قائمة إصلاح

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

في N2 Creative نرى من الصواب، في عمل الموقع والبرمجيات، أن نفتح جملة الموقع بطيء بهذه الملاحظة. الأسماء والعتبات تبقى في مقالة القياس. ما يبقى هنا هو الشيء الذي انتظره الزائر.

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

المصادر