آموزش جی تی متریکس | قسمت 2 - TTFB چیست؟
سرفصل ها
- آموزش جی تی متریکس: قسمت 2- TTFB چیست؟
- تغییر مسیر یا ریدایرکت کردن
- ارتباط یا کانکشن
- معیار جیتیمتریکس برای امتیازدهی به TTFB چقدر است؟
- زمان رسیدن به اولین بایت یا TTFB چیست؟
- چرا TTFB مهم است؟
- TTFB چه مزایایی دارد؟
- TTFB خوب چقدر است؟
- دلایل TTFB کند چیست؟
- اندازی گیری TTFB در جی تی متریکس چگونه است؟
- کلام آخر
آموزش جی تی متریکس: قسمت 2- TTFB چیست؟
TTFBمخفف عبارت Byte Time to First به معنی "زمان تا اولین بایت" است که به آن سرعت پاسخگویی سرور هم میگویند. TTFB یکی دیگر از معیارهای جیتیمتریکس است که در امتیاز نهایی وبسایت شما تأثیر زیادی خواهد داشت. اما منظور از زمان تا اولین بایت چیست؟ همانطور که احتمالا میدانید، برای بارگذاری یک صفحه وب و اجزای آن، درخواستهایی از سوی مرورگر شما برای سرور ارسال میشود، سرور این درخواست را بررسی (process) میکند و در نهایت به آن پاسخ میدهد. TTFB مدت زمانی را نشان میدهد که مرورگر شما، بعد از ارسال درخواست، اولین بایت را دریافت میکند.
باید تا جایی که میتوانید مدت زمان پاسخگویی سرور یا همان TTFB را پایین بیاورید چرا که در تجربه کاربر از وبسایت شما به شدت تأثیرگذار است. زمان پاسخدهی سرور همه اجزا و عناصری را که در HTML به آنها ارجاع داده شده است شامل میشود و تأثیری مستقیم در مدت زمان بارگذاری صفحه شما دارد. بهعلاوه، کند بودن مدت زمانِ بارگذاری در فرانت اند (Front-end) شما هم اثر دارد و باعث میشود کاربر، تا زمان پاسخدهی از جانب سرور، بخشهایی از صفحه شما را خالی ببیند. بهبود TTFB در بک اند (Back-end) میتواند مشکل فرانت اند شما را هم حل کند.
آموزش ابزار جی تی متریکس (GTmetrix)
زمان پاسخدهی سرور چگونه کارایی صفحه شما را تحت تأثیر قرار میدهد؟
همانطور که گفته شد، وقتی کاربری به صفحه شما مراجعه میکند، درخواستی از سوی مرورگر او برای سرور فرستاده میشود. سرور این درخواست را بررسی میکند و پاسخ مناسبِ آن را ارسال میکند که شامل عناصر و منابع صفحه مانند تصاویر، متون و ویدئوها میشود. این روند شاید ساده به نظر برسد اما به عوامل متعددی متکی است؛ عواملی مانند سرعت انتقال شبکه، مدت زمان تأخیر و عملکرد کدها و سرور. به عبارت دیگر اگر هر یک از این عوامل کند عمل کنند، TTFB شما تحت تأثیر قرار میگیرد. Bottom of Form
هر چه زمان پاسخدهی سرور بیشتر باشد، صفحه شما بیشتر به مشکل بر میخورد، کاربر بخشهایی از صفحه را نمیبیند یا خالی میبینید و باید منتظر بارگذاری صفحه بماند. در این شرایط طبیعی است اگر فرد از صبر کردن خسته شود و کلا صفحه را ترک کند. اما اگر این مدت زمان کوتاه و پاسخدهی سرور سریع باشد، صفحه سریعتر بارگذاری میشود و کاربر سریعتر به آنچه میخواهد میرسد.
TTFB به چه فاکتورهایی بستگی دارد؟
توجه داشته باشید که تعاریف مختلفی برای TTFB وجود دارد، آنچه جیتیمتریکس به آن تکیه میکند ترکیبی است از مدت زمانی که صرف تغییر مسیر (Redirect)، ارتباط (Connection) و بک اند میشود. اما این زمانهای صرف شده چه هستند؟
1. redirection
ابتدا به سراغ زمان صرف شده برای تغییر مسیر یا آدرسدهی میرویم. همانطور که در تاثیر ریدایرکت در سئو بصورت مفصل بررسی شد، ریدایرکت کردن یعنی تغییر مسیر یک صفحه یا کاربر آن به صفحهای دیگر. روشهای مختلفی برای انجام ریدایرکت ها وجود دارد. مرسومترینِ نوع این تغییر مسیر هم ریدایرکت 301 است که روشهای انجام آن را در این بخش میخوانید.
باید با توجه به شرایط و امکاناتتان یکی از راههای موجود را انتخاب کنید. روش انتخابی شما حتما در TTFB تأثیرگذار خواهد بود. در اینجا 5 روش انتخام ریدایرکت 301 ذکر میشود که عملا سه مورد آن مناسب است:
- با استفاده از وب سرور: در این روش باید به فایل .htaccess سایت دسترسی داشته باشید و تغییرات را در این بخش اعمال کنید. این روش به دانش فنی نیاز دارد اما در عین حال سریعترین حالت هم هست و در نتیجه میتواند در کاهش سرعت بارگذاری صفحه به شما کمک کند.
- با استفاده از کش سرور: این روش با اینکه سرعت استفاده از وب سرور را ندارد، اما سرعت آن همچنان معقول است و استفاده از آن میتواند گزینه مناسبی برای شما باشد.
- با استفاده از کدنویسی: در این روش با اعمال تغییراتی در هدرهای صفحه، عمل انتقال یا ریدایرکت انجام میشود. این روش نسبت به دو حالت قبلی کندتر است چرا که باید یک کامپایلر به وب سرور افزوده شود. اگر از وردپرس استفاده میکنید و با کمک قابلیتهای خود CMS عملیات ریدایرکت را انجام میدهید، حتما با مشکل سرعت بارگذاری مواجه خواهید شد. بهتر است این کار را با ویرایش فایل .htaccess انجام دهید.
- با استفاده از جاوااسکریپت: این روش نسبت به حالتهای قبلی کند است و توصیه نمیشود.
- با استفاده از کدهای HTML: این روش نسبت به حالتهای قبلی کند است و توصیه نمیشود.
2. connection
منظور از ارتباط همان مدت زمانی است که درخواست از سمت مرورگر به سرور ارسال میشود. TTFB این زمان و مسیر را بررسی میکند تا مطمئن شود که به درستی انجام شدهاند. البته شما هم با ابزارهایی مانند Trace Route میتوانید این کار را انجام دهید. این ابزار همچنین به شما امکان مشاهدۀ تعداد timeoutهای مسیر را میدهد. مجموع این زمانهای سپری شده connection time را تشکیل میدهد. طبیعتا هرچه این زمان کوتاهتر باشد در آنالیز TTFB بهتر خواهد بود.
با اینکه جیتیمتریکس در سنجش خود بیشتر به مدت زمان پاسخدهی سرور نگاه میکند که همان مدت زمان صرف شده در بک اند است، اما اگر به دنبال بهبود امتیاز خود هستید باید بهبود در تمام موارد ذکر شده را در نظر بگیرید. مثلا این زمان TTFB برای سایت moz.com 80 میلی ثانیه است که حتی به یک دهم ثانیه هم نمیرسد. این 80 میلی ثانیه شامل سه قسمت Redirect=41 ،Connect=15 و Backend=24 است.
3. back end
کد های نوشته شده توسط developer ها بایستی بهینه شوند
زمان رسیدن به اولین بایت یا TTFB چگونه اتفاق می افتد؟
TTFB مخفف Time to First Byte است. به بیان ساده، این معیار اندازه گیری مدت زمانی است که مرورگر باید قبل از دریافت اولین بایت داده از سرور منتظر بماند. هر چه مدت زمان بیشتری برای به دست آوردن این دادهها طول بکشد، نمایش صفحۀ سایت بیشتر طول خواهد کشید.
یک تصور اشتباه این است که TTFB بعد از DNS Lookup محاسبه میشود اما محاسبه اصلی TTFB همیشه فرآیند سه مرحلهای است و تاخیر میتواند در هر نقطهای بین این فرآیندها رخ داده و در مجموع TTFB شما را افزایش دهد. فرآیند سه مرحلهای TTFB به شرح زیر هستند:
1- درخواست به سرور
وقتی شخصی از وبسایت شما بازدید میکند، اولین چیزی که اتفاق میفتد این است که یک درخواست HTTP از مرورگر به سرور ارسال میشود. در این مرحله، عوامل مختلفی وجود دارند که میتوانند تأخیر را ایجاد کنند. زمان DNS Lookup کند میتواند به افزایش زمان درخواست منجر شود. اگر سرور از نظر جغرافیایی بسیار دور واقع شده باشد، میتواند باعث تأخیر در ارسال دادهها شود.
2- پردازش سرور
پس از ارسال درخواست، سرور اکنون باید آن را پردازش کرده و پاسخی ایجاد کند. این مهم میتواند تعدادی از تأخیرهای مختلف مانند تماسهای آهسته پایگاه داده، تعداد زیادی اسکریپت شخص ثالث، ذخیره نکردن اولین پاسخ کاربر، کد بهینه سازی نشده یا تِم وردپرس و منابع ناکارآمد سرور (ورودی و خروجی دیسک یا حافظه) را ایجاد کند.
3- پاسخ به مرورگر
پس از اینکه سرور درخواست را پردازش کرد، باید آن را برای سرویس گیرنده یا مرورگر ارسال کند. این امر به شدت تحت تأثیر سرعت شبکه سرور و سرویس گیرنده قرار دارد. اگر سرویس گیرنده دارای اینترنت کند از نقطه اتصال وای فای باشد، این مشکل در TTFB منعکس میشود.
چرا TTFB مهم است؟
TTFB عاملی است که به سرعت وبسایت شما کمک میکند، بنابراین معیار مهمی است که باید مراقب باشید و آن را بهینه سازی کنید. ذکر این نکته مهم است که نباید TTFB را با سرعت صفحه اشتباه بگیرید. زمان رسیدن به اولین بایت فقط یک معیاری است که به شما در مورد واکنش پذیری سایت ایده میدهد.
TTFB معیاری است که در کنترل شماست و میتوانید آن را برای سرعت بخشیدن به وبسایت خود تغییر دهید. پس چرا آن را کاهش ندهید تا وبسایت شما سریعتر شود و امتیاز PageSpeed بهتری کسب کنید؟
علاوه بر این، وقتی TTFB را کاهش میدهید:
«کاربران زمان کمتری را برای شروع بارگذاری سایت صرف میکنند و تجربه کاربری را بهبود میبخشند. احتمال اینکه کاربران بدون کامل لود شدن صفحهای از وبسایت، تب مرورگر را ببندند، بسیار کمتر خواهد بود. این به معنای کاهش نرخ پرش (Bounce Rate) است.»
TTFB چه مزایایی دارد؟
وقتی صحبت از بهینه سازی وبسایت و ارائه تجربه کاربری مثبت میشود، سرعت سایت از اهمیت بالایی برخوردار خواهد بود. با این حال، اگر متوجه شدید که عملکرد وبسایت شما دچار مشکل شده است، ممکن است به دلیل TTFB طولانی باشد.
هرچه طول مدت TTFB بیشتر باشد، بازدیدکنندگان وبسایت باید منتظر بمانند تا مرورگر آنها صفحات را نمایش دهد. این اتفاق میتواند منجر به ناامیدی شود و حتی کاربران را متقاعد کند که وبسایت شما را رها کرده و به یکی از رقبایتان مراجعه کنند!
علاوه بر این، یک وبسایت کند میتواند سئوی سایت را مختل کند. گوگل سرعت صفحه را یک سیگنال مهم رتبه بندی میداند. بنابراین اگر بارگذاری سایت شما بیش از حد طول بکشد، شما در معرض خطر مشاهده موقعیت خود در صفحه موتورهای جستجو (SERPs) هستید.
توجه به این نکته ضروری است که TTFB مترادف با سرعت وب سایت نیست بلکه اندازه گیری میزان پاسخگویی است. اگرچه بحثهای زیادی دربارۀ اهمیت TTFB وجود دارند اما مسلماً بهبود این معیار مهم جی تی متریکس فقط میتواند به سایت شما کمک کند. کاهش TTFB حتی میتواند باعث افزایش تعامل با کاربر و تبدیل او به مشتری شود. |
TTFB خوب چقدر است؟
گوگل TTFB زیر 200 میلیثانیه را توصیه میکند. وقتی مرورگر بیش از 600 میلی ثانیه منتظر بماند تا سرور به درخواست اصلی سند پاسخ دهد، ممیزی Lighthouse شکست میخورد. اگر TTFB شما بیش از چند صد میلیثانیه باشد، ممکن است تنگناهایی در سرور شما وجود داشته باشند که باید آنها را بررسی کنید.
گوگل توصیه میکند که سایتها باید اقدامات و ورودیهای کاربر را در 50 میلیثانیه پردازش کنند تا در عرض 100 میلی ثانیه پاسخ ارسال شود. برای اقداماتی که بیش از 50 میلیثانیه طول میکشند، همیشه بازخوردی ارائه دهید. به عنوان مثال، از یک علامت برای لود شدن صفحه استفاده کنید تا به کاربر نشان دهید که به جای صفحه تمام سفید، علامتی در حالت لود شدن است تا او برای باز شدن کامل صفحه صبر کند.
دلایل TTFB کند چیست؟
وقتی صحبت از سایتهای وردپرسی میشود، چندین عامل مختلف میتوانند TTFB را تحت تأثیر قرار دهند. این موارد عبارتند از:
• تأخیر در شبکه اینترنت
- ترافیک بالای وب
- پیکربندی و عملکرد سرور
- محتوای پویا (دینامیک)
- زمان پاسخ DNS
کارهای زیادی برای حل مشکلات مربوط به ترافیک بالای وب یا شبکه را نمیتوانید انجام دهید؛ اما راههایی وجود دارند که میتوانید پیکربندی سرور، محتوای پویا و زمان پاسخ DNS را مورد بررسی قرار دهید که در زیر آنها را بررسی میکنیم:
1- از هاست سریع و قوی استفاده کنید
استفاده از هاست سریع و قوی که دارای کانفیگ دقیق است، تا حد زیادی میتواند TTFB را کاهش دهد. هاستینگهای مخصوص وردپرس، سرورهای خود را به طور خاص برای سایتهای وردپرس پیکربندی میکنند، بنابراین میتوانید مطمئن شوید که محتوای پویا به خوبی عمل میکند.
باید توجه داشته باشید که سرورهای میزبان در کجا قرار دارند. میزبانی را انتخاب کنید که از نظر فیزیکی به مکان کاربران شما نزدیکتر باشد. به عنوان مثال، اگر اکثر کاربران شما در اروپا قرار دارند، منطقی است که سایت خود را در اروپا میزبانی کنید، نه در ایالات متحده!
2- از Caching استفاده کنید
یکی از سادهترین راهها برای کاهش TTFB، این است که حافظه پنهان را در سایت وردپرس خود تنظیم کنید. ذخیره سازی با کاهش زمان پردازش سرور، به کاهش TTFB کمک میکند. با هاستینگ خود مشورت کرده تا ببینید که آنها تا چه اندازه در Caching به شما کمک میکنند.
اغلب، تنها کاری که باید انجام دهید این است که از هاستینگ خود بخواهید تا آن را فعال کند. همچنین میتوانید افزونه WP Rocket را برای ذخیره صفحات سایت خود فعال کنید، بنابراین صفحات شما سریعتر به بازدیدکنندگان تحویل داده میشوند.
3- از فشرده سازی GZIP استفاده کنید
با اعمال فشرده سازی GZIP، حجم فایلهای HTML ،CSS و JS کاهش پیدا میکنند و همۀ منابع سریعتر بارگیری میشوند تا TTFB کاهش پیدا کند. برخی از هاستینگها به طور پیش فرض فشرده سازی GZIP را فعال میکنند.
WP Rocket همچنین فشرده سازی GZIP را در سایتهایی که بر روی Apache اجرا میشوند، اعمال میکند. شما فقط باید GZIP را در این افزونه فعال کنید. به عنوان یک جایگزین رایگان، میتوانید از افزونه ای مانند Enable Gzip Compression استفاده کنید.
4- پایگاه داده خود را بهینه کنید
پایگاه داده یا دیتابیس حاوی اطلاعات بیش از حد غیر ضروری مانند پستهای بازبینی شده، نظرات حذف شده، هرزنامهها و فایلهای موقتی ایجاد شده توسط افزونههاست که همه بر زمان پاسخگویی سرور شما تأثیر میگذارند. شما باید اندازه پایگاه داده خود را بهینه کرده و پاکسازیهای منظمی را انجام دهید. برای این کار میتوانید از افزونههای وردپرس استفاده کنید.
5- از CDN استفاده کنید
استفاده از یک CDN باکیفیت میتواند به شما کمک کند تا محتوای استاتیک خود مانند تصاویر و اسکریپتها را سریعتر به کاربران منتقل شوند. این بدان معناست که اگر سرور شما از نظر جغرافیایی در اروپا واقع شده است و کاربران شما بیشتر در ایالات متحده هستند، محتوای سایت شما را از محل سروری که به آنها نزدیکتر است، دریافت میکنند. این مهم باعث میشود تا تأخیر شبکه بین سرور وبسایت و بازدیدکنندگان کاهش یابد.
6- وردپرس، افزونهها و تمها را به روز نگه دارید
بروزرسانی نسخه وردپرس، افزونهها و قالب وبسایت میتوانند بر کارآیی بهتر کدهای PHP تأثیر بگذارند. بهترین کار این است که افزونهها و تمهای مورد نیاز خود را نگه دارید و بقیه را حذف کنید. بنابراین به طور مرتب افزونههای خود را مرور کنید و مواردی که دیگر از آنها استفاده نمیکنید را حذف کنید.
کیفیت افزونههای شما نیز میتواند بر TTFB تأثیر بگذارد، بنابراین به دنبال افزونههایی باشید که بر عملکرد سایت شما تأثیر مثبت خواهند گذاشت. برای مثال افزونه Broken Link Checker هر چند وقت یکبار پیوندهای خراب را بررسی میکند. نتیجه نهایی یک وسایت کند و افزایش TTFB است.
7- کوئریها را کاهش دهید
اغلب، تعداد کوئریها که وبسایت شما برای دریافت اطلاعات از پایگاه داده اجرا میکند، میتواند روی TTFB تأثیر بگذارند. برای کمک به شناسایی هرگونه تنگنای کوئریها، یک افزونه تشخیصی مانند Query Monitor را نصب کنید یا یک ابزار سنگینتری مانند New Relic را در نظر بگیرید. مورد دوم به شما کمک میکند تا جستجوهای پایگاه داده را که بیشترین زمان یا کندترین زمان جستجو را دارند را پیدا کرده تا بتوانید بفهمید که کدام افزونهها، تمها یا تنظیمات بر سرعت صفحه سایت شما تأثیر میگذارند.
8- آخرین نسخه PHP را فراموش نکنید
استفاده از نسخه PHP 7+ نیز باعث کاهش TTFB میشود. برای ارائه یک دلیل ساده، PHP 7+ میتواند تقریباً 50 درصد درخواستهای بیشتر در ثانیه را انجام دهد. بنابراین، اگر هنوز PHP 5.6 را دارید، حال زمان ارتقاء فرا رسیده است.
اندازی گیری TTFB در جی تی متریکس چگونه است؟
جی تی متریکس یکی دیگر از ابزارهای سنجش وبسایت است که میتوانید از آن برای اندازه گیری TTFB استفاده کنید. این معیار در این ابزار «زمان انتظار» نامیده میشود و به صورت زیر است:
برای شروع، URL خود را وارد کرده و روی دکمه Test your site کلیک کنید. بر خلاف سایر ابزارهای تست سرعت وبسایت، این پلتفرم به شما امکان تعیین مکان سنجش را نمیدهد.
بسته به بزرگ یا پیچیده بودن سایت، ممکن است یک یا دو دقیقه طول بکشد تا ابزار بتواند فرآیند تحلیل را نهایی کند. پس از اتمام کار، گزارش عملکرد را نمایش میدهد.
در اینجا متوجه امتیاز PageSpeed، معیارهای زمان بارگذاری و حجم کل صفحه و همچنین درخواستها میشوید. با این حال، برای به دست آوردن اطلاعات خاص در مورد TTFB میتوانید به Waterfall Tab بروید.
در این بخش، صفحات خاصی از سایت شما فهرست شدهاند که وقتی روی آنها حرکت میکنید، زمان انتظار را در برحسب میلیثانیه یا ثانیه نشان میدهد.
در نهایت، شایان ذکر است که این مهم آسانترین راه برای دسترسی به این معیارها هنگام استفاده از نسخه رایگان جی تی متریکس است. با این حال، اگر در یک حساب GTmetrix Pro ثبت نام کنید، TTFB و سایر اطلاعات مربوطه در برگه زمان بندی به آسانی در دسترس قرار میگیرند.
کلام آخر
TTFB معیار مهمی است که بر سرعت و عملکرد کلی سایت تأثیر میگذارد. اگر TTFB سایت شما بیش از 600 میلی ثانیه باشد، میتواند منجر به UX ضعیف شود و بر سئوی سایت تأثیر منفی بگذارد. برای کاهش TTFB میتوانید هاست وردپرس را ارتفاء دهید، از CDN استفاده کنید، افزونههای اضافی را حذف کنید و بسیاری از کارهایی که در بالا بیان شد را انجام دهید، تا تجربه کاربری مثبتی را برای مخاطبان هدف خود فراهم کنید.
قسمت بعد FCP چیست: