Total Blocking Time یا TBT چیست و چه کاربردی دارد؟
8 دقیقه
TBT معیاری در core web vital (هسته حیاتی وب) است که توسط گوگل و برای سنجش و ارزیابی تجربه کاربر و مخاطب در یک صفحه وب، راه اندازی شده است. اطلاعات مربوط به این بخش در سرچ کنسول گوگل و ابزارهای سنجش سرعت سایت وجود دارد. این فاکتوری مهم در تعیین رتبه در page speed insight گوگل بوده و در سئو سایت بسیار تاثیرگذار است. این معیار در رتبه بندی صفحات گوگل نقش موثری دارد و کمک می کند تجربه بهتری را برای کاربران رقم بزنیم. سال ها بعد از معرفی، این معیار بیشتر مورد توجه، به خصوص کارشناسان سئو قرار گرفت. این که تعریف دقیق آن چیست و چگونه سنجیده می شود نیاز به توضیحاتی مفصل تر دارد که در این مقاله از رایاپارس به آن ها مفصل پرداخته ایم. در ادامه با ما همراه باشید تا کاربردهای این مفهوم را با هم بررسی کرده و با راه حل هایی برای بهبود نرخ آن آشنا شوید.
TBT یا Total Blocking Time چیست؟
قبل از تعریف TBT بد نیست که دو اصطلاح دیگر را هم مختصر معرفی کنیم تا بهتر متوجه مفهوم اصلی شوید.
FCP (First Contentful Paint): بارگذاری اولین المان صفحه سایت
TTI (Time To Interactive): مدت زمانی که یک صفحه برای کاربر قابل تعامل می شود.
حال بهتر می توانیم تعریف کنیم که TBT یا مجموع زمان مسدود شده، مجموع زمان بین FCP تا TTI می باشد. یعنی وقتی که رشته اصلی (Main Thread) صفحه سایت به اندازه ای مسدود باشد که به کاربر اجازه تعامل با صفحه داده نشود. رشته اصلی، قسمتی از مرورگر است که کار اجرای منابع مختلف مثل اجرای فایل های HTML و CSS و JAVA SCRIPT و ... و بارگذاری کلی صفحه را انجام می دهد. در واقع مرورگر از main thread هنگام بارگذاری صفحه و تعامل با کاربر و کلیک کردن استفاده می کند. اما مسدود شدن زمانی اتفاق می افتد که بارگذاری عناصر صفحه سایت و دیگر وظایف رشته اصلی بیشتر از 50 میلی ثانیه زمان ببرد. در زمانی که main thread مسدود می شود و مرورگر نمی تواند در کاری که رشته اصلی انجام می دهد، تداخلی ایجاد کند. اما در همین زمان کاربر منتظر است و می خواهد با صفحه مورد نظر تعامل کند؛ ولی مرورگر نمی تواند پاسخی به درخواست کاربر ارائه دهد و کاربر باید منتظر باشد تا زمانی که مسدود شدن رشته اصلی به پایان برسد و وظیفه خود را به درستی انجام دهد. اما اگر مدت مسدود شدن صفحه بیشتر از حدی زمان ببرد، کاربر کلافه شده و ممکن است این طور فکر کند که صفحه freeze شده و باز شدن آن کند انجام می شود؛ این ممکن است مخاطب صفحه سایت را ترک کند و سراغ سایت دیگری برود. زمان TBT بعد از این 50 ثانیه محاسبه می شود. یعنی اگر انجام یک تسک برای رشته اصلی بیش از این مقدار زمان ببرد، به عنوان یک وظیفه با زمان طولانی (Long Task) محسوب می شود. مثلا اگر انجام یک تسک مثل باز شدن یک فایل جاوا اسکریپت 75 میلی ثانیه زمان ببرد، یعنی 25 ثانیه زمان مسدود بودن را پشت سر گذاشته است تا لودینگ کامل شود.
بهترین مقدار TBT چقدر است؟
میزان استانداردی برای نرخ TBT وجود دارد که با توجه به تحقیقاتی روی هزاران سایت که بهترین مقدار این فاکتور را داشته اند، مشخص شده است. طبق تعاریف google lighthouse این میزان برای سایت هایی با که TBT کمتر از 300 میلی ثانیه دارند، بهینه و ایده آل است. اگر سایت ما به لحاظ اصول فنی سئو به خوبی بهینه شده باشد این میزان باید به همین مقدار باشد. این مقدار با توجه به تمام تسک های طولانی ای که روی سایت اجرا می شود محاسبه می گردد. به طور کلی نرخ فاکتور Total Blocking Time در محدوده زیر رتبه بندی می شوند:
- بین 0 تا 300 میلی ثانیه
در این حالت اوضاع سایت ما بسیار خوب است و نیازی نیست که اقدام خاصی را برای کاهش نرخ مسدود بودن صفحه انجام دهیم.
- بین 300 تا 600 میلی ثانیه
این نوعی حد واسط برای میزان مسدودی محاسبه می شود، اما بهتر است برنامه هایی برای رفع و بهبود آن در دستور کار قرار دهیم.
- بیش از 600 میلی ثانیه
این صفحات در محدوده صفحات کندی دسته بندی می شوند که به طور آهسته و با تاخیر باز می شوند. لازم است در این مواقع هر چه سریع تر و در اولین فرصت، نسبت به بهینه سازی نرخ TBT اقدام شود.
ابزارهای اندازه گیری TBT
ابزارها و روش های متنوع و کارآمدی وجود دارد تا بتوانیم میزان TBT را اندازه گیری کنیم. اما ابزارهای خود گوگل با توجه به این که خود، معرفی کننده این فاکتور ها و توسعه دهنده اصلی اصول سئو سایت می باشد، بیشتر توصیه می شوند. ابزار هایی مثل Google Lighthouse و Google Page Speed Simulaors از ابزارهای ساده و معرفی شده توسط خود گوگل است و GTMetrix هم جزو دیگر ابزارهای پرکاربرد و بسیار دقیق برای سنجس میزان نرخ مسدود بودن سایت است. دیگر ابزارهای قابل قبول برای اندازه گیری TBT به شرح زیر است:
- Chrome Dev Tools
- Speed Curve
- Pingdom
- Web Page Test
TBT چه تاثیری در سئو سایت دارد؟
زمانی که باز شدن المان های یک صفحه طول بکشد کاربر بخشی از وقت خود را تلف شده می پندارد و ممکن است خیلی منتظر باز شدن صفحه ما نماند. چرا که برای او بسیار مهم است که بعد از وارد شدن به صفحه ای، به سرعت به خدمات مختلف آن دسترسی داشته و تعامل مورد نظر خود را ایجاد کند. اما مسدود بودن بیش از حد رشته اصلی و عدم پاسخگویی مرورگر، کاربر را در نهایت خسته می کند و سایت ما را به راحتی ترک می کند. این خود یکی از مواردی است که تجربه کاربری سایتی را در اولین برخورد با کاربرانش، به شدت پایین می آورد. از طرفی دیگر گوگل TBT را که یکی از فاکتورهای مهم Core Vital Web در بهبود تجربه کاربر می داند و علاوه بر آن برخی دیگر الگوریتم های خود را مامور بررسی همین رضایت خاطر کاربران کرده است. این موضوع مثل دیگر عوامل موثر بر سرعت، در رتبه بندی سایت اهمیت داشته و گوگل برای آن امتیازی ویژه قائل می شود که همگی بر بهینه سازی سایت یا SEO تاثیرگذار است. TBT بالا با نرخ پرش رابطه ای مستقیم دارد. یعنی هرچقدر میزان مسدودی و سرعت باز شدن المان های یک صفحه بالاتر باشد می تواند شدت نرخ پرش سایت را افزایش دهد که برای سئو سایت اقدامی مخرب محسوب می شود. هر چقدر بتوانیم با ابزارهای معرفی شده میزان Total Blocking Time را کاهش دهیم امتیاز ویژه تری از گوگل دریافت کرده و در سئو سایت خود موفق تر ظاهر خواهیم شد. شاید خودتان به تنهایی متوجه بهینه سازی این فاکتورو دیگر عوامل موثر در بهبود سرعت وبسایت نباشید، در این صورت می توانید از یک مشاوره سئو کمک بخواهید تا وبسایت شما را آنالیز کند و راهکارهایی به جهت بهبود آن ارائه دهد.
راهکارهایی برای بهینه کردن TBT
راه حل های گوناگونی وجود دارد تا بتوانیم نرخ مسدودی و TBT سایت خود را کاهش دهیم. شناخت جدیدترین تکنیک های افزایش سرعت سایت کمک می کند تا بتوانیم به خوبی از معضلات پیش رو در این باره که در بخش قبلی درباره آن ها صحبت کردیم، جلوگیری کرده و نرخ Total Blocking Time خود را بهینه نگه داریم. راهکاری مثل مدیریت third party و کاهش زمان اجرای جاوا اسکریپت ها، جزو راهکارهای موثر در این انجام این اقدامات هستند که شرح آن و باقی روش ها به صورت زیر است:
1 کم کردن اسکریپت های Third-Party
از این نوع اسکریپت استفاده های متعددی می شود که می توان به: اشتراک گذاشتن مطلب و صفحه در شبکه های اجتماعی، گرفتن آمار از صفحه، درج پخش کننده ویدیو و دیگر کاربرد ها، اشاره کرد. این نوع اسکریپت ها به طرز قابل توجهی باعث افزایش درخواست به سرور می شوند و گاهی شامل محتوای غیر بهینه ای هستند که در عملکرد صفحه اختلال ایجاد می کند. برای کنترل میزان TBT بهتر است تا حد امکان این اسکریپت ها محدود شوند.
2 سبک کردن Main Thread
از آن جایی که بسیاری از تسک های مرورگر در رشته اصلی انجام می شود بهتر است تا حد امکان وظیفه غیر ضروری ای برای آن ایجاد نکنیم. برای خلوت کردن Main Thread می توانید از اقدامات زیر بهره ببرید:
- کاهش حجم CSS
- استفاده از web worker ها
- حذف کدهایی که استفاده ای ندارند
- کاهش زمان ارزیابی اسکریپت
3 کم کردن زمان اجرای کدهای جاوا اسکریپت
زمان اجرای جاوا اسکریپت با عوامل متعددی مثل حافظه، شبکه و هزینه های اجرا مرتبط است. مواردی همچون اسکریپت های بلا استفاده، خطاهای کدنویسی، و کدهای بهینه نشده نیز باعث می شود اجرای جاوا اسکریپت طول بکشد و زمان زیادی را به خود اختصاص دهد. همچنین کامپایل، تجزیه و اجرای فایل های اسکریپت غیرقابل استفاده هم تاثیر به سزایی روی زمان اجرای این کدها و زمان نهایی بارگذاری صفحه دارد. به همین منظور توصیه می شود به جای استفاده کلی از این کدها، آن ها را به چند بخش تقسیم کرده و از حجم کدها کم کنید.
نتیجه گیری
در این مقاله از رایا پارس توضیح دادیم که TBT هم مثل سایر عوامل و فاکتورهای تاثیرگذار بر سرعت باز شدن صفحات، در رتبه بندی صفحه جستجو گوگل (SERP) حائز اهمیت و امتیاز ویژه بوده است و گوگل از معیارهایی مثل core web vital برای بهبود تجربه کاربران وب بهره می برد. همچنین ابزارهایی مثل Google Lighthouse برای اندازه گیری میزان TBT یا همان زمان مسدود بودن صفحه وجود دارد که بعد از استفاده از آن ها و در صورتی که بیشتر از عدد استاندارد 300 میلی ثانیه را مشاهده کردیم، با راهکارهایی مثل کاهش کدهای third-party و جاوا اسکریپت می توانیم این مقدار را بهینه و به عدد پایین تری نزدیک کنیم. در صورتی که سوالی در خصوص این مقاله برای شما پیش آمد یا حس می کنید نکته ای کلیدی از چشم نگارنده آن دور مانده است، حتما در بخش نظرات همین صفحه با ما در میان بگذارید. همواره می توانید دیگر سوالات خود را از طریق بخش تماس با ما، با کارشناسان ما در رایاپارس مطرح بفرمایید.