آموزش سئو فنیآموزش سئو پیشرفتهسئو داخلیسئو وردپرس

TTFB چیست و تاثیر آن در سرعت سایت

به طور کلی هنگامی که درباره سرعت سایت وردپرسی صحبت می کنیم، اکثر مواقع بر عملکرد front-end و بهینه سازی سرعت بارگذاری صفحه متمرکز می شویم. با این حال، گاهی بهتر است از سمت سرور که وبسایت شما در اصل از آنجا بارگذاری می شود، به این موضوع نگاه کنیم. امروز به تاثیر TTFB بر وبسایت شما و بحث درباره راه های راحتی به منظور کاهش آن می پردازیم. TTFB معمولا به عنوان یک از عوامل بهینه سازی نادیده گرفته می شود، اما در هنگام آزمایش سرعت سایت باید در نظر گرفته شود.

TTFB چیست

TTFB مخفف time to first byte است. به بیان ساده، اندازه گیری مدت زمانی است که مرورگر باید قبل از دریافت اولین بایت داده از سرور منتظر بماند. هرچه این مدت زمان دریافت داده بیشتر باشد، مدت زمان بیشتری طول می‌کشد تا صفحه برای بازدیدکننده نمایش داده شود. یکی از تصورات رایج غلط این است که TTFB پس از جستجوی DNS محاسبه می‌شود، با این حال، محاسبه TTFB در شبکه همیشه شامل network latency می‌باشد. 3 مرحله  Process و Delay و Latency ممکن است در هرجایی در این بین رخ دهند و به مجموع کلی TTFB شما اضافه کنند.

زمان ttfb
زمان ttfb یا زمان waiting
  1. درخواست به سرور

    هنگامی که کسی از وبسایت شما بازدید می‌کند، اولین چیزی که اتفاق می‌افتد، ارسال درخواست HTTP از کاربر به سرور است. در این مرحله، عوامل گوناگونی وجود دارند که در delay تاثیر دارند. زمان کند DNS lookup می‌تواند باعث افزایش زمان درخواست شود. اگر سرور از نظر جغرافیایی دور باشد، فاصله ای که داده باید بپیماید در latency موثر است. همچنین، اگر قوانین firewall پیچیده ای دارید، ممکن است زمان routing را افزایش دهد. و علاوه بر این موارد، سرعت اینترنت کاربر را فراموش نکنید.

  1. پردازش سرور

    پس از اینکه درخواست ارسال شد، سرور باید آن را پردازش کند و پاسخی تولید کند. این امر می‌تواند تعداد گوناگونی delay مانند فراخوانی آهسته پایگاه داده، اسکریپت های واسطه بیش از حد، ذخیره(cache) نشدن اولین پاسخ، کد یا قالبی که به طور مناسبی بهینه سازی نشده و منابع ناکافی سرور مانند disk I/O یا حافظه ایجاد کند.

  1. پاسخ به کاربر

    بعد از اینکه درخواست توسط سرور پردازش شد، باید آن را به کاربر ارسال کند. این مرحله هم از سرعت شبکه سرور و هم از سرعت اینترنت کاربر تاثیر می‌گیرد. اگر سرعت اینترنت کاربر پایین باشد، بر TTFB تاثیر می‌گذارد.

 آیا TTFB مهم است؟

بسیار مهم است که بدانید TTFB و سرعت وبسایت یکسان نیستند. بحث‌های زیادی در حوزه وب وجود دارند که آیا TTFB مهم است یا نه. بعضی می‌گویند TTFB بی معنی است و بعضی دیگر می‌گویند اهمیت دارد. هر دو گروه دلایلی برای گفته خود می‌آورند و سوالاتی درباره نحوه محاسبه آن می‌پرسند.

حتی وبسایت Moz  مطالعه گسترده ای درباره ارتباط بین رتبه بندی جستجو و TTFB انجام داد. با این حال، دانستن علت این موضوع یا اینکه سایت های با TTFB پایین تر سریعتر هستند، می تواند به نوبه خود توسط عوامل رتبه بندی صفحات گوگل تحت تاثیر قرار گیرد.

اما به جای صرف زمان روی اهمیت داشتن یا نداشتن آن در سئو، می‌توانید برای بهبود این معیار مهم تمرکز کنید. هرکاری که انجام می‌دهید می‌تواند بر سرعت کلی سایت شما از هر نوع CMS که باشید (وردپرس، جوملا و …) شما تاثیر داشته باشد و این موضوع بر TTFB شما هم شاید تاثیر بگذارد. در آزمایش های انجام شده با TTFB زیاد، سرعت  بارگذاری بسیار آهسته بود.

در کل، اگر سرعت بارگذاری زیر 100 میلی ثانیه باشد TTFB مناسب است. Google PageSpeed Insights برای هر پاسخی زمان کمتر از 200 میلی ثانیه را توصیه می‌کند. اگر در بازه 300 تا 500 میلی ثانیه هستید، تقریبا استاندارد است. و اگر بیش از 600 میلی ثانیه باشید، ممکن است در پیکر بندی سرور مشکلی وجود داشته باشد یا زمان آن فرا رسیده که به نرم افزار وب بهتری ارتقا پیدا کنید. یا اینکه می‌توانید دستور العمل های گفته شده در ادامه را دنبال کنید تا TTFB را کاهش دهید و به یاد داشته باشید که SSL/TLS نیز می‌تواند یکی از عوامل کندی هم باشد.

چگونه TTFB را بسنجیم

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

اندازه گیری TTFB با DevTools گوگل کروم

می توان TTFB را در گوگل کروم با استفاده از DevTools اندازه گیری کرد. به یاد داشته باشید، اگر در اندازه گیری TTFB از کامپیوتر خود استفاده می‌کنید، TTFB تحت تاثیر latency شبکه و ارتباط اینترنت قرار می‌گیرد. پس بهتر است از ابزارهای واسطه استفاده کنید تا آزمایش را از data center انجام دهد.

  • در قسمت منوی کروم More Tools را انتخاب کنید و پس از آن Developer Tools را از فهرست کروم انتخاب کنید.
  • روی عنصری از صفحه کلیک راست کنید و inspect را انتخاب کنید.
  • از کلید های میانبر Ctrl+Shift+l(ویندوز) یا Cmd+Opt+l(مک) استفاده کنید

می توانید پنجره network را انتخاب کنید و عملکرد سایت خود را ببینید.

محسابه ttfb در کروم
محسابه ttfb در کروم

اندازه گیری TTFB با WebPageTest

همچنین می توانید TTFB را با WebPageTest بسنجید. Great time زمان مورد نیاز برای DNS، socket و SSL negotiations + 100 میلی ثانیه می باشد. به ازای هر 100 میلی ثانیه یک حرف A کسر می شود. همانطور که در آزمایش زیر می توانید ببینید، TTFB این سایت در 0.256 ثانیه یا 256 میلی ثانیه محاسبه شده است.

زمان TTFB با ابزار WebPagetest
زمان TTFB با ابزار WebPagetest

اندازه گیری TTFB با Pingdom

کروم و WebPageTest به عنوان TTFB به Pingdom رجوع می کنند. با این حال، اگر شما از Pingdom استفاده می کنید، در واقع به عنوان زمان Wait به TTFB مراجعه می کند. می توانید از راهنما استفاده از Pingdom برای آشنایی بیشتر استفاده کنید.

زمان TTFB با ابزار pingdom
زمان TTFB با ابزار pingdom

اندازه گیری TTFB با GTmetrix

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

زمان TTFB با GTMetrix
زمان TTFB با GTMetrix

اندازه گیری TTFB با performance.sucuri

تفاوت اصلی ابزار performance.sucuri با سایر ابزارها این است به یک تست می‌تواند از ۱۰ ها مکان مختلف در سراسر دنیا سایت شما را تست نمایید و زمان TTFB هر مکان با میانگین کلی را ارائه دهد، یکی از ضعف‌های این ابزار کش کردن و یا بهتر است بگیم توان مدیریت برای تست دوباره وجود نداره و اگر همان سایت رو تست دوباره بگیریم نتایج قبلی رو نشون میده.

همچنین ابزار های مختلف دیگری نیز برای اندازه گیری TTFB وجود دارند، مانند tools.keycdn.com و ByteCheck. حتی Google Analytics نیز بخشی برای مشاهده میانگین response time دارد.

4 روش برای کاهش TTFB در سایت

حال به ارائه راهکارهایی برای کاهش TTFB در وبسایت می‌پردازیم.

  1. استفاده از یک هاست پرسرعت با کانفیگ بهینه

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

  2. استفاده از CDN مناسب

    راه دیگری برای کاهش TTFB استفاده از Content Delivery Network یا همان CDN است. CDN را می‌توان به شبکه توزیع محتوا ترجمه کرد و ما بارها درباره اهمیت و تاثیرات مثبت و منفی CDN ها صحبت کرده‌ایم. اگر وبسایتی دارید که میزبان کاربرانی از نقاط مختلف کشور یا جهان است، استفاده از CDN می تواند به شدت TTFB شما را کاهش دهد، البته در برخی مکان‌ها این موضوع صدق نمی‌کند مثلا ایران، توصیه میکنیم مقالات دلایل استفاده از CDN و همچنین رفع خطای CDN در GTmetrix را بخوانید.

     

  3. استفاده از کش مناسب در سایت

    راه سوم و شاید راحت ترین راه کاهش TTFB استفاده از caching در وبسایت وردپرسی است. افراد زیادی فکر می کنند که تنها استفاده از caching می تواند باعث کاهش زمان بارگذاری صفحه شود، اما در حقیقت در کاهش TTFB نیز موثر است و همچنین زمان پردازش سرور را نیز کاهش می دهد. برای اطلاعات بیشتر به مقاله نحوه کش کردن سایت مراجعه نمایید.

  4. استفاده از یک DNS Provider معتبر (رایگان نباشد)

    DNS نیز در TTFB موثر است. محاسبه دقیق مقدار این تاثیر بسیار سخت است، اما همچنان می‌توانید زمان کلی DNS lookup را مشاهده کنید. Provider های سریع و آهسته ای وجود دارند. با استفاده از ابزار SolveDNS speed test می‌توانید از مکان‌های مختلف آزمایش لازم را انجام دهید. برای کاهش زمان لود DNS می‌توانید پست ۸ راه کاهش DNS Lookups و رفع خطای Reduce DNS lookups در GTmetrix مطالعه نمایید.

 

در پایان

موارد متعددی وجود دارند که می توانید بهینه سازی یا تعمیر کنید تا TTFB را کاهش دهید، مانند database caching، Disk IO، Swap usage، RAM، تنظیمات PHP، تنظیمات MySQL، تنظیمات شبکه، TLS overhead و غیره. اما پیاده سازی و اجرای موارد گفته شده در بالا آسانتر هستند و عملکردتان را سرعت می بخشند. پس دفعه بعدی که شخصی از شما پرسید که چطور TTFB را کاهش دهیم، به یاد داشته باشید که هاست سریع وردپرس، CDN، Caching و DNS مواردی هستند که در این زمینه از اهمیت زیادی برخوردارند. رفع و بهبود این موارد راه حل مشکل TTFB است.

 

تهیه شده در سایت میزفا

برچسب ها

پوریا آریافر

اولین کسب و کار آنلاین خودم را در فیسبوک راه‌اندازی کردم و در سال ۲۰۱۱ یکی از پرتعامل‌ترین صفحات فارسی با ۸۰ هزار فالور فعال را داشتم. سپس وارد دنیای شبکه شدم و در انتهای سال ۲۰۱۲ مدرک MCSE مایکروسافت را دریافت کردم، در دوران خدمت سربازی مسئول بهینه سازی یک وبسایت خبری معتبر شدم و آشنایی با سئو را آموختم و در سال ۲۰۱۴ توانستم به رتبه ۴۰۰ الکسا نزدیک کنم. برخلاف میل درونی، وارد دانشگاه شدم و سه ساله در مقطع کارشناسی IT فارغ التحصیل شدم، در همان سال بزرگ‌ترین کانال تلگرامی IT با ۴۰ هزار عضو را داشتم، که فروختم تا بتوانم تمرکز را فقط بر روی سئو بگذارم، فعالیت‌های سئو به شکل تخصصی بنده در قالب پروژه‌های مختلف و آموزش‌های حضوری و غیرحضوری در دفتر میزفا و دانشگاه علامه طباطبایی تهران صورت ‌می‌گیرد، تجربه بهینه سازی موفقی در بهبود UX و CRO پروژه‌های سئو کسب کرده‌ام. در همه ابزارهای گوگل به جز adwords تسلط کاملی دارم. عاشق کسب تجربه های جدید هستم. راز پیشرفت در هر کاری را یادگیری و یاددادن می‌دانم و میزفا که در اواخر ۲۰۱۶ راه‌اندازی شده، می‌تواند چنین بستر مناسبی را فراهم کند. نقد و بازخوردهای سازنده شما، جوهر تلاش‌های مستمر ماست تا یک قدم خودمون بهبود بدیم. منتظریم ...

نوشته های مشابه

‫8 نظرها

  1. سلام .وقت بخیر
    ممنون. مقاله بسیار خوبی بود
    ی سوال از خدممتون داشتم، ممنون میشم راهنمائیم کنید
    صفحه اصلی و صفحات داخلی سایتم رو که در اسپید تست گوگل بررسی می کنم، امیتاز دسکتاپ و موبایل رو در فاصله زمانی کوتاه متفاوت میده ، مثلا صفحه اصلی رو در ساعت 12:48 تست کردم؛ امتیاز دسکتاپ رو 76 و موبایل رو 64 داد و دو دقیقه بعد (12:50) که مجددا تست کردم امتیاز دسکتاپ رو 90 و موبایل رو 48 داد، و صفحات دیگه هم همنطور . وقتی آمار قسمت های مختلف رو در اسپید تست مقایسه کردم زمان Speed Index و TTFB در این دو تست متفاوت بود و سایر قسمت ها یکسان بود
    بار اول
    TTFB:5.84 s
    Speed Index:4.6 s

    بار دوم
    TTFB: 130 ms
    Speed Index: 1.0 s

    مشکل از کش سایت نیست چون کش صفحه اصلی سایتم روی 20 دقیقه هست، به نظر شما چه چیزی میتونه تاثیر بذاره و چرا اینقدر این دو عدد متفاوت هست و چطوری میتونم مشکل رو حل کنم

    1. سلام حمید جان. این موارد طبیعی هست چرا که در اکثر هاست های اشتراکی چنین موردهایی برخورد میشه. از طرفی تعداد درخواست هم مهمه و جد از این مسئله بستگی به ترافیک شبکه ها بین سرور تست کننده با سرور تست شونده وجود داره. اصولا باید ۱۰ ها بار تست کرد تا به یک میانگین رسید و هر چه تعداد تست ها بیشتر باشه میانگین درصد خطای کمتری داره.
      پیشاپیش سال خوبی رو براتون آرزو دارم. موفق باشید.

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر