FID چیست
فهرست مطالب
آخرین به روزرسانی در 29/07/2022
در این مقاله قصد داریم بدانیم که fid چیست.
به طور کلی اگر بخواهیم مقدمه ای را بگوییم ، fid یکی از معیار های مهم دیگر در سئو و طراحی سایت می باشد.
و قائدتا بر سئو و امتیاز دهی گوگل و سایر ابزارهای مشابه آن تاثیر گذار می باشد.
پس تا پایان این مقاله با ما همراه باشید تا توضیحات کامل تری در رابطه با چیستی این معیار مهم ارائه دهیم.
fid چیست
FID مخفف عبارت First Imput Delay می باشد.
همانطور که گفته شد این یکی از معیارهای مهم برای گوگل بوده و در به روزرسانی های جدید نیز بر اهمیت آن افزوده شده است.
اما بالاخره به سراغ مفهوم این معیار برویم.
fid مدت زمان تعامل کاربر با سایت را نشان می دهد اما این به چه معناست ؟
زمانی که شما عملکردی را در یک وبسایت انجام می دهید ؛ حال این عملکرد می تواند کلیک بر روی هر لینک و محتوایی در وبسایت باشد ؛ مدت زمان پاسخگویی سایت به درخواست شما تحت عنوان معیار fid در نظر گرفته می شود.
اما شاید با خود بگویید اینکه همان لودینگ می باشد ؛ اما اینطور نیست زیراکه عملکردهای داخل وبسایت تنها به انتقال از یک صفحه به صفحه ی دیگر خلاصه نمی شود.
عملکرد یک وبسایت می تواند با یک هاور کردن روی یک دکمه و نمایش واکنش آن و یا کلیک بر روی یک ویدیو و مدت زمان نمایش آن باشد.
که هیچ یک از آن ها شما را به صفحه ی دیگری منتقل نمی کند.
FID معیاری است که پاسخگویی وب سایت را ردیابی می کند، در حالی که CLS ثبات بصری را ردیابی می کند و LCP سرعت بارگذاری را ردیابی می کند.
وقتی آپدیت Page Experience در ژوئن 2021 منتشر شد، Google Core Web Vitals را بخشی از الگوریتم رتبهبندی خود کرد.
به عبارت دیگر، دلایل زیادی برای تمرکز بر بهینه سازی FID در وب سایت شما وجود دارد.
قائدتا با توجه به تعریف هرچه این زمان پاسخ گویی کمتر باشد ، تجربه ی کاربری نیز بهتر بوده و در نتیجه گوگل نیز امتیاز بالاتری را به شما می دهد.
(لازم به ذکر است در ابزار جی تی متریکس fid تحت همان معیار tbt شناخته می شود که شباهت بسیاری نیز با آن دارد اما در ادامه با توضیحات بیشتر تفاوت هایی نیز خواهید دید.)
fid شامل چه چیزهای می شود
همانطور که گفته شد FID معیاری است که میزان پاسخگویی صفحه را در هنگام تعامل کاربر اندازه گیری میکند.
به این ترتیب، فقط روی رویدادهای ورودی از اقدامات مجزا مانند کلیک، ضربه زدن و فشار کلیدها تمرکز میکند.
در نتیجه تعاملات دیگر، مانند اسکرول و زوم کردن، فعالیتهای پیوستهای هستند و محدودیتهای عملکردی کاملا متفاوتی دارند و ارتباطی با fid ندارند.
این به این دلیل است که هیچ پاسخی از خود سایت دریافت نمی شود.
و هدف FID اندازه گیری میزان پاسخگویی سایت در حین بارگذاری است.
به طور کلی FID بر روی واکنش پذیری تمرکز دارد و ارتباطی را با انیمیشن های وبسایت شما ندارد.
تفاوت های بین fid ، fcp و tti
Time to Interactive یک معیار عملکرد بسیار مفید است که ممکن است برای شما بسیار شبیه به fid به نظر برسد.
Time to Interactive (TTI) مدت زمان لازم برای تعامل کامل یک صفحه را اندازه گیری می کند.
زمانی ثبت میشود که محتوای ارزشمندی قبلاً در صفحه ارائه شده باشد (اندازهگیری شده با First Contentful Paint)،
کنترلکنندههای رویداد برای اکثر عناصر صفحه ثبت شدهاند، و تعامل کاربر در ۵۰ میلیثانیه پردازش میشود.
fid از این جهت متفاوت است که می تواند ورودی کاربر را که قبل از تعامل کامل صفحه اتفاق می افتد، ردیابی کند.
به عنوان مثال، یک کاربر ممکن است روی پیوندی که قبل از TTI برای اکثر عناصر صفحه ظاهر می شود، کلیک کند.
fid از زمان به تعامل متفاوت است زیرا به شما امکان می دهد آن تعاملات اولیه و حیاتی را ثبت کنید.
بهینه سازی fid
همانطور که می دانید معمولا کدهای سمت فرانت یکی از اصلی ترین دلایل در سرعت سایت هستند.
و در بین کدهای سمت فرانت سایت جاوا اسکریپت می تواند تاثیر به سزایی را در بالا رفتن زمان TBT و به طور مستقیم افت FID سایت شما بگذارد.
این به این علت است که اگر میزان کدهای جاوا اسکریپت سایت شما بیشتر از حد استاندارد باشد ، این تعامل با تاخیر انجام می شود.
چون قائدتا زمانیکه شما دست به انجام عملکردی داخل وبسایت خواهید زد ؛ مرورگر به جای پردازش عملکرد مورد نظر شما در سریع تری زمان ممکن ابتدا دست به خواندن جاوا اسکریپت سایت خواهد زد.
به طور خلاصه مجموعه کارهایی که این عملیات پردازش را سریع تر می کند عبارتند از :
- استفاده از کد نویسی بهینه و کاهش حجم فایل های جاوا اسکریپت
- بهینه سازی کدهای css و فشرده سازی به همراه درون خطی کردن آن ها
- کاهش حجم تصاویر و فایل های مدیایی سایت
- استفاده از سرور قدرتمند
- استفاده از Web Worker (مسدودیت thread یکی از دلایل اصلی ایجاد تاخیر در تعامل با کاربر می باشد.
Web worker ها کدهای جاوا اسکریپت را در پس زمینه ی سایت اجرا کردن و باعث حل این مشکل می شوند
با انتقال عملیات های مستقل از رابط کاربری به یک web worker جداگانه میتوان زمان مسدود شدن main thread را کاهش و FID را به شکل قابل توجهی بهبود بخشید.
به عنوان مثال زمانیکه چند درخواست شبکه برای منابع (به احتمال زیاد فایلهای CSS و JS) ارائه می شود و پس از اتمام بارگیری آن منابع روی thread اصلی پردازش میشوند.
این اتفاق منجر به دورههایی میشود که thread مشغول می شود.) - polyfill ها ( در به روزرسانی های جدید جاوا اسکریپت ، شما برای کار بر روی مرورگرهای قدیمی نیاز به Transpile کردن دارید که این شامل polyfillها نیز میباشد.
یکی از مشکلاتی که این transpile کردن و استفاده از polyfillها به وجود میآورد این است که مرورگرهای جدید دیگر آن را دانلود نمی کنند.
به همین علت برای کاهش حجم جاوا اسکریپت سایت تا جای ممکن از polyfill را به حداقل برسانید. تعداد درخواست ها و سایز انتقال ها را کاهش دهید (باز هم، اطمینان حاصل کنید که کاربر فقط مهم ترین و مهم ترین اطلاعات را در بار اول دریافت می کند.
تعداد درخواستها را کم و اندازههای انتقال را کوچک کنید.)
جاوا اسکریپت های بالای صفحه :
مشکل جاوا اسکریپت این است که نه تنها باید دانلود شود بلکه باید اجرا شود.
بنابراین این دو چیز هستند که به تأخیر ورودی کمک می کنند.
راه حل واضح این است که این نوع اسکریپت ها را از بالای صفحه جابجا کنید و آنها را در پایین قرار دهید تا با سایر عناصر صفحه که در انتظار ارائه هستند تداخل نداشته باشند.
اما اگر، برای مثال، در انتهای یک صفحه وب بسیار طولانی قرار گیرد، می تواند مشکل ساز باشد.
این به این دلیل است که هنگامی که صفحه بزرگ بارگیری می شود و کاربر آماده تعامل با آن است، مرورگر همچنان سیگنال می دهد که در حال دانلود است (زیرا فایل بزرگ جاوا اسکریپت در پایان عقب مانده است).
صفحه ممکن است سریعتر دانلود شود، اما در حین انتظار برای اجرای جاوا اسکریپت متوقف شود.
ویژگیهای Defer و Async
ویژگیهای Defer و Async HTML مانند سیگنالهای ترافیکی هستند که شروع و توقف نحوه بارگیری و اجرای جاوا اسکریپت را کنترل میکنند.
ویژگی HTML چیزی است که یک عنصر HTML را تغییر می دهد، به نوعی مانند گسترش هدف یا رفتار عنصر.
مثل زمانی است که شما یک مهارت را یاد می گیرید.
این مهارت به ویژگی شخصیت شما تبدیل می شود.
در این حالت، ویژگیهای Defer و Async به مرورگر میگویند که هنگام دانلود، تجزیه HTML را مسدود نکند.
این ویژگیها به مرورگر میگویند که تا زمانی که جاوا اسکریپت در حال بارگیری است، موضوع اصلی ادامه داشته باشد.
Async Attribute
فایل های جاوا اسکریپت با ویژگی Async دانلود و سپس به محض دانلود اجرا می شوند.
زمانی که شروع به اجرا می کند، نقطه ای است که فایل جاوا اسکریپت رشته اصلی را مسدود می کند.
به طور معمول، زمانی که فایل شروع به دانلود می کند، موضوع اصلی را مسدود می کند.
اما نه با ویژگی async بلکه با defer .
این یک دانلود ناهمزمان نامیده می شود، جایی که به طور مستقل از موضوع اصلی و به موازات آن دانلود می شود.
async attribute برای فایلهای جاوا اسکریپت شخص ثالث مانند تبلیغات و اشتراکگذاری اجتماعی مفید است ؛ فایلهایی که ترتیب اجرا در آنها اهمیتی ندارد.
Defer Attribute
فایل های جاوا اسکریپت با Defer Attribute نیز به صورت ناهمزمان دانلود می شوند.
اما فایل جاوا اسکریپت معوق اجرا نمی شود تا زمانی که کل صفحه دانلود و رندر شود.
اسکریپت های معوق نیز به ترتیبی که در یک صفحه وب قرار دارند اجرا می شوند.
اسکریپت هایی با Defer Attribute برای فایل های جاوا اسکریپت مفید هستند که به عناصر صفحه در حال بارگذاری و زمان اجرای آنها بستگی دارد.
به طور کلی، از Defer Attribute برای اسکریپت هایی استفاده کنید که برای رندر خود صفحه ضروری نیستند.
Idle until urgent
Idle until urgent یک استراتژی ارزیابی کد است که توسط فیلیپ والتون از Google طراحی شده است.
این استراتژی عناصری را از دو رویکرد محبوب ارزیابی کد یعنی ارزیابی eager و ارزیابی lazy می گیرد.
ارزیابی eager به این معنی است که تمام کد شما بلافاصله اجرا می شود.
این رویکرد منجر به صفحهای میشود که برای مدت طولانی بارگیری میشود تا زمانی که کاملاً تعاملی باشد، اما سپس به آرامی بدون هیچ مشکلی اجرا میشود.
ارزیابی lazy رویکرد مخالف است و کد شما فقط در صورت نیاز اجرا می شود.
در حالی که مزایای خود را دارد و ممکن است برای برخی از وبسایتها مفید باشد، اما ارزیابی lazy به این معنی است که پس از اجرای کد، خطر تاخیر در ورودی را دارید.
Idle until urgent باعث می شود که بهترین جنبه های هر دو روش را برای ارائه روشی هوشمندانه برای ارزیابی کد شما داشته باشد، بنابراین تاخیر ورودی حداقل است.
Idle until urgent به شما امکان میدهد کد خود را در دورههای Idle اجرا کنید و از رشته اصلی تا حد ممکن استفاده کنید.
در عین حال، تضمین می کند که کدهای ضروری اجرا می شوند.
استفاده از روش Idle until urgent ، یک راه عالی برای بهبود fid شما است.
از آنجایی که اجرای کد فقط در دورههای Idle انجام میشود، شما زمان مسدود شدن رشته اصلی را به حداقل میرسانید.
بهترین نمره fid
بسیار خوب است سعی کنید FID خود را زیر 100ms نگه دارید.
همچنین طبق آمار PageSpeed Insights هر مقدار از fid طبق اطلاعات زیر معنایی را دارد :
- 100 میلیثانیه یا کمتر خوب در نظر گرفته میشود
FID بین 100 تا 300 نیاز به بهبود دارد
FID بالاتر از 300ms ضعیف در نظر گرفته می شود
با این حال، به خاطر داشته باشید که مرورگر همچنان باید وظیفه مرتبط با ورودی کاربر را اجرا کند، که توسط FID اندازه گیری نمی شود.
بنابراین در برخی موارد، FID شما ممکن است کمتر از 100 میلیثانیه باشد، اما ممکن است صفحه همچنان کمی بیپاسخ باشد.
نکته ای که وجود دارد این است که FID فقط تاخیر را در پردازش رویداد اندازهگیری میکند.
در نتیجه قادر به سنجش زمان پردازش رویداد و زمانی که مرورگر برای بهروزرسانی UI پس از اجرای کنترلکنندههای رویداد نیاز دارد، نیست و این دقیقا تفاوت اصلی بین fid و tbt است.
نحوه اندازه گیری fid
FID معیاری است که به صورت میدانی اندازه گیری می شود و این اندازه گیری نیز زمانی است که یک کاربر با وبسایت شما ارتباط یا تعاملی بر قرار کند.
شما با استفاده از ابزارهای زیر می توانید این معیار را مانند سایر معیارها به خوبی اندازه گیری کنید.
- Chrome User Experience Report
- web-vitals JavaScript library
- PageSpeed Insights
- google search console
جمع بندی
گوگل برای سایت هایی که سرعت بالایی دارند ارزش قائل است و سرعت سایت در حال حاضر یک ویژگی شناخته شده در الگوریتم رتبه بندی آن است.
سایت های کند منجر به نرخ پرش بالا و ناامیدی کاربران می شوند که به ناچار سایت شما را در رتبه بندی گوگل پایین می آورد.
برای ناشرانی که به دنبال تنوع بخشیدن به جذب ترافیک هستند، جستجوی ارگانیک گوگل کانال مهمی برای بهینه سازی مداوم است.
یک FID ضعیف تأثیر منفی را به صورت زیر بر بهینه سازی موتور جستجوی شما خواهد داشت :
- ترافیک جستجوی ارگانیک کمتر
- دشواری رتبه بندی در صفحه 1 برای کلمات کلیدی و اصطلاحات مورد نظر
- کاهش درآمد تبلیغات به دلیل تعداد بازدید، بازدید از صفحه و کلیک کمتر
- نرخ پرش بالا
Google Core Web Vitals و SEO دست به دست هم می دهند و توجه به اثرات ارگانیک رتبه بندی گوگل مهم است.
مهرسا امینی
برنامه نویس ، انیماتور ، سئوکار
در زندگی رویاهات را دنبال کن