چرا دادههای میدانی و آزمایشگاهی در web vitals متفاوت هستند?
مقدمه
گوگل تعدادی ابزار برای کمک به صاحبان سایت برای نظارت بر نمرات Core Web Vitals خود ارائه میدهد. این ابزارها به دو دسته اصلی تقسیم میشوند:
وجود این دو دسته ابزار میتواند بسیار مفید و کاربردی باشد اما مشکل این است که گاهی اوقات دادههای گزارش شده توسط ابزارهای آزمایشگاهی میتواند کاملاً متفاوت از دادههای گزارش شده توسط ابزارهای میدانی باشد! ممکن است دادههای آزمایشگاهی مشخص کنند که سایت شما عالی عمل میکند، در حال که دادههای میدانی نشان دهند که ساید نیاز به بهبود دارد. برعکس شاید دادههای میدانی شما بگویند همه صفحات خوب هستند ، اما در حالی که دادههای آزمایشگاهی نمره بسیار پایینی را گزارش کنند.
مثال واقعی زیر از گزارش PageSpeed Insights از web.dev نشان میدهد که در برخی موارد دادههای آزمایشگاهی و میدانی میتوانند در همه معیارهای Core Web Vitals متفاوت باشند:
تفاوت بین ابزارها توسعه دهندگان را گیج میکند. این مقاله دلایل اصلی این تفاوتها را با مثالهای خاصی که هر یک از معیارهای Core Web Vitals را پوشش میدهد توضیح میدهد، و توضیح میدهد وقتی در صفحات خود مغایرتها را پیدا کردید چه کار باید بکنید.
آنچه در این مقاله میخوانیم
دادههای آزمایشگاهی در مقابل دادههای میدانی
برای درک اینکه چرا ابزارهای آزمایشگاهی و میدانی ممکن است مقادیر متفاوتی را گزارش دهند، باید تفاوت بین دادههای آزمایشگاهی و میدانی را درک کنید.
دادههای آزمایشگاهی
دادههای آزمایشگاهی با بارگیری یک صفحه وب در یک محیط کنترل شده با مجموعه ای از پیش تعیین شده از شرایط شبکه و دستگاه تعیین میشود. این شرایط به عنوان محیط آزمایشگاهی شناخته میشود ، گاهی اوقات به عنوان محیط مصنوعی نیز شناخته میشود.
ابزارهای Chrome که دادههای آزمایشگاه را گزارش میدهند ، عموماً Lighthouse را اجرا میکنند
هدف از تست آزمایشگاهی کنترل حداکثری بر عوامل است، بنابراین نتایج (تا حد امکان) در هر اجرا سازگار و قابل تکرار هستند.
دادههای میدانی
دادههای میدانی با نظارت بر همه کاربرانی که از صفحه بازدید میکنند و اندازه گیری مجموعه معیارهای عملکردی برای هر یک از تجربیات فردی آن کاربران تعیین میشود. از آنجا که دادههای میدانی بر اساس بازدیدهای کاربران واقعی است ، دستگاه ها ، شرایط شبکه و موقعیت های جغرافیایی کاربران شما را نشان میدهد.
دادههای میدانی معمولاً به عنوان دادههای نظارت بر کاربر واقعی (RUM) نیز شناخته میشوند.
ابزارهای Chrome که دادههای میدانی را گزارش میکنند، عموماً این دادهها را از گزارش تجربه کاربر Chrome (CrUX) دریافت میکنند. همچنین توصیه میشود که صاحبان سایت خود دادههای میدانی را جمع آوری کنند زیرا میتواند بینش های کاربردی تری نسبت به استفاده از CrUX ارائه دهد.
مهمترین چیزی که باید در مورد دادههای میدانی درک کرد این است که این دادهها فقط یک عدد ثابت نیستد، بلکه توزیعی از اعداد هستند. یعنی برای تعدادی از کاربران که از سایت شما بازدید میکنند، ممکن است خیلی سریع بارگذاری شود ، در حالی که برای برخی دیگر بسیار کند. دادههای میدانی برای سایت شما مجموعه ای کامل از تمام دادههای عملکردی است که از کاربران جمع آوری شدهاست.
به عنوان مثال، گزارشات CrUX توزیع معیارهای عملکرد کاربران واقعی Chrome را در یک دوره 28 روزه نشان میدهد. اگر تقریباً به هر گزارش CrUX نگاه کنید ، میبینید که برخی از کاربرانی که از یک سایت دیدن میکنند ممکن است تجربه بسیار خوبی داشته باشند در حالی که برخی دیگر ممکن است تجربه بسیار ضعیفی داشته باشند.
اگر ابزاری یک عدد واحد را برای یک معیار مشخص گزارش کند ، به طور کلی یک نقطه خاص در توزیع را نشان میدهد. ابزارهایی که نمرات Core Web Vitals را گزارش میدهند ، این کار را با صدک 75 انجام میدهند.با مشاهده LCP از دادههای میدانی در تصویر بالا ، میتوانید توزیعی را مشاهده کنید که در آن:
در صدک 75 م LCP مقدار1.8 ثانیه بوده است.
دادههای آزمایشگاهی همان صفحه مقدار LCP 3.0 ثانیه را نشان میدهد. این مقدار بیشتر از 1.8 ثانیه نشان دادهشده در دادههای میدانی است.
چرا دادههای آزمایشگاهی و میدانی متفاوت هستند؟
همانطور که در قسمت بالا توضیح داده شد ، دادههای آزمایشگاهی و دادههای میدانی در واقع چیزهای بسیار متفاوتی را اندازه گیری میکنند.
دادههای میدانی شامل طیف گسترده ای از شرایط شبکه و دستگاه و بی شمار انواع مختلف رفتار کاربر است. همچنین شامل عوامل دیگری است که بر تجربه کاربر تأثیر میگذارد ، مانند بهینه سازی مرورگر مانند حافظه پنهان یا بهینه سازی پلت فرم هایی مانند AMP.
در مقابل ، دادههای آزمایشگاهی عمداً تعداد متغیرهای درگیر را محدود میکند. یک تست آزمایشگاهی شامل موارد زیر است:
محیط کنترل شده آزمایشگاه هنگام اشکال زدایی مسائل یا تست ویژگی ها قبل از راه اندازی نهایی سایت مفید است ، اما این دادهها واریانس موجود در دنیای واقعی را در انواع شبکه ها ، قابلیت های دستگاه یا موقعیت های جغرافیایی را نمایش نمیدهد و همچنین عموماً تأثیر عملکردی رفتار واقعی کاربران ، مانند پیمایش، انتخاب متن یا ضربه زدن روی عناصر صفحه را از دست میدهید.
علاوه بر تناقض احتمالی بین شرایط آزمایشگاه و شرایط اکثر کاربران دنیای واقعی، تعدادی تفاوت ظریف تر نیز وجود دارد که درک درست انها نیز مهم است.چند بخش بعدی به تفصیل به شایعترین دلایلی میپردازد که ممکن است بین دادههای آزمایشگاهی و دادههای میدانی برای هر یک از معیارهای Core Web Vitals تفاوت وجود داشته باشد:
تفاوت LCP در بررسیهای میدانی و آزمایشگاه
عناصر LCP متفاوت
عنصر LCP شناسایی شده در آزمایش آزمایشگاهی ممکن است همان عنصر LCP نباشد که کاربران هنگام بازدید از صفحه شما مشاهده میکنند.اگر گزارش Lighthouse را برای یک صفحه مشخص اجرا کنید ، هر بار یک عنصر LCP مشابه را برمیگرداند. اما اگر به دادههای میدانی یک صفحه نگاه کنید ، معمولاً انواع مختلفی از عناصر LCP را خواهید دید که به تعدادی از شرایط خاص هر بازدید از صفحه بستگی دارد.
به عنوان مثال ، عوامل زیر میتوانند در تعیین عنصر LCP متفاوت برای یک صفحه نقش داشته باشند:
از آنجا که LCP در صدک 75م تمام بازدیدکنندگان از یک صفحه محاسبه میشود، اگر درصد زیادی از آن کاربران دارای عنصر LCP بوده که خیلی سریع بارگذاری شود(به عنوان مثال یک پاراگراف از متن با فونت سیستم) و در عوض تعداد کمی از آن کاربران دارای تصویری بزرگ و بارگذاری آهسته به عنوان عنصر LCP باشند نمره آن صفحه را تحت تأثیر قرار نمیدهد.عکس این نیز میتواند صادق باشد.
تأثیر وضعیت کش (cache state) بر LCP
تستهای آزمایشگاهی معمولاً یک صفحه را با یک حافظه پنهان سرد (بدون داده از پیش ذخیره شده) بارگذاری میکنند ، اما هنگامی که کاربران واقعی از آن صفحه بازدید میکنند ممکن است برخی از منابع آن ذخیره شده باشد.
اولین باری که کاربر صفحه ای را بارگزاری می کند ممکن است به آرامی لودشود ، اما اگر صفحه دارای تنظیمات کش مناسب باشد، دفعه بعد که کاربر صفحه را باز میکند ممکن است بلافاصله بارگیری شود.
در حالی که برخی از ابزارهای آزمایشگاهی چندین اجرا از یک صفحه را پشتیبانی میکنند (برای شبیه سازی تجربه بازدیدکنندگان بازگشتی) ، این امکان وجود ندارد که یک ابزار آزمایشگاهی بداند چند درصد از بازدیدهای دنیای واقعی از کاربران جدید در مقابل کاربران بازگشتی رخ میدهد.
سایت هایی با پیکربندی کش بهینه سازی شده و تعداد زیادی از بازدیدکنندگان بازگشتی ممکن است دریابند که LCP دنیای واقعی آنها بسیار سریعتر از آن چیزی است که داده های آزمایشگاه آنها نشان میدهد.
بهینه سازی AMP
سایت های ساخته شده با AMP یا Signed Exchanges (SXG) می توانند توسط جمع کننده های محتوا مانند Google بارگیری شوند. این کار میتواند عملکرد بارگذاری بهتری را برای کاربرانی که از صفحات شما بازدید می کنند به وجود آورد.
ابزارهای آزمایشگاهی دستاوردهای حاصل از این بهینه سازی ها را شبیه سازی نمی کنند ، و حتی اگر این کار را انجام دهند ، نمی توانند بفهمند چند درصد از ترافیک شما از پلات فرم هایی مانند جستجوی Google در مقایسه با سایر منابع تامین می شود.
تاثیر کش Back/Forward بر LCP
هنگامی که صفحات از کش Back/Forward (دکمه های صفحه قبلی و بعدی در مرورگر) بازیابی می شوند ، تجربه بارگذاری تقریباً آنی است و این تجربیات در داده های میدانی شما گنجانده می شود.البته تست های آزمایشگاهی کش Back/Forward را در نظر نمی گیرند ، بنابراین اگر صفحات شما با bfcache سازگار باشند ، احتمالاً نتایج سریعتر LCP گزارش می شود.
اثرات تعامل کاربر بر LCP
LCP زمان رندر بزرگترین تصویر یا بلوک متن در viewport را مشخص می کند ، اما با بارگذاری مجدد صفحه یا در صورت افزودن محتوای جدید به صورت پویا ، این بزرگترین عنصر می تواند تغییر کند.در تست آزمایشگاهی مرورگر منتظر می ماند تا صفحه به طور کامل بارگیری شود تا تعیین کند که عنصر LCP چه بوده است. اما در بازدید کاربر واقعی مرورگر پس از پیمایش یا تعامل کاربر با صفحه ، نظارت بر عناصر بزرگتر را متوقف می کند.
این منطقی است زیرا کاربران برای تعامل معمولاً تا بارگزاری صفحه منتظر میمانند ، این دقیقاً همان چیزی است که معیار LCP برای تشخیص آن تلاش میکند. همچنین در نظر گرفتن عناصری که پس از تعامل کاربر به viewport اضافه شده منطقی نخواهد بود زیرا ممکن است این عناصر فقط به دلیل کاری که کاربر انجام داده اضافه شده باشد.
در نهایت مفهوم این امر این است که داده های میدانی برای یک صفحه، بسته به نحوه رفتار کاربران ممکن است زمانهای LCP سریع تری را گزارش دهند.
تفاوت FID در دادههای میدانی و آزمایشگاه
FID به تعامل کاربر واقعی نیاز دارد
معیار FID میزان پاسخگویی یک صفحه به تعاملات کاربر را در زمانی که کاربران قصد تعامل با صفحه را دارند، اندازه گیری میکند. قسمت دوم آن جمله بسیار مهم است زیرا تست های آزمایشگاهی ، نمی توانند به درستی پیش بینی کنند که کاربران چه زمانی قصد تعامل با یک صفحه را دارند و بنابراین نمی توانند FID را به طور دقیق اندازه گیری کنند.
TBT و TTI رفتار کاربر را در نظر نمی گیرند
معیارهای آزمایشگاهی مانند Total Blocking Time (TBT) و Time to Interactive (TTI) برای کمک به تشخیص مشکلات FID در نظر گرفته شده اند زیرا میزان مسدود شدن پروسه اصلی در هنگام بارگذاری صفحه را تعیین می کنند.
صفحاتی با تعداد زیادی کد جاوا اسکریپت یا سایر کارهای رندرینگ فشرده به احتمال زیاد در اولین تعامل کاربر دارای نخ اصلی مسدود شده خواهند بود. یعنی احتمال اینکه نتوانند تعامل کاربر را سر موقع پاسخ دهند بسیار زیاد است با این حال ، اگر کاربران تا پایان باگذاری منتظر بمانند و سپس تعاملی با صفحه برقرار کنند باعث میشوند تا مقدار FID بسیار پایین بیاید.
زمان انتخابی کاربران برای تعامل با یک صفحه تا حد زیادی به تعاملی بودن یا نبودن آن بستگی دارد و این را نمی توان با TBT یا TTI اندازه گیری کرد.
TBT و TTI تأخیر ضربه را در نظر نمی گیرند
اگر سایتی برای مشاهده در تلفن همراه بهینه نشده باشد ، مرورگر پس از هر ضربه ای تاخیر 300 میلی ثانیه ای اضافه می کنند زیرا باید تعیین کنند که آیا کاربر سعی می کند برای بزرگنمایی دوبار ضربه بزند یا خیر.
این تأخیر نمره FID صفحه را تحت تاثیر قرار میدهد زیرا به تأخیر ورودی واقعی که کاربران تجربه می کنند اضافه می کند. اما از آنجا که این تأخیر از نظر فنی یک وظیفه طولانی نیست ، بر TBT یا TTI صفحه تأثیر نمی گذارد. این بدان معناست که یک صفحه با وجود داشتن نمرات بسیار خوب TBT و TTI ممکن است FID ضعیفی داشته باشد.
برای جلوگیری از مشکل تاخیر برگه در یک صفحه ، همیشه viewport تلفن همراه را مشخص کنید.
<meta name="viewport" content="width=device-width">
تأثیر وضعیت کش و کش back/forward بر FID
همانطور که ذخیره سازی مناسب می تواند LCP را در این زمینه بهبود بخشد ، می تواند FID را نیز بهبود بخشد. در دنیای واقعی ، ممکن است یک کاربر کد جاوا اسکریپت یک سایت را در کش مروگر خود داشته باشد ، بنابراین پردازش آن می تواند زمان کمتری را به دنبال داشته و منجر به تاخیرهای کوچکتر شود.
همین امر در مورد صفحات بازیابی شده از کش back/forward( bfcache) نیز صادق است.
تفاوت CLS در دادههای میدانی و آزمایشگاه
اثرات تعامل کاربر بر CLS
CLS اندازه گیری شده در آزمایشگاه فقط تغییرات چیدمانی را که در بالای صفحه و هنگام بارگذاری اتفاق می افتد در نظر می گیرد ، اما این تنها زیرمجموعه ای CLS را اندازه گیری می کند.
در اندازه گیری میدانی، CLS همه تغییرات طرح بندی غیر منتظره ای را که در طول عمر صفحه اتفاق می افتد در نظر می گیرد ، از جمله محتواهایی که هنگام پیمایش کاربر یا در پاسخ به درخواستهای آهسته شبکه پس از تعامل کاربر تغییر می کند.
به عنوان مثال ، معمولاً برای بارگذاری تنبل تصاویر یا iframe های بدون ابعاد بسیار رایج است و این میتواند باعث تغییر طرح بندی هنگامی که کاربر به آن بخشهای صفحه پیمایش میکند ، شود. اما این تغییرات ممکن است تنها در صورتی رخ دهد که کاربر به سمت پایین حرکت کند ، که اغلب در تست آزمایشگاهی اتفاق نمیافتد.
محتوای شخصی سازی شده
محتوای شخصی سازی شده – از جمله تبلیغات هدفمند و تست A/B – بر عناصر بارگذاری شده در یک صفحه تأثیر میگذارد زیرا محتوای شخصی اغلب بعدا بارگذارینمایش داده میشود و در محتوای اصلی صفحه قرار می گیرد و باعث تغییر چیدمان میشوند.
در آزمایشگاه ، یک صفحه معمولاً یا بدون محتوای شخصی شده یا با محتویات یک “کاربر آزمایشی” عمومی بارگیری می شود ، که ممکن است باعث تغییراتی نشود که کاربران واقعی مشاهده می کنند. از آنجا که داده های میدانی شامل تجربیات همه کاربران است ، میزان و درجه تغییرات چیدمان در هر صفحه بستگی به محتوای بارگذاری شده دارد.
تأثیر وضعیت کش و کش back/forward بر CLS
دو مورد از شایع ترین دلایل تغییر ناگهانی چیدمان در هنگام بارگذاری ، تصاویر و iframes بدون ابعاد از پیش تعریف شده و کند شدن بارگذاری فونت های وب است ، و در بیشتر مواقع هر دوی این موارد وقتی اتفاق میافتد که کابر برای اولین بار از سایت بازدید میکند.
اگر منابع یک صفحه کش شده باشند ، یا اگر صفحه از bfcache بازیابی شود ، معمولاً مرورگر می تواند تصاویر و فونت ها را بلافاصله نمایش دهد. این کار باعث میشود مقادیر CLS پایین تری را در مقایسه با آنچه که ابزار آزمایشگاهی گزارش می دهد ، داشته باشیم.
وقتی نتایج متفاوت است چه باید کرد
به عنوان یک قاعده کلی ، اگر شما دادههای میدانی و دادههای آزمایشگاهی را برای یک صفحه مشخص دارید ، دادههای میدانی همان چیزی هستند که باید برای اولویت بندی کارهای خود ازآن استفاده کنید. از آنجا که دادههای میدانی نشان دهنده تجربه کاربران واقعی است ، این دقیق ترین راه برای درک درست این موضوع است که کاربران با چه مشکلاتی دست و پنجه نرم می کنند و چه چیزی باید بهبود یابد.
از طرف دیگر ، اگر دادههای میدانی شما نمرات خوبی را در سطح کلی نشان میدهد ، اما دادههای آزمایشگاه شما نشان میدهد که هنوز جایی برای پیشرفت وجود دارد ، باید بدانید که میتوانید بهینه سازی های بیشتری را انجام داده و سایت خود را بهبود ببخشید.
علاوه بر این ، در حالی که داده های میدانی تجربیات کاربران واقعی را ثبت میکند و این کار را فقط برای کاربرانی انجام میدهد که قادرند سایت شما را با موفقیت بارگذاری کنند. گاهی اوقات داده های آزمایشگاهی میتوانند به شناسایی فرصت هایی برای گسترش دسترسی به سایت شما به خصوص برای کاربران با شبکه های کندتر یا دستگاه های رده پایین تر کمک کند.
به طور کلی ، هر دو روش بخش مهمی از اندازه گیری سرعت و عملکرد موثر صفحات هستند. هر دو نقاط قوت و محدودیت هایی دارند و اگر فقط از یکی از آنها استفاده می کنید ، ممکن است فرصتی را برای بهبود تجربه کاربران خود از دست بدهید.
این مقاله توضیح جامعی بر تفاوت و تاثیرات مختلف ارزیابی آزمایشگاهی و میدانی و دادههای بدست آمده آن دو است، سعی شده این تفاوت ها را در معیارهای مهم web vitals نیز به طور مفصل بررسی گردد امیدواریم بتوانیم این مقاله را به روز نگه داریم و اطلاعات بیشتری به آن بیفزایم، منتظر نظرات و پیشنهادات شما هستیم.