TTFB چیست؟ چطور زمان TTFB را کاهش دهیم

4.3 / 5. تعداد رای: 70

TTFB چیست و چطور آن را کاهش دهیم

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

Time to First Byte یا همان خطای TTFB مبتنی بر مدت‌زمانی است که اولین پاسخ را از سرور یک وب‌سایت دریافت خواهید کرد. تصور کنید که از شما یک سوال ریاضی نسبتاً سخت پرسیده می‌شود. (مثلاً جمع و سپس ضرب اعداد 13 و 12) زمانی که این سوال به گوش شما می‌رسد، شروع به تحلیل آن نموده و سپس نتیجه را حساب می‌کنید و همین‌طور اعلام آن به شخصی که این پرسش را مطرح کرده است، اولین بخش از پاسخ شما، در واقع مفهوم TTFB را به‌سادگی توضیح می‌دهد.

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

روش کاهش TTFB (زمان پردازش اولین بایت درخواست)

روش کاهش TTFB
روش کاهش TTFB (زمان پردازش اولین بایت درخواست)

ممکن است این پرسش مطرح شود که کسب‌وکارهای کوچک با وجود هزینه‌های ریز و درشت یا سایت‌هایی که روی هاست اشتراکی راه‌اندازی شده‌اند، چگونه می‌توانند سبب کاهش TTFB شده و بهره‌وری وب‌سایت خود را در سئو افزایش دهند؟

اجازه دهید این موضوع را با یک مثال مجدد از تکرار مثال قبلی به شما توضیح دهیم. زمانی که ما مجدداً ضرب دو عدد 12 و 13 را از شما می‌پرسیم، به طبع باتوجه‌به این که نتیجه در ذهن شما باقی‌مانده است، در مدت‌زمان کم‌تری و بدون تعلل پاسخ می‌دهید. در توسعه وب نیز ما با اصلی تحت عنوان حافظه پنهان یا کش مواجه هستیم.

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

Time to First Byte به زبان ساده

Time to First Byte به زبان ساده
Time to First Byte به زبان ساده

Time to First Byte در یک مفهوم ساده شده، اولین بایت از پاسخ خواهد بود که سرور از طریق اینترنت به مرورگر کاربر ارسال می‌کند. البته این کاربر (به‌جای یک کاراکتر انسانی) گاهی می‌تواند خزنده و جستجوگر گوگل باشد. در این صورت گوگل بر مبنای نرخ پاسخگویی، به سایت شما امتیاز می‌دهد. گوگل پیچ اسپید، جی‌تی‌متریکس و سایت‌هایی که صفحات وب را آنالیز می‌کنند نیز از همین ویژگی استفاده خواهند کرد.

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

جمع‌بندی نهایی

Time to First Byte (TTFB) در واقع همان نرخ پاسخگویی اولیه هر وب‌سایت به نیاز و درخواست سرویس‌گیرنده خواهد بود. سایت‌های مختلف که در زمینه کش و بررسی سرعت سایت خدمات ارائه می‌دهند، پس از آنالیز اولیه نرخ TTFB سایت یا صفحه وب شما را مشخص می‌کنند. در صورتی‌ که وب‌سایت شما در ارائه پاسخ اولیه به کاربر دچار مشکل باشد.

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

نکته خاصی هست که این مقاله رو تکمیل‌تر کنه؟

  1. U23916 ۲۳ بهمن ۱۴۰۲

    سلا . وقتتون بخیر من از پلاگین wp fatest cach برای افزایش سایت استفاده می کنم برای یک صفحه که اطلاعات قیمتی لحظه ای هست و قیمت داره از api میگیره و آپدیت می کنه لحظه ای وقتی کش استفاده می کنم و فعال می کنم براش قیمت دیگه هرچه رفرش زده میشه بازم آپدیت نمیشه و همون طور می مونه وقتی هم استثنا می زنم و میگم اون صفحه را کش نگیر سرعتش خیلی طول می کشه بیاد بالا برای همچین موردی راهی داره که بشه پیاده کرد یا توی پلاگین یا طور دیگه ممنون

  2. U327628 ۴ دی ۱۴۰۲

    سلام استاد؛ وقتتون بخیر و خداقوت
    وقتی در PageSpeed Insights گوگل، پرفورمنس سایت رو بررسی می کنم، عدد 98 از 100 رو به من میده. حتی GTmetrix هم رتبه A رو به سایت وردپرسی من میده. اما وقتی خودم صفحه رو باز می کنم، TTFB بالای 6 ثانیه رو تجربه می کنم و حتی قسمت Core Web Vitals Assessment گوگل و گوگل کنسول هم سایت رو Failed اعلام می کنه.
    از هاست اشتراکی استفاده می کنم اما CPU و RAM اون رو دو برابر کردم و تغییری حاصل نشد. از طرفی از پلاگین کش هم استفاده می کنم.
    عمده مشکل سرعت لود سایت، از همین TTFB هست.
    ممنون میشم راهنمایی کنین

    • Reza Rad رضا راد ۴ دی ۱۴۰۲

      سلام میتونه از ارتباط شما با هاست باشه. دوره سایت برتر فصل افزایش سرعت سایت رو منتظرش باشید کامل توضیح میدم.

      • U327628 ۵ دی ۱۴۰۲

        واقعا ممنونم ازتون
        اگر لطف کنید و یه اشاره کوچیک کنید که چطور ارتباطم با هاست رو چک کنم و بهبود بدم، کمک بزرگی کردین
        فکر می کنم این اتفاق از زمانی افتاد که برای یک ماه هزینه هاست رو پرداخت نکردم و هاستم تعلیق شد و دوباره درخواست دادم و وصلش کردن (حالا نمی دونم ربطی داره یا نه)
        [یه درخواست از طرف وردپرس‌آموز تازه کار به سلطان وردپرس 🙂 ]

        • Reza Rad رضا راد ۶ دی ۱۴۰۲

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

    • U315584 ۲۰ شهریور ۱۴۰۳

      به طور کلی ، هر زمانی زیر 100 میلی ثانیه برای TTFB عالی و خوب محسوب می شود. Google PageSpeed Insights برای زمان پاسخگویی سرورها زیر 200 میلی ثانیه را توصیه می کند.

  3. U331237 ۱۹ مهر ۱۴۰۲

    سایت من صفحه اولش همچین اروری نمیده. ولی برای لود مابقی صفحات Reduce initial server response time ارور رو داره. مشکل از کجاست؟

  4. U28216 ۱۵ تیر ۱۴۰۱

    مرسی بابت این همه تولید محتوا خوب برای وردپرس ، ایا هیچ راه حلی برای کاهش ttfb بجز استفاده از کش ، cdn , سرور اختصاصی حرفه ای با هارد ssd نیست ، چون نیاز داریم بدون کش وردپرس سایت اینترنتی خودمون رو باز بزاریم

    • Reza Rad رضا راد ۱۸ تیر ۱۴۰۱

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

  5. U314809 ۲۹ خرداد ۱۴۰۱
  6. U39838 ۱۶ اردیبهشت ۱۴۰۱

    سلام وقت بخیر
    منظور GTmetrix در بخش Top Issues از موضوع Reduce initial server response time همین ttfb هست یا خیر؟
    لینک بالا مربوط به آنالیز سایت من با GTmetrix هست و این موضوع با بخش قرمز نمایش داده شده است.آیا منظور همون ttfb هست و چطور برطرفش کنم؟
    از افزونه کش هم استفاده می کنم اما این موضوع برطرف نشده
    ممنون از شما

    • Reza Rad رضا راد ۲۱ اردیبهشت ۱۴۰۱

      سلام کمی با ttfb فرق داره و بخشی از ttfb هست. یعنی قسمتی که این دوستمون توی ویدیو فکر کرد در مورد حل مسئله (نه قسمت دریافت و پاسخ به سوال). response time کاملا بستگی به سرعت سرور داره و منابع سخت افزاری سرور و باید از سرور قوی تر استفاده کنید. پلاگین‌های کمتر و در نهایت پلاگین کش