آیا یوزر تستینگ سایت من را کند میکند؟
این پرسش را زیاد میشنویم، و جواب کوتاهش «نه» است. سرعت سایت روی تجربه کاربر و روی رتبه شما در گوگل اثر مستقیم دارد، پس اسکریپتهای روی سایت یوزر تستینگ (ضبط جلسه، ویجت بازخورد و NPS) از اول با این قید طراحی شدهاند که هیچچیز را معطل خودشان نکنند. اینجا دقیقاً میگوییم چه میکنند، چقدر حجم دارند و چرا ممکن است ابزارهای تست سرعت عددی متفاوت نشان بدهند.
اثر روی بارگذاری صفحه
اسنیپتی که در سایت میگذارید با صفت async است. مرورگر آن را همزمان با بقیه منابع دانلود میکند و رندر صفحه، فونتها و تصاویر شما را برایش متوقف نمیکند. اگر اسکریپت دیر برسد یا اصلاً نرسد، صفحه شما دقیقاً همانطور که بود کار میکند؛ فقط آن بازدید ضبط نمیشود.
فایل ضبطکننده حدود ۵ کیلوبایت و ویجت حدود ۹ کیلوبایت است (فشردهشده، همان چیزی که مرورگر دانلود میکند). برای مقایسه، یک تصویر معمولی در صفحه دهها برابر این حجم را دارد.
هر دو فایل از usertesting.ir سرو میشوند، یعنی از سرور داخل ایران. هیچ CDN یا فونت خارجی در کار نیست، پس اگر ارتباط بینالملل کند یا قطع باشد، این اسکریپتها اثری از آن نمیگیرند.
اثر روی کارایی صفحه بعد از بارگذاری
ضبطکننده به حرکت موس، کلیک، اسکرول و تغییر اندازه پنجره گوش میدهد. حرکت موس حداکثر هر ۱۵۰ میلیثانیه و اسکرول حداکثر هر ۳۰۰ میلیثانیه یکبار ثبت میشود، نه هر پیکسل. رویدادها در حافظه جمع میشوند و هر ۴ ثانیه یکبار در یک درخواست به سرور میروند؛ نه یک درخواست به ازای هر کلیک.
تصویر صفحه (نسخهای از HTML رندرشده که در بازپخش میبینید) حداکثر هر ۱۵ ثانیه و در مجموع حداکثر ۱۵ بار در هر جلسه گرفته میشود، و پیش از ارسال در همان مرورگر فشرده (gzip) میشود که معمولاً حجمش را پنج تا ده برابر کم میکند. تصاویر داخلی بسیار حجیم هم برای اینکه صفحه سنگین نشود با یک پیکسل خالی جایگزین میشوند.
هر جلسه حداکثر ۵ دقیقه ضبط میشود و بعد خودش متوقف میشود. وقتی بازدیدکننده تب را میبندد یا عوض میکند، آنچه باقی مانده با sendBeacon ارسال میشود که مرورگر آن را بدون معطلکردن ناوبری انجام میدهد.
ویجت بازخورد و NPS یکبار تنظیمات خودش را میگیرد، کارتش را میسازد و تا زمانی که شما تعیین کردهاید صبر میکند؛ بعد از ارسال پاسخ هم دیگر کاری نمیکند.
چرا ابزار تست سرعت عدد بزرگتری نشان میدهد؟
ابزارهایی مثل PageSpeed یا WebPageTest دو زمان متفاوت را گزارش میکنند: زمانی که صفحه قابل استفاده میشود (تعاملیشدن، LCP) و زمانی که آخرین بایت آخرین منبع میرسد (بارگذاری کامل). اسکریپت async روی اولی اثری ندارد، چون در مسیر رندر نیست؛ اما در دومی حساب میشود، چون در نهایت یک منبع اضافه است.
پس اگر بعد از نصب، «زمان بارگذاری کامل» چند دهم ثانیه بیشتر شد و «تعاملیشدن» همان ماند، این دقیقاً رفتار مورد انتظار است و همان چیزی است که کاربر واقعی حس میکند: هیچ.
اگر میخواهید خودتان مطمئن شوید، یک صفحه را با و بدون اسنیپت در همان ابزار بسنجید و به ستون LCP و Interactive نگاه کنید، نه Fully Loaded.
مصرف داده بازدیدکننده
برای بازدیدی معمولی (خواندن، اسکرول، چند کلیک) رویدادها در هر دسته ۴ ثانیهای چند کیلوبایت هستند. سنگینترین بخش تصویر صفحه است که بسته به پیچیدگی HTML شما، بعد از فشردهسازی معمولاً چند ده کیلوبایت میشود و فقط وقتی صفحه واقعاً تغییر کرده دوباره گرفته میشود.
اگر ترافیک سایت بالاست، میتوانید در تنظیمات پروژه ضبط، نرخ نمونهگیری را کم کنید تا فقط درصدی از بازدیدها ضبط شوند؛ الگوها با نمونه هم دیده میشوند و مصرف داده همزمان کم میشود.
چه چیزی ضبط نمیشود
ضبطکننده به کلیدهای فشردهشده گوش نمیدهد و مقدار فیلدهای فرم را نمیخواند؛ تصویر صفحه از نشانهگذاری HTML ساخته میشود، نه از چیزی که کاربر تایپ کرده. رمز عبور، شماره کارت و متن فرمها در ضبط نیست.
برای جزئیات کامل دادهای که جمع میشود و مدت نگهداری آن، بند ضبط جلسه در سیاست حریم خصوصی را ببینید.