شرکت دیجیتال مارکتینگ وب آوا

بررسی کامل First Input Delay و روش‌های بهبود آن

FID میزان تأخیر مرورگر در پاسخ به اولین تعامل واقعی کاربر با یک صفحه وب را نشان می‌ دهد. وقتی کاربر وارد یک سایت می‌ شود، ممکن است قبل از کامل شدن پردازش‌ های صفحه روی یک لینک کلیک کند، دکمه‌ای را لمس کند یا کلیدی را فشار دهد. اگر مرورگر در همان لحظه درگیر پردازش‌ های سنگین باشد، پاسخ به این تعامل با تاخیر انجام می‌شود و همین فاصله زمانی همان چیزی است که FID اندازه‌گیری می‌ کند. بهبود این پارامتر یکی از مهم ترین یکی از مهم ترین اقدامات تیم سئو در مشهد است. در عملکرد یک سایت، فقط نمایش سریع محتوا اهمیت ندارد؛ صفحه باید زمانی که کاربر قصد تعامل با آن را دارد نیز بتواند واکنش مناسبی نشان دهد. به همین دلیل، این پارامتر برای بررسی پاسخ‌گویی صفحات در لحظات اولیه ورود کاربر مورد توجه قرار گرفته است.

در این راهنما، FID را از تعریف و نحوه عملکرد گرفته تا عوامل مؤثر، روش اندازه‌گیری، ارتباط آن با معیارهایی مانند FCP، TBT و TTI و روش‌های بهبود بررسی می‌کنیم.

FID چیست و چه چیزی را اندازه‌گیری می‌کند؟

FID مدت‌زمان بین اولین تعامل کاربر با صفحه و زمانی را اندازه‌گیری می‌کند که مرورگر بتواند پردازش آن تعامل را آغاز کند. برای مثال، کلیک روی لینک، فشار دادن یک دکمه، لمس صفحه یا فشردن یک کلید می‌تواند اولین ورودی کاربر باشد.

این پارامتر از عبارت First Input Delay گرفته شده و در فارسی می‌توان آن را «تاخیر اولین ورودی» نامید.

تمرکز این معیار روی یک موضوع مشخص است: آیا مرورگر در لحظه‌ای که کاربر انتظار واکنش دارد، آماده پاسخ‌گویی است یا خیر؟

اگر مرورگر در زمان تعامل کاربر مشغول اجرای یک وظیفه سنگین باشد، ورودی کاربر باید منتظر بماند. هرچه این انتظار طولانی‌تر باشد، مقدار تاخیر اولین ورودی افزایش پیدا می‌کند. در مقابل، زمانی که رشته اصلی مرورگر آزاد باشد، پاسخ‌گویی به ورودی می‌تواند سریع‌تر انجام شود.همچنین FID یکی از معیارهای Core Web Vitals است که برای ارزیابی سرعت پاسخ‌گویی صفحه به تعامل کاربر استفاده می‌شود.

یک مثال ساده از FID:

فرض کنید کاربر وارد یک صفحه شده و هنوز تموم پردازش‌های آن به پایان نرسیده است. کاربر روی یک لینک کلیک می‌کند، اما مرورگر در همان لحظه درگیر اجرای یک فایل سنگین جاوا اسکریپت است.

در این شرایط، مرورگر نمی‌تواند فوراً به کلیک پاسخ دهد و باید ابتدا پردازش جاری را به پایان برساند. فاصله زمانی میان کلیک کاربر و شروع پاسخ مرورگر، FID آن تعامل را تشکیل می‌دهد.

مقدار مناسب FID چقدر است؟

FID کمتر از ۱۰۰ میلی‌ثانیه مقدار مطلوب محسوب می‌شود؛ بازه ۱۰۰ تا ۳۰۰ میلی‌ثانیه نیازمند بهبود است و مقدار بالاتر از ۳۰۰ میلی‌ثانیه وضعیت ضعیف را نشان می‌دهد.

مقدار FID وضعیت
کمتر از ۱۰۰ میلی‌ثانیه مطلوب
۱۰۰ تا ۳۰۰ میلی‌ثانیه نیازمند اصلاح
بیشتر از ۳۰۰ میلی‌ثانیه ضعیف

در ارزیابی تاخیر اولین ورودی، فقط نگاه کردن به یک عدد منفرد کافی نیست. برای رسیدن به وضعیت مناسب باید ۷۵ درصد از بارگذاری‌ های صفحات در موبایل و دسکتاپ در محدوده مطلوب قرار داشته باشند.

بنابراین اگر یک صفحه در یک آزمایش عدد بسیار خوبی داشته باشد، نمی‌توان تنها بر اساس همان نمونه درباره تجربه تمام کاربران قضاوت کرد؛ زیرا زمان تعامل کاربر و وضعیت پردازش‌های مرورگر می‌تواند روی نتیجه اثر بگذارد.

چرا FID فقط اولین ورودی را بررسی می‌کند؟

FID روی اولین ورودی تمرکز دارد زیرا مشکلات تعاملی صفحه معمولاً در زمان بارگذاری رخ می‌دهند و اولین تعامل می‌تواند برداشت کاربر از پاسخ‌گویی سایت را شکل دهد.

بسیاری از مشکلات مربوط به تعامل زمانی اتفاق می‌افتند که صفحه هنوز در حال پردازش منابع مختلف است. در این وضعیت ممکن است محتوای صفحه برای کاربر قابل مشاهده باشد، اما مرورگر هنوز برای پاسخ‌گویی سریع به تعامل آماده نباشد.

از طرف دیگر، اولین تعامل برای ارزیابی اولیه پاسخ‌گویی صفحه اهمیت دارد. اگر کاربر در همان تلاش نخست با یک صفحه غیر پاسخگو مواجه شود، تجربه‌ای نامطلوب خواهد داشت.

دلیل دیگر، تفاوت راهکارهای مورد نیاز برای بهبود اولین تعامل با تعاملات بعدی است. روش‌ هایی مانند کاهش جاوا اسکریپت اولیه یا تقسیم کد می‌توانند آمادگی صفحه برای تعامل را بهتر کنند، در حالی که مشکلات تعاملات بعدی ممکن است به راهکارهای متفاوتی نیاز داشته باشند.

چه تعاملاتی در FID محاسبه می‌شوند؟

FID تعاملات ورودی مجزایی مانند کلیک، ضربه روی صفحه و فشردن کلید را بررسی می‌کند.

نمونه‌هایی از ورودی‌هایی که در این معیار مورد توجه قرار می‌گیرند عبارت‌اند از:

  • کلیک روی لینک
  • کلیک روی دکمه
  • لمس صفحه در دستگاه‌های لمسی
  • فشردن کلیدهای صفحه‌کلید
  • تعامل با فیلدهای ورودی
  • انتخاب گزینه‌های منو

در مقابل، فعالیت‌هایی مانند اسکرول و زوم در این معیار قرار نمی‌گیرند، زیرا ماهیت آن‌ها با تعاملات ورودی مجزا متفاوت است.

اگر کاربر با سایت تعامل نکند چه می‌شود؟

اگر کاربر هیچ تعامل قابل اندازه‌گیری با صفحه نداشته باشد، برای آن بازدید مقدار FID ثبت نمی‌شود.

به همین دلیل، داده‌های تاخیر اولین ورودی بین کاربران مختلف می‌تواند متفاوت باشد. یک کاربر ممکن است در زمانی با صفحه تعامل کند که رشته اصلی آزاد است، در حالی که کاربر دیگری همان تعامل را در زمان اجرای یک وظیفه سنگین انجام دهد.

این موضوع باعث می‌شود تحلیل این پارامتر بر اساس توزیع داده‌ها اهمیت زیادی داشته باشد.

چرا FID افزایش پیدا می‌کند؟

مهم‌ترین عامل افزایش FID، درگیر بودن رشته اصلی مرورگر با پردازش‌های سنگین، به‌خصوص اجرای جاوا اسکریپت است.

مرورگر برای اجرای بخش قابل توجهی از پردازش‌های صفحه از Main Thread استفاده می‌کند. زمانی که این بخش مشغول اجرای یک وظیفه طولانی باشد، نمی‌تواند هم‌زمان به ورودی جدید کاربر پاسخ دهد.

در نتیجه، اگر کاربر در همان بازه روی یک عنصر صفحه کلیک کند، مرورگر باید تا پایان پردازش جاری منتظر بماند.

عوامل دیگری به عنوان عوامل مؤثر بر FID مطرح شده‌ اند شامل:

  • پیچیدگی کد های جاوا اسکریپت
  • سرعت اتصال اینترنت
  • زمان پاسخ‌گویی سرور
  • معماری برنامه وب
  • موقعیت مکانی کاربران و کیفیت شبکه
  • حجم منابع
  • نحوه فشرده‌سازی منابع

نقش Main Thread در FID چیست؟

وقتی Main Thread مرورگر مشغول پردازش یک وظیفه طولانی باشد، پاسخ‌گویی به تعامل کاربر به تعویق می‌افتد و FID افزایش پیدا می‌کند.

Main Thread وظایف مختلفی از جمله پردازش اسکریپت‌ها، رندر صفحه و رسیدگی به تعاملات کاربر را انجام می‌دهد. بنابراین زمانی که حجم کار آن افزایش پیدا کند، احتمال ایجاد صف برای تعاملات جدید بیشتر می‌شود.

یکی از نمونه‌های رایج، اجرای یک فایل بزرگ جاوا اسکریپت است. مرورگر باید این کد را دانلود، تجزیه، کامپایل و اجرا کند و در این فاصله ممکن است نتواند به ورودی کاربر پاسخ دهد.

FID چه تفاوتی با FCP دارد؟

FCP زمان نمایش اولین محتوای صفحه را بررسی می‌کند، اما FID مدت‌زمان انتظار برای شروع پاسخ به اولین تعامل کاربر را اندازه می‌گیرد.

این دو معیار موضوع یکسانی را اندازه‌گیری نمی‌کنند.

FCP به این سؤال پاسخ می‌دهد:

اولین بخش قابل مشاهده محتوا چه زمانی روی صفحه ظاهر شد؟

اما این پارامتر به این سؤال پاسخ می‌دهد:

کاربر که برای اولین بار با صفحه تعامل کرد، مرورگر چه مدت برای شروع پاسخ منتظر ماند؟

بنابراین ممکن است محتوای یک صفحه سریع نمایش داده شود، اما مرورگر در همان زمان به دلیل پردازش‌های سنگین نتواند به تعامل کاربر پاسخ مناسبی بدهد.

تفاوت FID و TBT چیست؟

TBT زمان مسدود بودن Main Thread توسط وظایف طولانی را بدون نیاز به تعامل واقعی کاربر بررسی می‌کند، اما FID تأخیر یک تعامل واقعی را اندازه می‌گیرد.

شباهت اصلی این دو معیار به تاثیر Long Task ها روی Main Thread مربوط می‌شود.

تفاوت مهم این است که این پارامتر First Input Delay به یک ورودی واقعی از طرف کاربر نیاز دارد، در حالی که TBT می‌تواند در محیط آزمایشگاهی برای بررسی میزان مسدود بودن رشته اصلی مورد استفاده قرار گیرد.

به همین دلیل، TBT می‌تواند برای تحلیل مشکلاتی که احتمالاً روی FID اثر می‌گذارند، یک معیار کمکی باشد.

تفاوت FID و TTI چیست؟

TTI مدت‌زمان رسیدن صفحه به وضعیت تعاملی را بررسی می‌کند، در حالی که FID تأخیر اولین تعامل واقعی کاربر را اندازه‌گیری می‌کند.

یک صفحه ممکن است هنوز به وضعیت کامل تعامل‌ پذیری نرسیده باشد، اما کاربر قبل از آن تلاش کند با یکی از عناصر آن کار کند. در چنین شرایطی، تاخیر اولین ورودی می‌تواند نشان دهد که مرورگر تا چه اندازه برای پاسخ به آن تعامل آماده بوده است.

بنابراین این دو معیار از زاویه‌های متفاوتی وضعیت تعامل‌ پذیری صفحه را بررسی می‌ کنند.

ارتباط FID با SEO چیست؟

FID از نظر سئو به عملکرد و تجربه کاربری صفحه مربوط می‌شود و بهینه‌سازی آن در چارچوب بهبود عملکرد فنی سایت اهمیت دارد.

وقتی یک صفحه در لحظه تعامل کاربر پاسخ‌گو نباشد، تجربه استفاده از سایت تحت تأثیر قرار می‌گیرد. از طرف دیگر، بهبود مشکلاتی که باعث افزایش First Input Delay می‌شوند، مانند کاهش پردازش‌های سنگین و بهینه‌سازی جاوا اسکریپت، به وضعیت کلی تعامل‌پذیری سایت کمک می‌کند.

به همین دلیل این پارامتر در مباحث مربوط به عملکرد وب و تجربه کاربری مورد توجه قرار گرفته است.

چگونه FID را اندازه‌گیری کنیم؟

FID فقط با داده واقعی کاربران قابل اندازه‌گیری است، زیرا ثبت آن به یک تعامل واقعی با صفحه نیاز دارد.

این ویژگی باعث می‌شود First Input Delay با برخی معیارهای آزمایشگاهی تفاوت داشته باشد. در تست آزمایشگاهی، کاربر واقعی وجود ندارد که تعامل مشخصی با صفحه انجام دهد؛ بنابراین خود این پارامتر در چنین شرایطی قابل اندازه‌گیری نیست.

با این حال، می‌توان معیارهایی مانند TBT را برای بررسی مشکلاتی که بر تعامل‌پذیری اثر می‌گذارند بررسی کرد.

ابزارهای اندازه‌گیری FID

برای بررسی FID، ابزارهایی مانند PageSpeed Insights، Chrome User Experience Report، Search Console و کتابخانه web-vitals معرفی شده‌اند.

ابزار کاربرد
PageSpeed Insights بررسی عملکرد و داده‌های عملکردی
Chrome User Experience Report بررسی داده‌های واقعی کاربران
Search Console بررسی گزارش‌های Core Web Vitals
web-vitals JavaScript library اندازه‌گیری و ردیابی معیارهای عملکردی

برای بررسی وضعیت FID و سایر داده‌های عملکردی سایت بهترین و راحت ترین گزینه استفاده سرچ کنسول می باشد.

اندازه‌گیری FID با JavaScript چگونه انجام می‌شود؟

برای اندازه‌گیری FID در JavaScript می‌توان از Event Timing API و Performance Observer برای دریافت ورودی‌های first-input استفاده کرد.

در این روش، زمان شروع ورودی و زمان شروع پردازش آن بررسی می‌شود و اختلاف میان این دو زمان در بیشتر موارد مقدار First Input Delay را نشان می‌دهد.

با این حال، اندازه‌گیری دقیق این پارامتر در JavaScript دارای جزئیات فنی بیشتری است و همه ورودی‌های first-input الزاماً برای محاسبه نهایی این پارامتر معتبر نیستند.

محدودیت‌های اندازه‌گیری FID با API

بین داده‌ای که API گزارش می‌کند و نحوه محاسبه واقعی FID تفاوت‌هایی وجود دارد. از جمله مواردی که به آن‌ اشاره شده می‌توان به صفحات پس‌زمینه، صفحات بازگردانده‌شده از back/forward cache و iframe ها اشاره کرد.

برای مثال، API ممکن است برخی ورودی‌های مربوط به iframe را گزارش نکند، در حالی که این ورودی‌ها در محاسبه First Input Delay باید مورد توجه قرار گیرند.

به همین دلیل استفاده از کتابخانه web-vitals می‌تواند فرآیند اندازه‌گیری را برای توسعه‌دهندگان ساده‌تر کند.

داده‌های FID را چگونه تحلیل کنیم؟

برای تحلیل FID باید به توزیع داده‌ها و صدک‌های بالاتر، به‌خصوص صدک‌های ۹۵ تا ۹۹، توجه کرد.

علت اهمیت این موضوع آن است که مقدار FID کاربران مختلف می‌تواند متفاوت باشد. زمان تعامل کاربر با صفحه و وظایفی که در همان لحظه روی Main Thread اجرا می‌شوند، نتیجه را تغییر می‌دهند.

اگر گزارش‌ها را بر اساس دستگاه تفکیک می‌کنید، داده‌های کاربران موبایل و دسکتاپ نیز باید جداگانه بررسی شوند. در این حالت می‌توان صدک‌های مربوط به هر گروه را به صورت مستقل تحلیل کرد.

بیشتر بخوانید: پوگو استیکینگ چیست؟

چگونه FID را بهبود دهیم؟

برای بهبود FID باید فشار روی Main Thread را کاهش داد، زمان اجرای JavaScript را کم کرد و وظایف طولانی را به بخش‌های کوچک‌تر تقسیم کرد.

راهکارهای اصلی برای بهبود First Input Delay عبارت‌اند از:

  1. تقسیم Long Task ها
  2. آماده‌سازی بهتر صفحات برای تعامل
  3. استفاده از Web Worker
  4. کاهش زمان اجرای JavaScript
  5. به تعویق انداختن اسکریپت‌های غیرضروری
  6. کاهش JavaScript استفاده‌نشده
  7. استفاده صحیح از Code Splitting
  8. کاهش اسکریپت‌های Third-Party غیرضروری
  9. کاهش CSS بلااستفاده
  10. کاهش حجم منابع

۱. تقسیم وظایف طولانی JavaScript

تقسیم Long Task های جاوا اسکریپت به وظایف کوچک‌تر، زمان درگیری Main Thread را کاهش می‌دهد و می‌تواند FID را بهبود دهد.

اگر یک وظیفه مدت زیادی Main Thread را درگیر کند، تعامل کاربر باید منتظر پایان آن بماند. با تقسیم یک کار بزرگ به چند بخش کوچک‌تر، فرصت بیشتری برای رسیدگی به ورودی‌های کاربر ایجاد می‌شود.

Chrome DevTools می‌تواند برای شناسایی این وظایف مورد استفاده قرار گیرد.

۲. صفحه را برای تعامل سریع‌تر آماده کنید.

بارگذاری تدریجی کد و قابلیت‌های غیرضروری باعث می‌شود منابع ضروری زودتر در دسترس قرار گیرند و صفحه سریع‌تر برای تعامل آماده شود.

در سایت‌هایی که به JavaScript وابستگی زیادی دارند، حجم زیاد کد، اجرای سنگین و جداسازی نامناسب می‌تواند زمان آماده شدن صفحه برای تعامل را افزایش دهد.

استفاده از رندر سمت سرور و بارگذاری تدریجی محتوا نیز در فایل به عنوان بخشی از این رویکرد مطرح شده است.

۳. استفاده از Web Worker

Web Worker امکان اجرای عملیات غیر مرتبط با رابط کاربری را در یک رشته جداگانه فراهم می‌کند و به کاهش فشار روی Main Thread کمک می‌کند.

وقتی پردازش‌های غیرضروری برای Main Thread به یک worker منتقل شوند، این رشته منابع بیشتری برای رسیدگی به تعاملات کاربر خواهد داشت.

در فایل منابعی مانند Comlink، Workway و Workerize نیز برای ساده‌تر کردن استفاده از Web Worker معرفی شده‌اند.

۴. کاهش زمان اجرای JavaScript

هرچه مقدار JavaScript مورد نیاز صفحه کمتر باشد، مرورگر زمان کمتری برای پردازش آن صرف می‌کند و فرصت بیشتری برای پاسخ‌گویی به تعاملات خواهد داشت.

برای این کار می‌توان JavaScript استفاده‌نشده را شناسایی کرد و کدهایی را که برای نمایش اولیه یا تعاملات ابتدایی ضروری نیستند، از مسیر اصلی بارگذاری خارج کرد.

۵. استفاده از async و defer

اسکریپت‌هایی که برای مسیر یا محتوای مهم صفحه ضروری نیستند، می‌توانند با async یا defer با تأخیر بیشتری بارگذاری شوند.

این روش به‌خصوص برای اسکریپت‌های Third-Party اهمیت دارد. طبق محتوای فایل، اسکریپت‌های شخص ثالث باید در حالت پیش‌فرض با async یا defer بارگذاری شوند، مگر اینکه دلیل مشخصی برای استفاده نکردن از این روش وجود داشته باشد.

۶. استفاده از Code Splitting

Code Splitting با تقسیم یک فایل یا مجموعه بزرگ JavaScript به بخش‌های کوچک‌تر، امکان بارگذاری کد را فقط در زمان نیاز فراهم می‌کند.

به جای اینکه تمام کد مورد نیاز یک برنامه در ابتدای بارگذاری دریافت شود، بخش‌های مختلف می‌توانند بر اساس مسیر یا تعامل مشخص کاربر واکشی شوند.

در فایل، استخراج دینامیک و ابزارهایی مانند webpack، Rollup و Parcel نیز در این زمینه مطرح شده‌اند.

۷. کاهش JavaScript استفاده‌نشده

کد JavaScript غیرضروری را نباید بدون دلیل در بارگذاری اولیه صفحه قرار داد.

ابزار Coverage در Chrome DevTools می‌تواند نشان دهد چه مقدار از JavaScript موجود در صفحه استفاده نشده است.

پس از شناسایی کدهای غیرضروری، می‌توان آن‌ها را حذف کرد، به تأخیر انداخت یا فقط در زمان موردنیاز بارگذاری کرد.

۸. کاهش اسکریپت‌های Third-Party

اسکریپت‌های شخص ثالث می‌توانند با اشغال منابع و Main Thread، آمادگی صفحه برای تعامل را به تاخیر بیندازند.

تبلیغات، تگ‌ها و سایر کدهای خارجی ممکن است در زمان نامناسب بارگذاری شوند و منابع مورد نیاز صفحه را تحت تاثیر قرار دهند.

به همین دلیل بهتر است بارگذاری این کدها بر اساس نیاز واقعی کاربر انجام شود.

۹. کاهش CSS غیرضروری

حذف CSS بلااستفاده می‌تواند حجم منابع و میزان پردازشی را که مرورگر باید انجام دهد کاهش دهد.

اگرچه JavaScript در مشکلات FID نقش مهمی دارد، CSS نیز می‌تواند روی پردازش صفحه اثر بگذارد. کاهش کدهای غیرضروری باعث می‌شود مرورگر کار کمتری برای پردازش و رندر انجام دهد.

۱۰. کاهش Polyfill های غیرضروری

کاهش Polyfill هایی که واقعاً موردنیاز نیستند می‌تواند حجم JavaScript را پایین بیاورد.

در سایت‌هایی که از کد مدرن JavaScript استفاده می‌کنند، ارائه کدهای قدیمی برای محیط‌هایی که به آن‌ها نیاز ندارند می‌تواند حجم اضافی ایجاد کند.

در فایل، استفاده از ابزارهایی مانند Babel و روش ارائه نسخه‌های متناسب با محیط‌های مختلف برای مدیریت این موضوع مطرح شده است.

FID چه ارتباطی با Long Task و TBT دارد؟

Long Task می‌توانند Main Thread را مسدود کنند و همین وضعیت یکی از عوامل مهم افزایش FID است؛ TBT نیز برای بررسی این نوع انسداد در محیط آزمایشگاهی کاربرد دارد.

وقتی یک وظیفه طولانی اجرا می‌شود، کاربر ممکن است دقیقاً در همان لحظه تلاش کند با صفحه تعامل داشته باشد. اگر Main Thread هنوز درگیر آن وظیفه باشد، ورودی کاربر منتظر می‌ماند.

بنابراین بررسی Long Task ها می‌تواند به پیدا کردن ریشه مشکلات تعامل کمک کند.

آینده FID و جایگزینی آن با INP

FID دیگر معیار اصلی گزارش عملکرد تعامل نیست و طبق اطلاعات فایل، از مارس ۲۰۲۴ با INP جایگزین شده است.

یکی از محدودیت‌های First Input Delay این بود که تنها اولین ورودی کاربر را بررسی می‌کرد و کل چرخه یک تعامل را در نظر نمی‌گرفت. همچنین زمان پردازش رویداد و زمانی را که مرورگر برای به‌روزرسانی رابط کاربری نیاز داشت، در مقدار FID وارد نمی‌کرد.

INP با هدف ارائه تصویری جامع‌تر از واکنش‌پذیری صفحه مطرح شد و به جای تمرکز صرف بر اولین تعامل، تعاملات کاربر را در طول حضور او در صفحه مورد توجه قرار می‌دهد.

بنابراین اگر امروز در گزارش‌های عملکرد سایت با INP مواجه می‌شوید، باید توجه داشته باشید که این معیار جایگزین First Input Delay شده است؛ با این حال، بسیاری از بهینه‌سازی‌هایی که برای کاهش FID انجام می‌شدند، مانند کاهش JavaScript و مدیریت Long Task ها، همچنان برای بهبود تعامل‌پذیری صفحه اهمیت دارند.

جمع‌بندی

FID معیاری برای اندازه‌گیری تاخیر مرورگر در پاسخ به اولین تعامل واقعی کاربر است و مقدار کمتر از ۱۰۰ میلی‌ثانیه به عنوان وضعیت مطلوب در نظر گرفته می‌شود.

عامل مهم در افزایش این پارامتر، درگیری Main Thread با پردازش‌های سنگین، به‌خصوص JavaScript است. بنابراین برای کاهش این تأخیر باید روی مواردی مانند تقسیم Long Task ها، کاهش زمان اجرای JavaScript، حذف کدهای بلااستفاده، مدیریت اسکریپت‌های Third-Party، استفاده از Web Worker و بارگذاری تدریجی منابع تمرکز کرد.

تاخیر اولین ورودی همچنین یک معیار صرفاً آزمایشگاهی نیست و برای اندازه‌گیری آن به تعامل واقعی کاربر نیاز است. به همین دلیل تحلیل داده‌های میدانی و توجه به توزیع مقادیر اهمیت زیادی دارد.

در نهایت باید توجه داشت که FID از سال ۲۰۲۴ جای خود را به INP داده است. با این وجود، شناخت FID همچنان برای درک یکی از مفاهیم مهم عملکرد وب و علت تاخیر در پاسخ‌گویی صفحات ارزشمند است.

سوالات متداول درباره FID

FID چیست؟

FID مخفف First Input Delay و معیاری برای اندازه‌گیری تاخیر بین اولین تعامل کاربر با صفحه و شروع پاسخ مرورگر به آن تعامل است.

بهترین مقدار FID چقدر است؟

FID کمتر از ۱۰۰ میلی‌ثانیه مقدار مطلوب محسوب می‌شود. مقدار بین ۱۰۰ تا ۳۰۰ میلی‌ثانیه نیازمند اصلاح و مقدار بالاتر از ۳۰۰ میلی‌ثانیه ضعیف در نظر گرفته می‌شود.

چه چیزی باعث افزایش FID می‌شود؟

مهم‌ترین عامل افزایش FID، اجرای پردازش‌های سنگین روی Main Thread، به‌خصوص JavaScript است. پیچیدگی کد، منابع زیاد و اسکریپت‌های شخص ثالث نیز می‌توانند در ایجاد تاخیر نقش داشته باشند.

آیا FID با FCP یکسان است؟

خیر؛ FCP زمان نمایش اولین محتوای صفحه را اندازه‌گیری می‌کند، اما FID تاخیر در شروع پاسخ به اولین تعامل کاربر را بررسی می‌کند.

آیا FID در آزمایشگاه اندازه‌گیری می‌شود؟

خیر؛ FID به تعامل واقعی کاربر نیاز دارد و به همین دلیل به صورت میدانی اندازه‌گیری می‌شود. برای بررسی مشکلات مرتبط در محیط آزمایشگاهی می‌توان TBT را مورد توجه قرار داد.

برای اندازه‌گیری FID از چه ابزارهایی استفاده می‌شود؟

PageSpeed Insights، Chrome User Experience Report، Search Console و کتابخانه web-vitals از ابزارهای معرفی‌شده برای اندازه‌گیری و بررسی FID هستند.

آیا اسکرول در FID محاسبه می‌شود؟

خیر؛ FID روی تعاملات ورودی مجزا مانند کلیک، لمس و فشردن کلید تمرکز دارد و اسکرول و زوم در آن قرار نمی‌گیرند.

چگونه FID را کاهش دهیم؟

با کاهش زمان اجرای JavaScript، تقسیم Long Task ها، حذف کدهای غیر ضروری، مدیریت اسکریپت‌های Third-Party و استفاده از Web Worker می‌توان FID را بهبود داد.

آیا FID هنوز معیار اصلی عملکرد سایت است؟

خیر؛ طبق اطلاعات فایل، FID در مارس ۲۰۲۴ با INP جایگزین شده است. با این حال، روش‌های فنی مورد استفاده برای کاهش FID همچنان برای بهبود تعامل‌پذیری صفحات اهمیت دارند.