drfitpharm.com
تست یک سایت دیگردانلود PDF گزارش
۹۰ تا ۱۰۰ خوب۵۰ تا ۸۹ نیاز به بهبود۰ تا ۴۹ ضعیف
سایت شما روی گوشی کند است.
صفحهی اول سایت شما روی گوشی ۷٫۳ ثانیه طول میکشد تا دیده شود. در یک سایت خوب، این زمان کمتر از ۲٫۵ ثانیه است.
۲۰ میلیون تومان ۱۵ میلیون تومان، یک بار، تحویل ۷ روز. دقیقا چه کاری انجام میدهیم
نام و شمارهتان را بنویسید؛ خودمان با شما تماس میگیریم.
- بکآپگیری پیش از تسک
- بدون قطعی
- گزارش PDF پس از پایان کار
- تضمین کیفیت تسک
- ۱۰۰ درصد رضایت مشتری
وقتی زمان باز شدن صفحه از ۱ ثانیه به ۵ ثانیه میرسد، احتمال اینکه بازدیدکننده صبر نکند و برود ۹۰٪ بیشتر میشود. یعنی کسی که با تبلیغ یا از گوگل آمده، پیش از دیدن سایت شما رفته است. (منبع: گوگل)
سایت شما از ۵۹٪ سایتهای ایرانیای که از تهران تست کردهایم کندتر است.
چرا سایت شما کند است
- سایت برای سرعت بهینه نشده استسایت طوری ساخته شده که تا چند فایل کد کامل نرسد، صفحه چیزی نشان نمیدهد؛ عکس اصلی بالای صفحه هم دیر شروع به آمدن میکند. اینها با بهینهسازی خود سایت درست میشوند، بی آنکه ظاهر سایت عوض شود.اگر درست شود، صفحه حدود ۱٫۴ ثانیه زودتر دیده میشود.
- قالب و افزونههای سایت سنگیناندصفحهی اصلی ۲٫۹ مگابایت حجم دارد. قالب و افزونههای سایت کدهای سنگینی دارند و گوشی باید همه را دانلود و اجرا کند تا صفحه آماده شود. بخش زیادی از این کدها در همین صفحه به کاری نمیآیند.اگر درست شود، صفحه حدود ۹۰۰ میلیثانیه زودتر دیده میشود.
- عکسهای سایت بهینه نشدهاندعکسها بزرگتر و سنگینتر از جایی هستند که روی صفحه نشان داده میشوند؛ با فرمتهای سبکتر (WebP و AVIF) و اندازهی درست، همان عکسها خیلی زودتر میرسند.اگر درست شود، صفحه حدود ۷۵۰ میلیثانیه زودتر دیده میشود.
- روش قدیمی فرستادن فایلهافایلها فشرده فرستاده نمیشوند؛ با فشردهسازی، همان فایلها چند برابر سبکتر میرسند.
فهرست کامل ایرادها، با نام هر فایل، در گزارش فنی پایین همین صفحه است.
همهی سایت در یک نگاه
چرا عدد ما با PageSpeed گوگل فرق دارد، و چه چیزی بیشتر دارد
موتور تست یکی است: Lighthouse، با همان تنظیم موبایل و دسکتاپ. فرق در جای تست است. PageSpeed سایت را از سرورهای گوگل بیرون از ایران میسنجد؛ مشتری شما در ایران است و ما از تهران میسنجیم.
کار با ما چطور پیش میرود
- سفارش و پرداختبهینهسازی سرعت سایت، ۱۵ میلیون تومان، یک بار. قیمت همین است و وسط کار چیزی به آن اضافه نمیشود.
- دسترسی، فقط بعد از پرداختاطلاعات ورود به سایت را فقط بعد از پرداخت از شما میگیریم و رمزشده نگه میداریم.
- نسخهی پشتیبان و کارپیش از شروع، از کل سایت نسخهی پشتیبان میگیریم تا اگر لازم شد، سایت به حال قبل برگردد. کار در ۷ روز تحویل میشود.
- تحویل، با گزارش تازهگزارش تازهی همین ابزار کنار گزارش امروز در تاریخچه میماند تا خودتان دو گزارش را کنار هم ببینید. بعد از تحویل هم ۷ روز پشتیبانی رایگان دارید.
۲۰ میلیون تومان ۱۵ میلیون تومان، یک بار، تحویل ۷ روز. دقیقا چه کاری انجام میدهیم
نام و شمارهتان را بنویسید؛ خودمان با شما تماس میگیریم.
گزارش فنی کامل
این بخش برای کسی است که سایت را میسازد. نشانی همین صفحه یا PDF را برایش بفرستید.
سرعت با موتور Lighthouse، همان که PageSpeed گوگل دارد.
ضعیف
- اولین چیزی که دیده میشود FCP
- ۲٫۶ ثانیه
- باز شدن بخش اصلی صفحه LCP
- ۷٫۳ ثانیه
- قفل ماندن صفحه هنگام باز شدن TBT
- ۱٫۸ ثانیه
- پریدن بخشهای صفحه CLS
- ۰
- سرعت پر شدن صفحه SI
- ۱۲ ثانیه
- پاسخ سرور TTFB
- ۱۱۰ میلیثانیه
وزن صفحه ۲٫۷۵ مگابایت در ۱۳۵ درخواست
- عکس: ۱٫۶۶ مگابایت
- فونت: ۶۶۵ کیلوبایت
- جاوااسکریپت: ۱۹۲ کیلوبایت
- CSS: ۱۸۲ کیلوبایت
- HTML: ۶۴ کیلوبایت
- سایر: ۷٫۲ کیلوبایت
- داده (XHR): ۳۷۴ بایت
چیزهایی که سرعت را گرفتهاند (۱۰ مورد)
زمان رسیدن خود صفحه از سرورصرفهجویی حدود ۵٬۵۱۰ میلیثانیه
اولین چیزی که مرورگر از سایت میگیرد، خود صفحه (HTML) است و همهی فایلهای دیگر منتظر آن میمانند. این بخش سه چیز را میسنجد: سرور زود جواب بدهد، صفحه به نشانی دیگری فرستاده نشود (redirect) و متن صفحه فشرده فرستاده شود.
اگر درست شود: FCP حدود ۵٫۵ ثانیه سریعتر، LCP حدود ۵٫۵ ثانیه سریعتر.
- بدون تغییر مسیر
- Server responded slowly (observed 5611 ms)
- فشردهسازی متن فعال است
CSS بیاستفادهصرفهجویی حدود ۱۴۸ کیلوبایت
بخشی از CSS دانلود میشود ولی در این صفحه به کار نمیآید. مثلا قالب، CSS همهی صفحهها را در هر صفحه بار میکند. حذف یا عقب انداختن آن صفحه را سبکتر میکند.
اگر درست شود: FCP حدود ۹۰۰ میلیثانیه سریعتر، LCP حدود ۹۰۰ میلیثانیه سریعتر.
| نشانی | حجم انتقال | صرفهجویی تقریبی |
|---|---|---|
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/fontawesome.min.css?ver=1790674173 | ۵۲ کیلوبایت | ۵۱ کیلوبایت |
| drfitpharm.com/wp-content/cache/background-css/1/drfit…la/style.css?ver=1790674173&wpr_t=1791195361 | ۵۶ کیلوبایت | ۴۹ کیلوبایت |
| drfitpharm.com/wp-content/themes/dinakala/css/bootstrap-rtl.min.css?ver=7.0.1 | ۳۸ کیلوبایت | ۳۶ کیلوبایت |
| drfitpharm.com/wp-content/cache/background-css/1/drfit…erce-rtl.css?ver=1790674173&wpr_t=1791195361 | ۱۱ کیلوبایت | ۱۱ کیلوبایت |
زمان اجرای JavaScript۵٫۵ ثانیه
زمانی که مرورگر صرف خواندن و اجرای کدهای جاوااسکریپت صفحه میکند. هرچه این زمان بیشتر باشد، صفحه دیرتر به بازدیدکننده جواب میدهد.
اگر درست شود: TBT حدود ۱٫۸ ثانیه سریعتر.
| نشانی | کل زمان پردازنده | اجرای اسکریپت | خواندن اسکریپت |
|---|---|---|---|
| drfitpharm.com/ | ۴٫۴ ثانیه | ۲٫۴ ثانیه | ۷۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/js/main.js?ver=1785908823 | ۲٫۱ ثانیه | ۱٫۸ ثانیه | ۱۰ میلیثانیه |
| Unattributable | ۱٫۶ ثانیه | ۲۰ میلیثانیه | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1 | ۱٫۲ ثانیه | ۱۷۰ میلیثانیه | ۱۰ میلیثانیه |
| rocket_lazyload_css-js-after | ۶۰۰ میلیثانیه | ۶۰۰ میلیثانیه | ۰ میلیثانیه |
| drfitpharm.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.2.4 | ۱۳۰ میلیثانیه | ۱۱۰ میلیثانیه | ۱۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0 | ۱۰۰ میلیثانیه | ۸۰ میلیثانیه | ۲۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/js/theme.js?ver=1785908823 | ۷۰ میلیثانیه | ۵۰ میلیثانیه | ۰ میلیثانیه |
| drfitpharm.com/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=11.1.1 | ۷۰ میلیثانیه | ۷۰ میلیثانیه | ۰ میلیثانیه |
| drfitpharm.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.2.4 | ۶۰ میلیثانیه | ۶۰ میلیثانیه | ۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/background-css/1/drfit…la/style.css?ver=1790674173&wpr_t=1791195361 | ۶۰ میلیثانیه | ۰ میلیثانیه | ۰ میلیثانیه |
مرورگر وقتش را کجا میگذارد (main thread)۱۰٫۸ ثانیه
نشان میدهد مرورگر هنگام باز شدن صفحه وقتش را صرف چه کرده است: اجرای کد، چیدن صفحه، کشیدن تصویر و مانند اینها. تا مرورگر سرگرم این کارهاست، صفحه به کلیک و پیمایش جواب نمیدهد.
اگر درست شود: TBT حدود ۱٫۸ ثانیه سریعتر.
| دسته | زمان صرفشده |
|---|---|
| اجرای اسکریپت | ۵٫۶ ثانیه |
| Other | ۲٫۶ ثانیه |
| Style & Layout | ۱٫۵ ثانیه |
| Parse HTML & CSS | ۷۵۰ میلیثانیه |
| Rendering | ۲۲۰ میلیثانیه |
| Script Parsing & Compilation | ۱۷۰ میلیثانیه |
| Garbage Collection | ۲۰ میلیثانیه |
CSS و JavaScript پیش از نمایش صفحه (render-blocking)صرفهجویی حدود ۱٬۴۱۰ میلیثانیه
مرورگر پیش از نشان دادن صفحه، این فایلهای CSS و جاوااسکریپت را کامل دانلود میکند. در این مدت بازدیدکننده فقط صفحهی سفید میبیند. فایلی که برای بالای صفحه لازم نیست، میتواند بعدا بیاید.
اگر درست شود: FCP حدود ۱٫۴ ثانیه سریعتر.
| نشانی | حجم انتقال | مدت |
|---|---|---|
| drfitpharm.com/wp-content/cache/background-css/1/drfit…la/style.css?ver=1790674173&wpr_t=1791195361 | ۵۶ کیلوبایت | ۳۰۰ میلیثانیه |
| drfitpharm.com/wp-content/uploads/elementor/css/post-7279.css?ver=1790674317 | ۵۷۳ بایت | |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/dina-column.css?ver=1790674476 | ۶۰۷ بایت | |
| drfitpharm.com/wp-content/uploads/elementor/css/post-159.css?ver=1790674316 | ۳۸۲ بایت | |
| drfitpharm.com/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=4.2.4 | ۶٫۵ کیلوبایت | ۱۵۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/plugi…s/css/elementor-icons.min.css?ver=1790674476 | ۴٫۲ کیلوبایت | |
| drfitpharm.com/wp-content/themes/dinakala/css/simpleLightbox.min.css?ver=7.0.1 | ۱ کیلوبایت | |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/fontawesome.min.css?ver=1790674173 | ۵۲ کیلوبایت | ۳۰۰ میلیثانیه |
| drfitpharm.com/wp-content/themes/dinakala/css/bootstrap-rtl.min.css?ver=7.0.1 | ۳۸ کیلوبایت | ۱۵۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/yekan.css?ver=1790674173 | ۲۱۰ بایت | |
| drfitpharm.com/wp-content/cache/background-css/1/drfit…erce-rtl.css?ver=1790674173&wpr_t=1791195361 | ۱۱ کیلوبایت | ۱۵۰ میلیثانیه |
| drfitpharm.com/wp-content/plugins/woo-variation-swatches/assets/css/frontend.min.css?ver=2.5.0 | ۴٫۳ کیلوبایت |
و ۳ مورد دیگر.
حجم عکسهاصرفهجویی حدود ۱۹۲ کیلوبایت
عکسهایی که میشود حجمشان را کم کرد: عکسی که بزرگتر از جای خودش در صفحه است، با کیفیتی بیش از نیاز ذخیره شده، یا بهجای WebP و AVIF هنوز JPEG یا PNG است. هر کیلوبایتی که کم شود، روی اینترنت گوشی زودتر میرسد.
اگر درست شود: LCP حدود ۷۵۰ میلیثانیه سریعتر.
| نشانی | حجم منبع | صرفهجویی تقریبی | |
|---|---|---|---|
| <img fetchpriority="high" decoding="async" loading="eager" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_01.we…" alt="اینستاگرام" width="1280" height="425" class="dina-slider-img skip-lazy no-lazyload"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_01.webp | ۷۷ کیلوبایت | ۵۷ کیلوبایت |
| <img fetchpriority="high" decoding="async" loading="eager" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_04.we…" alt=" مگنوم" width="1280" height="425" class="dina-slider-img skip-lazy no-lazyload"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_04.webp | ۵۳ کیلوبایت | ۳۹ کیلوبایت |
| <img fetchpriority="high" decoding="async" loading="eager" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_02.we…" alt="مکمل تیروئید" width="1280" height="425" class="dina-slider-img skip-lazy no-lazyload"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_02.webp | ۵۲ کیلوبایت | ۳۹ کیلوبایت |
| <img fetchpriority="high" decoding="async" loading="eager" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_03.we…" alt="دیافیت" width="1280" height="425" class="dina-slider-img skip-lazy no-lazyload"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_03.webp | ۴۸ کیلوبایت | ۳۶ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_06.webp" alt="مفصل" width="250" height="250" data-lazy-src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_06.webp" data-ll-… | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_06.webp | ۱۲ کیلوبایت | ۶٫۱ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_01.webp" alt="بدنسازی" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_01.webp | ۱۲ کیلوبایت | ۵٫۸ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_02.webp" alt="بانوان" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_02.webp | ۱۱ کیلوبایت | ۵٫۲ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_03.webp" alt="منیزیم" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_03.webp | ۱۰ کیلوبایت | ۴٫۲ کیلوبایت |
حساب دوبارهی چیدمان بهخاطر کد (forced reflow)
بعضی کدهای جاوااسکریپت وسط کار اندازهی بخشی از صفحه را میپرسند و مرورگر مجبور میشود چیدمان را دوباره حساب کند. اگر این کار زیاد تکرار شود، صفحه هنگام پیمایش یا کلیک گیر میکند.
| Top function call | Total reflow time |
|---|---|
| drfitpharm.com/:4 | ۱۹۰ میلیثانیه |
| منبع | Total reflow time |
|---|---|
| [unattributed] | ۴۰ میلیثانیه |
| drfitpharm.com/:4018 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۳۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/js/owl-carousel.js?ver=1785908823:1 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۱۴۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
و ۲ مورد دیگر.
باز شدن بخش اصلی، مرحله به مرحله (LCP)
زمان باز شدن بخش اصلی صفحه را به مرحلههایش تقسیم میکند: جواب سرور، فاصله تا شروع دانلود، خود دانلود و نمایش. اینطور معلوم میشود کندی از سرور است، از عکس یا از خود صفحه.
| بخش | مدت |
|---|---|
| Time to first byte | ۵٫۶ ثانیه |
| Resource load delay | ۱۳۰ میلیثانیه |
| Resource load duration | ۱۴۰ میلیثانیه |
| Element render delay | ۳۴۰ میلیثانیه |
فایلهایی که منتظر هم میمانند
بعضی فایلها فقط بعد از رسیدن فایل دیگری درخواست میشوند. مثلا صفحه یک CSS میخواهد و آن CSS یک فونت. هرچه این زنجیره بلندتر باشد، بخشهای مهم صفحه دیرتر میرسند.
حجم کل صفحهحجم کل ۲٬۸۱۵ کیلوبایت
مجموع همهی چیزهایی که بازدیدکننده برای دیدن این صفحه دانلود میکند. صفحهی سنگین روی اینترنت گوشی دیرتر باز میشود و بستهی اینترنت او را هم بیشتر مصرف میکند.
| نشانی | حجم انتقال |
|---|---|
| drfitpharm.com/wp-content/themes/dinakala/fonts/fa-light-300.woff2 | ۴۵۵ کیلوبایت |
| drfitpharm.com/wp-content/themes/dinakala/fonts/fa-brands-400.woff2 | ۱۱۷ کیلوبایت |
| drfitpharm.com/wp-content/themes/dinakala/fonts/yekan/IRANYekanXVF.woff2 | ۹۳ کیلوبایت |
| drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_01.webp | ۷۷ کیلوبایت |
| drfitpharm.com/ | ۶۴ کیلوبایت |
| drfitpharm.com/wp-content/uploads/2025/04/whey-chocolate-300x300.png | ۶۲ کیلوبایت |
| drfitpharm.com/wp-content/uploads/2026/10/10592334418202682611-600x600.webp | ۶۱ کیلوبایت |
| drfitpharm.com/wp-content/uploads/2025/03/96538c-300x300.png | ۵۹ کیلوبایت |
| drfitpharm.com/wp-content/cache/background-css/1/drfit…la/style.css?ver=1790674173&wpr_t=1791195361 | ۵۶ کیلوبایت |
| drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_04.webp | ۵۳ کیلوبایت |
اطلاعات بیشتر (۱ مورد)
کارهای طولانی مرورگر (long tasks)۲۰ مورد
کارهایی که مرورگر را بیش از ۵۰ میلیثانیه یکسره مشغول نگه میدارند. در این فاصله هر کلیک یا لمس بازدیدکننده منتظر میماند.
اگر درست شود: TBT حدود ۱٫۸ ثانیه سریعتر.
| نشانی | زمان شروع | مدت |
|---|---|---|
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/js/owl-carousel.js?ver=1785908823 | ۱۵٫۶ ثانیه | ۵۶۰ میلیثانیه |
| drfitpharm.com/ | ۲٫۳ ثانیه | ۴۵۰ میلیثانیه |
| Unattributable | ۱٫۴ ثانیه | ۳۵۰ میلیثانیه |
| drfitpharm.com/ | ۳٫۳ ثانیه | ۲۱۰ میلیثانیه |
| Unattributable | ۱٫۲ ثانیه | ۱۹۰ میلیثانیه |
| drfitpharm.com/ | ۳٫۲ ثانیه | ۱۷۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/js/main.js?ver=1785908823 | ۱۶٫۳ ثانیه | ۱۶۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/js/main.js?ver=1785908823 | ۱۸٫۱ ثانیه | ۱۵۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216 | ۷٫۹ ثانیه | ۱۵۰ میلیثانیه |
| drfitpharm.com/ | ۳٫۶ ثانیه | ۱۵۰ میلیثانیه |
| drfitpharm.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.2.4 | ۱۶٫۲ ثانیه | ۱۳۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1 | ۸٫۲ ثانیه | ۱۳۰ میلیثانیه |
و ۸ مورد دیگر.
بررسیهای قبولشده (۱۵ مورد؛ ۳ مورد هم به این صفحه مربوط نبود)
نگه داشتن فایلها در مرورگر (cache)
فایلهایی مثل عکس، فونت و CSS که کم عوض میشوند، میتوانند مدت طولانی در مرورگر بازدیدکننده بمانند. آن وقت در بازدید بعدی دوباره دانلود نمیشوند و صفحه زودتر باز میشود.
چه چیزی صفحه را جابهجا میکند (CLS)
بخشهایی را نشان میدهد که صفحه را هنگام باز شدن تکان میدهند، بیآنکه بازدیدکننده کاری کرده باشد. دلیلهای رایج اینهاست: عکسی که اندازهاش در کد نیامده، محتوایی که دیرتر اضافه میشود، یا فونتی که دیر میرسد.
تعداد اجزای صفحه (DOM)
هر صفحه از تعداد زیادی جزء کوچک مثل متن، دکمه و قاب ساخته میشود. وقتی این تعداد خیلی زیاد باشد، مرورگر دیرتر صفحه را میچیند و کندتر به کلیک و پیمایش جواب میدهد، بهویژه روی گوشیهای ضعیف.
کد تکراری در JavaScript
یک کد یکسان چند بار، در فایلهای جدا، دانلود میشود. مثلا دو افزونه هر کدام نسخهی خودشان از یک کتابخانه را میآورند. حذف نسخههای اضافه حجم صفحه را کم میکند.
نمایش متن پیش از رسیدن فونت
وقتی فونت سایت دیر برسد، مرورگر ممکن است تا آن موقع متن را نشان ندهد و بازدیدکننده جای خالی ببیند. با یک تنظیم ساده (font-display) متن از همان اول با فونت دیگری دیده میشود و بعد فونت اصلی جایش را میگیرد.
زود پیدا شدن عکس اصلی صفحه (LCP)
مرورگر باید عکس اصلی صفحه را از همان اول در کد صفحه (HTML) ببیند و زود دانلودش کند. اگر این عکس با جاوااسکریپت اضافه شود، دیرتر از بقیه بار شود (lazy load) یا اولویت بالا نگیرد (fetchpriority)، بخش اصلی صفحه دیرتر دیده میشود.
کد اضافه برای مرورگرهای قدیمی (JavaScript)
بخشی از کد سایت برای مرورگرهای قدیمی نوشته شده است. مرورگرهای امروزی به آن نیازی ندارند، ولی بازدیدکننده باز هم باید دانلودش کند.
نسخهی HTTP سرور (HTTP/2)
سرور میتواند فایلها را با HTTP/2 یا HTTP/3 بفرستد که چند فایل را همزمان روی یک اتصال میبرند. اگر هنوز HTTP/1.1 باشد، فایلها در صف میمانند و صفحه کندتر باز میشود. این تنظیم سرور است، نه کد سایت.
کدهای سایتهای دیگر (third-party)
ابزارهایی مثل آمارگیر، گفتوگوی آنلاین، نقشه یا ویدیو از سرور سایتهای دیگر میآیند. سرعتشان دست شما نیست و میتوانند صفحه را کند کنند. اینجا معلوم میشود هر کدام چقدر حجم و زمان میگیرد.
تنظیم صفحه برای گوشی (viewport)
صفحه باید به مرورگر گوشی بگوید عرضش همان عرض گوشی است. بدون این تنظیم، صفحه مثل نسخهی رایانه ریز دیده میشود و لمسها ممکن است با تأخیر جواب بگیرند.
فشرده کردن فایلهای CSS (minify)
فایلهای CSS پر از فاصله و توضیحیاند که فقط برای برنامهنویس لازم است. حذف آنها حجم فایل را کم میکند، بیآنکه چیزی در ظاهر سایت عوض شود.
فشرده کردن فایلهای JavaScript (minify)
فایلهای جاوااسکریپت پر از فاصله و توضیحیاند که فقط برای برنامهنویس لازم است. حذف آنها حجم دانلود و زمان خواندن کد را کم میکند، بیآنکه کار سایت عوض شود.
JavaScript بیاستفاده
کدی دانلود میشود ولی در این صفحه اجرا نمیشود. مثلا کد اسلایدر یا فرمی که فقط در صفحهی دیگری است. حذف یا عقب انداختن آن صفحه را سبکتر میکند.
اندازهی مشخص برای عکسها
اگر در کد صفحه عرض و ارتفاع عکس نیامده باشد، مرورگر تا رسیدن عکس جایی برایش نگه نمیدارد. وقتی عکس میرسد، بقیهی صفحه پایین میپرد.
برگشت فوری با دکمهی بازگشت (bfcache)
مرورگر میتواند صفحه را در حافظه نگه دارد تا وقتی بازدیدکننده دکمهی بازگشت را میزند، صفحه فورا دوباره دیده شود. بعضی کدها و تنظیمها این امکان را از کار میاندازند.
نیاز به بهبود
- اولین چیزی که دیده میشود FCP
- ۵۱۰ میلیثانیه
- باز شدن بخش اصلی صفحه LCP
- ۱٫۴ ثانیه
- قفل ماندن صفحه هنگام باز شدن TBT
- ۷۰ میلیثانیه
- پریدن بخشهای صفحه CLS
- ۰٫۳۳۴
- سرعت پر شدن صفحه SI
- ۴٫۳ ثانیه
- پاسخ سرور TTFB
- ۱۱۰ میلیثانیه
وزن صفحه ۱٫۹۸ مگابایت در ۱۳۴ درخواست
- عکس: ۹۱۴ کیلوبایت
- فونت: ۶۶۵ کیلوبایت
- جاوااسکریپت: ۱۹۲ کیلوبایت
- CSS: ۱۸۲ کیلوبایت
- HTML: ۶۴ کیلوبایت
- سایر: ۷٫۲ کیلوبایت
- داده (XHR): ۳۳۹ بایت
چیزهایی که سرعت را گرفتهاند (۱۰ مورد)
زمان رسیدن خود صفحه از سرورصرفهجویی حدود ۵٬۲۸۰ میلیثانیه
اولین چیزی که مرورگر از سایت میگیرد، خود صفحه (HTML) است و همهی فایلهای دیگر منتظر آن میمانند. این بخش سه چیز را میسنجد: سرور زود جواب بدهد، صفحه به نشانی دیگری فرستاده نشود (redirect) و متن صفحه فشرده فرستاده شود.
اگر درست شود: FCP حدود ۵٫۳ ثانیه سریعتر، LCP حدود ۵٫۳ ثانیه سریعتر.
- بدون تغییر مسیر
- Server responded slowly (observed 5384 ms)
- فشردهسازی متن فعال است
CSS بیاستفادهصرفهجویی حدود ۱۴۷ کیلوبایت
بخشی از CSS دانلود میشود ولی در این صفحه به کار نمیآید. مثلا قالب، CSS همهی صفحهها را در هر صفحه بار میکند. حذف یا عقب انداختن آن صفحه را سبکتر میکند.
اگر درست شود: FCP حدود ۱۰۰ میلیثانیه سریعتر، LCP حدود ۱۰۰ میلیثانیه سریعتر.
| نشانی | حجم انتقال | صرفهجویی تقریبی |
|---|---|---|
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/fontawesome.min.css?ver=1790674173 | ۵۲ کیلوبایت | ۵۱ کیلوبایت |
| drfitpharm.com/wp-content/cache/background-css/1/drfit…la/style.css?ver=1790674173&wpr_t=1791195362 | ۵۶ کیلوبایت | ۴۹ کیلوبایت |
| drfitpharm.com/wp-content/themes/dinakala/css/bootstrap-rtl.min.css?ver=7.0.1 | ۳۸ کیلوبایت | ۳۶ کیلوبایت |
| drfitpharm.com/wp-content/cache/background-css/1/drfit…erce-rtl.css?ver=1790674173&wpr_t=1791195361 | ۱۱ کیلوبایت | ۱۱ کیلوبایت |
حجم عکسهاصرفهجویی حدود ۱۴۴ کیلوبایت
عکسهایی که میشود حجمشان را کم کرد: عکسی که بزرگتر از جای خودش در صفحه است، با کیفیتی بیش از نیاز ذخیره شده، یا بهجای WebP و AVIF هنوز JPEG یا PNG است. هر کیلوبایتی که کم شود، روی اینترنت گوشی زودتر میرسد.
اگر درست شود: LCP حدود ۱۰۰ میلیثانیه سریعتر.
| نشانی | حجم منبع | صرفهجویی تقریبی | |
|---|---|---|---|
| <img fetchpriority="high" decoding="async" loading="eager" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_01.we…" alt="اینستاگرام" width="1280" height="425" class="dina-slider-img skip-lazy no-lazyload"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_01.webp | ۷۷ کیلوبایت | ۳۵ کیلوبایت |
| <img fetchpriority="high" decoding="async" loading="eager" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_04.we…" alt=" مگنوم" width="1280" height="425" class="dina-slider-img skip-lazy no-lazyload"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_04.webp | ۵۳ کیلوبایت | ۲۴ کیلوبایت |
| <img fetchpriority="high" decoding="async" loading="eager" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_02.we…" alt="مکمل تیروئید" width="1280" height="425" class="dina-slider-img skip-lazy no-lazyload"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_02.webp | ۵۲ کیلوبایت | ۲۴ کیلوبایت |
| <img fetchpriority="high" decoding="async" loading="eager" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_03.we…" alt="دیافیت" width="1280" height="425" class="dina-slider-img skip-lazy no-lazyload"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_1280x425_03.webp | ۴۸ کیلوبایت | ۲۲ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_06.webp" alt="مفصل" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_06.webp | ۱۲ کیلوبایت | ۶٫۸ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_01.webp" alt="بدنسازی" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_01.webp | ۱۲ کیلوبایت | ۶٫۵ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_02.webp" alt="بانوان" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_02.webp | ۱۱ کیلوبایت | ۵٫۹ کیلوبایت |
| <img decoding="async" width="300" height="300" src="https://drfitpharm.com/wp-content/uploads/2026/09/Vtfs0P8YQDjc7sT6-300x300…" class="attachment-woocommerce_thumbnail size-woocommerce_thumbnail wp-post-image" alt="آبنبات مکیدنی ویتامین سی… | drfitpharm.com/wp-content/uploads/2026/09/Vtfs0P8YQDjc7sT6-300x300.webp | ۲۰ کیلوبایت | ۴٫۹ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_03.webp" alt="منیزیم" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_03.webp | ۱۰ کیلوبایت | ۴٫۹ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_04.webp" alt="اشتها آور" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_04.webp | ۹٫۶ کیلوبایت | ۴٫۶ کیلوبایت |
| <img decoding="async" src="https://drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_05.webp" alt="مو" width="250" height="250"> | drfitpharm.com/wp-content/uploads/2026/04/DrFitFarm_250x250_05.webp | ۸٫۶ کیلوبایت | ۴٫۱ کیلوبایت |
CSS و JavaScript پیش از نمایش صفحه (render-blocking)صرفهجویی حدود ۸۰ میلیثانیه
مرورگر پیش از نشان دادن صفحه، این فایلهای CSS و جاوااسکریپت را کامل دانلود میکند. در این مدت بازدیدکننده فقط صفحهی سفید میبیند. فایلی که برای بالای صفحه لازم نیست، میتواند بعدا بیاید.
اگر درست شود: FCP حدود ۱۰۰ میلیثانیه سریعتر.
| نشانی | حجم انتقال | مدت |
|---|---|---|
| drfitpharm.com/wp-content/uploads/elementor/css/post-7279.css?ver=1790674317 | ۵۷۳ بایت | |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/dina-column.css?ver=1790674476 | ۶۰۷ بایت | |
| drfitpharm.com/wp-content/uploads/elementor/css/post-159.css?ver=1790674316 | ۳۸۲ بایت | |
| drfitpharm.com/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=4.2.4 | ۶٫۵ کیلوبایت | |
| drfitpharm.com/wp-content/cache/min/1/wp-content/plugi…s/css/elementor-icons.min.css?ver=1790674476 | ۴٫۲ کیلوبایت | |
| drfitpharm.com/wp-content/themes/dinakala/css/simpleLightbox.min.css?ver=7.0.1 | ۱ کیلوبایت | |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/yekan.css?ver=1790674173 | ۲۱۰ بایت | |
| drfitpharm.com/wp-content/cache/background-css/1/drfit…la/style.css?ver=1790674173&wpr_t=1791195362 | ۵۶ کیلوبایت | |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/fontawesome.min.css?ver=1790674173 | ۵۲ کیلوبایت | ۸۰ میلیثانیه |
| drfitpharm.com/wp-content/themes/dinakala/css/bootstrap-rtl.min.css?ver=7.0.1 | ۳۸ کیلوبایت | |
| drfitpharm.com/wp-content/plugins/woo-variation-swatches/assets/css/frontend.min.css?ver=2.5.0 | ۴٫۳ کیلوبایت | |
| drfitpharm.com/wp-content/cache/min/1/wp-content/plugi…gateway/assets/css/topbar.css?ver=1790674173 | ۲٫۴ کیلوبایت |
و ۲ مورد دیگر.
زمان اجرای JavaScript۱٫۴ ثانیه
زمانی که مرورگر صرف خواندن و اجرای کدهای جاوااسکریپت صفحه میکند. هرچه این زمان بیشتر باشد، صفحه دیرتر به بازدیدکننده جواب میدهد.
اگر درست شود: TBT حدود ۵۰ میلیثانیه سریعتر.
| نشانی | کل زمان پردازنده | اجرای اسکریپت | خواندن اسکریپت |
|---|---|---|---|
| drfitpharm.com/ | ۱٫۴ ثانیه | ۶۴۰ میلیثانیه | ۱۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/js/main.js?ver=1785908823 | ۸۰۰ میلیثانیه | ۵۷۰ میلیثانیه | ۰ میلیثانیه |
| Unattributable | ۳۷۰ میلیثانیه | ۰ میلیثانیه | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1 | ۲۹۰ میلیثانیه | ۳۰ میلیثانیه | ۰ میلیثانیه |
| rocket_lazyload_css-js-after | ۱۸۰ میلیثانیه | ۱۸۰ میلیثانیه | ۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/fontawesome.min.css?ver=1790674173 | ۷۰ میلیثانیه | ۰ میلیثانیه | ۰ میلیثانیه |
مرورگر وقتش را کجا میگذارد (main thread)۳٫۳ ثانیه
نشان میدهد مرورگر هنگام باز شدن صفحه وقتش را صرف چه کرده است: اجرای کد، چیدن صفحه، کشیدن تصویر و مانند اینها. تا مرورگر سرگرم این کارهاست، صفحه به کلیک و پیمایش جواب نمیدهد.
اگر درست شود: TBT حدود ۵۰ میلیثانیه سریعتر.
| دسته | زمان صرفشده |
|---|---|
| اجرای اسکریپت | ۱٫۶ ثانیه |
| Other | ۷۸۰ میلیثانیه |
| Style & Layout | ۶۱۰ میلیثانیه |
| Parse HTML & CSS | ۲۷۰ میلیثانیه |
| Rendering | ۷۰ میلیثانیه |
| Script Parsing & Compilation | ۴۰ میلیثانیه |
| Garbage Collection | ۱۰ میلیثانیه |
چه چیزی صفحه را جابهجا میکند (CLS)
بخشهایی را نشان میدهد که صفحه را هنگام باز شدن تکان میدهند، بیآنکه بازدیدکننده کاری کرده باشد. دلیلهای رایج اینهاست: عکسی که اندازهاش در کد نیامده، محتوایی که دیرتر اضافه میشود، یا فونتی که دیر میرسد.
| عنصر | امتیاز جابهجایی چیدمان |
|---|---|
| Total | ۰٫۰۱ |
| <html dir="rtl" lang="fa-IR" prefix="og: https://ogp.me/ns#"> | ۰٫۰۱ |
| عنصر | امتیاز جابهجایی چیدمان |
|---|---|
| Total | ۰٫۳۳ |
| <div class="owl-carousel owl-rtl owl-loaded owl-drag" data-mcol="2" data-itemnavs="true" data-itemloop="false" data-itemplay="false" data-itemover="false" data-itemscount="5" data-item-slideby="1" data-dir="true"> | ۰٫۳۳ |
حساب دوبارهی چیدمان بهخاطر کد (forced reflow)
بعضی کدهای جاوااسکریپت وسط کار اندازهی بخشی از صفحه را میپرسند و مرورگر مجبور میشود چیدمان را دوباره حساب کند. اگر این کار زیاد تکرار شود، صفحه هنگام پیمایش یا کلیک گیر میکند.
| Top function call | Total reflow time |
|---|---|
| drfitpharm.com/:4 | ۱۹۰ میلیثانیه |
| منبع | Total reflow time |
|---|---|
| [unattributed] | ۱۵۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۴۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۱۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۱۴۰ میلیثانیه |
| drfitpharm.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.2.4:1 | ۰ میلیثانیه |
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2 | ۰ میلیثانیه |
باز شدن بخش اصلی، مرحله به مرحله (LCP)
زمان باز شدن بخش اصلی صفحه را به مرحلههایش تقسیم میکند: جواب سرور، فاصله تا شروع دانلود، خود دانلود و نمایش. اینطور معلوم میشود کندی از سرور است، از عکس یا از خود صفحه.
| بخش | مدت |
|---|---|
| Time to first byte | ۵٫۴ ثانیه |
| Resource load delay | ۱۰۰ میلیثانیه |
| Resource load duration | ۱۲۰ میلیثانیه |
| Element render delay | ۴۷۰ میلیثانیه |
فایلهایی که منتظر هم میمانند
بعضی فایلها فقط بعد از رسیدن فایل دیگری درخواست میشوند. مثلا صفحه یک CSS میخواهد و آن CSS یک فونت. هرچه این زنجیره بلندتر باشد، بخشهای مهم صفحه دیرتر میرسند.
اطلاعات بیشتر (۲ مورد)
تعداد اجزای صفحه (DOM)
هر صفحه از تعداد زیادی جزء کوچک مثل متن، دکمه و قاب ساخته میشود. وقتی این تعداد خیلی زیاد باشد، مرورگر دیرتر صفحه را میچیند و کندتر به کلیک و پیمایش جواب میدهد، بهویژه روی گوشیهای ضعیف.
| آمار | عنصر | مقدار |
|---|---|---|
| Total elements | ۳٬۵۹۴ | |
| DOM depth | <span class="woocommerce-Price-currencySymbol" translate="no"> | ۲۰ |
| Most children | <ul class="elementy-ul dina-mega-menu-fw" style="width: 923px;"> | ۱۲۱ |
کارهای طولانی مرورگر (long tasks)۴ مورد
کارهایی که مرورگر را بیش از ۵۰ میلیثانیه یکسره مشغول نگه میدارند. در این فاصله هر کلیک یا لمس بازدیدکننده منتظر میماند.
اگر درست شود: TBT حدود ۵۰ میلیثانیه سریعتر.
| نشانی | زمان شروع | مدت |
|---|---|---|
| drfitpharm.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1 | ۲٫۳ ثانیه | ۱۵۰ میلیثانیه |
| drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/css/fontawesome.min.css?ver=1790674173 | ۵۴۰ میلیثانیه | ۷۰ میلیثانیه |
| Unattributable | ۴۰۰ میلیثانیه | ۶۰ میلیثانیه |
| drfitpharm.com/ | ۱٫۳ ثانیه | ۶۰ میلیثانیه |
بررسیهای قبولشده (۱۴ مورد؛ ۳ مورد هم به این صفحه مربوط نبود)
نگه داشتن فایلها در مرورگر (cache)
فایلهایی مثل عکس، فونت و CSS که کم عوض میشوند، میتوانند مدت طولانی در مرورگر بازدیدکننده بمانند. آن وقت در بازدید بعدی دوباره دانلود نمیشوند و صفحه زودتر باز میشود.
کد تکراری در JavaScript
یک کد یکسان چند بار، در فایلهای جدا، دانلود میشود. مثلا دو افزونه هر کدام نسخهی خودشان از یک کتابخانه را میآورند. حذف نسخههای اضافه حجم صفحه را کم میکند.
نمایش متن پیش از رسیدن فونت
وقتی فونت سایت دیر برسد، مرورگر ممکن است تا آن موقع متن را نشان ندهد و بازدیدکننده جای خالی ببیند. با یک تنظیم ساده (font-display) متن از همان اول با فونت دیگری دیده میشود و بعد فونت اصلی جایش را میگیرد.
زود پیدا شدن عکس اصلی صفحه (LCP)
مرورگر باید عکس اصلی صفحه را از همان اول در کد صفحه (HTML) ببیند و زود دانلودش کند. اگر این عکس با جاوااسکریپت اضافه شود، دیرتر از بقیه بار شود (lazy load) یا اولویت بالا نگیرد (fetchpriority)، بخش اصلی صفحه دیرتر دیده میشود.
کد اضافه برای مرورگرهای قدیمی (JavaScript)
بخشی از کد سایت برای مرورگرهای قدیمی نوشته شده است. مرورگرهای امروزی به آن نیازی ندارند، ولی بازدیدکننده باز هم باید دانلودش کند.
نسخهی HTTP سرور (HTTP/2)
سرور میتواند فایلها را با HTTP/2 یا HTTP/3 بفرستد که چند فایل را همزمان روی یک اتصال میبرند. اگر هنوز HTTP/1.1 باشد، فایلها در صف میمانند و صفحه کندتر باز میشود. این تنظیم سرور است، نه کد سایت.
کدهای سایتهای دیگر (third-party)
ابزارهایی مثل آمارگیر، گفتوگوی آنلاین، نقشه یا ویدیو از سرور سایتهای دیگر میآیند. سرعتشان دست شما نیست و میتوانند صفحه را کند کنند. اینجا معلوم میشود هر کدام چقدر حجم و زمان میگیرد.
تنظیم صفحه برای گوشی (viewport)
صفحه باید به مرورگر گوشی بگوید عرضش همان عرض گوشی است. بدون این تنظیم، صفحه مثل نسخهی رایانه ریز دیده میشود و لمسها ممکن است با تأخیر جواب بگیرند.
فشرده کردن فایلهای CSS (minify)
فایلهای CSS پر از فاصله و توضیحیاند که فقط برای برنامهنویس لازم است. حذف آنها حجم فایل را کم میکند، بیآنکه چیزی در ظاهر سایت عوض شود.
فشرده کردن فایلهای JavaScript (minify)
فایلهای جاوااسکریپت پر از فاصله و توضیحیاند که فقط برای برنامهنویس لازم است. حذف آنها حجم دانلود و زمان خواندن کد را کم میکند، بیآنکه کار سایت عوض شود.
JavaScript بیاستفاده
کدی دانلود میشود ولی در این صفحه اجرا نمیشود. مثلا کد اسلایدر یا فرمی که فقط در صفحهی دیگری است. حذف یا عقب انداختن آن صفحه را سبکتر میکند.
حجم کل صفحهحجم کل ۲٬۰۲۵ کیلوبایت
مجموع همهی چیزهایی که بازدیدکننده برای دیدن این صفحه دانلود میکند. صفحهی سنگین روی اینترنت گوشی دیرتر باز میشود و بستهی اینترنت او را هم بیشتر مصرف میکند.
اندازهی مشخص برای عکسها
اگر در کد صفحه عرض و ارتفاع عکس نیامده باشد، مرورگر تا رسیدن عکس جایی برایش نگه نمیدارد. وقتی عکس میرسد، بقیهی صفحه پایین میپرد.
برگشت فوری با دکمهی بازگشت (bfcache)
مرورگر میتواند صفحه را در حافظه نگه دارد تا وقتی بازدیدکننده دکمهی بازگشت را میزند، صفحه فورا دوباره دیده شود. بعضی کدها و تنظیمها این امکان را از کار میاندازند.
گواهی SSL و امنیت
۹۵ از ۱۰۰ خوب
گواهی معتبر است، ولی چند تنظیم آن جای بهتر شدن دارد.
- وضعیت
- معتبر
- صادرکننده
- Asseco Data Systems S.A.
- پایان اعتبار
- ۲ اسفند ۱۴۰۵ (۱۳۹ روز دیگر)
- تاریخ صدور
- ۲ اسفند ۱۴۰۴
- صادرشده برای
- drfitpharm.com (+1)
- کلید
- RSA 2048
- اتصال برقرارشده
- TLSv1.3 · TLS_AES_256_GCM_SHA384
نسخههای TLS
TLS 1.3روشنTLS 1.2روشنTLS 1.1خاموش (درست)TLS 1.0خاموش (درست)
چیزهایی که باید درست شوند
- هدر HSTS فرستاده نمیشود؛ اولین بازدید هنوز میتواند با HTTP ناامن باشد.
هدرهای امنیتی ۶ مورد نیست
- HSTSفرستاده نمیشود. مرورگر را مجبور میکند همیشه با HTTPS بیاید.
- Content-Security-Policyفرستاده نمیشود. جلوی اجرای اسکریپت تزریقشده (XSS) را میگیرد.
- X-Content-Type-Optionsفرستاده نمیشود. جلوی حدس زدن نوع فایل توسط مرورگر را میگیرد.
- X-Frame-Optionsفرستاده نمیشود. جلوی نمایش سایت داخل قاب سایت دیگر (کلیکدزدی) را میگیرد.
- Referrer-Policyفرستاده نمیشود. مشخص میکند نشانی صفحه به سایتهای دیگر فرستاده شود یا نه.
- Permissions-Policyفرستاده نمیشود. دسترسی به دوربین، میکروفون و مکان را محدود میکند.
شبکه و پروتکل سایت با چه زبانی با مرورگر حرف میزند.
HTTP/1.1پایهHTTP/2فعال (چند درخواست همزمان روی یک اتصال)HTTP/3 (QUIC)اعلامشده در Alt-Svc
- بهترین پروتکل
- HTTP/3
- فرستادن HTTP به HTTPS
- انجام میشود
- فشردهسازی
- ندارد
- HSTS
- خاموش
- IPv6
- ندارد
- اولین پاسخ سرور (TTFB)
- ۱۱۰ میلیثانیه
- نشانی با www
- کار نمیکند
هاست و تکنولوژی هر چه از بیرون سایت میشد تشخیص داد.
- شبکه / دیتاسنتر
- Netafraz - Netafraz Iranian Ltd. AS212216
- کشور سرور
- ایران
- IP
- 195.28.169.103
- سرویس DNS
- نتافراز
- Name Server
- irns1.netafraz.com · irns2.netafraz.com
- وبسرور
- LiteSpeed
- نام سرور (PTR)
- fwx.srv55.irwebspace.com
ساختهشده با (۹ مورد)
- سیستم مدیریت محتوا
- WordPress
- فروشگاهساز
- WooCommerce
- صفحهساز
- Elementor
- کش و بهینهسازی
- WP Rocket
- کتابخانهها
- jQueryBootstrapFont Awesome
- وبسرور
- LiteSpeed
- زبان برنامهنویسی
- PHP
سئو تکنیکال آنچه گوگل برای خواندن درست سایت لازم دارد.
۵۵ از ۱۰۰ نیاز به بهبود
از ۱۴ بررسی پایه، ۱۰ مورد ایراد دارد.
- توضیح متا (meta description)صفحه توضیح متا ندارد؛ گوگل خودش یک تکه متن تصادفی زیر نام سایت میگذارد.
- پیشنمایش اشتراکگذاری (Open Graph)هیچ تگ Open Graph نیست؛ لینک سایت در تلگرام، واتساپ و شبکههای اجتماعی بدون عکس و تیتر دیده میشود.
- نقشهی سایت (sitemap)نقشهی سایت پیدا نشد؛ گوگل صفحههای تازه را دیرتر پیدا میکند.
- عنوان صفحه (title)عنوان خیلی کوتاه است (۱۳ حرف): «403 Forbidden». بین ۳۰ تا ۶۰ حرف بهتر دیده میشود.
- نشانی اصلی (canonical)تگ canonical نیست؛ اگر صفحه با چند نشانی باز شود، گوگل خودش یکی را انتخاب میکند.
- زبان صفحه (lang)زبان صفحه در تگ html نوشته نشده است.
- کارت توییتر / ایکستگ twitter:card نیست.
- دادهی ساختاریافته (Schema)هیچ دادهی ساختاریافتهای نیست؛ گوگل نمیتواند نتیجهی غنی (ستاره، قیمت، لوگو) نشان بدهد.
- آیکن سایت (favicon)آیکنی در head تعریف نشده است.
- فایل robots.txtفایل robots.txt پیدا نشد.
- تیتر اصلی (H1)«403»
- اجازهی ایندکسصفحه برای موتورهای جستجو باز است.
- نمای موبایل (viewport)تگ viewport هست.
- متن جایگزین عکسها (alt)عکسی در HTML اولیه نیست.
بررسیهای سئوی Lighthouse ۹۲ از ۱۰۰
ایرادها (۱ مورد)
پیوندهایی که گوگل میتواند دنبال کند
گوگل با دنبال کردن پیوندها صفحههای سایت را پیدا میکند. پیوندی که نشانی درستی ندارد و فقط با جاوااسکریپت کار میکند، راه گوگل را میبندد و صفحهی مقصد ممکن است پیدا نشود.
| پیوند غیرقابلپیمایش |
|---|
| <a href="javascript:void(0)" data-sidebar="open" data-panel="dinaSideLogin" data-direction="right"> |
بررسیهای قبولشده (۹ مورد)
اجازهی آمدن در نتیجههای جستوجو
اگر صفحه به موتورهای جستوجو گفته باشد ثبتش نکنند، در نتیجههای گوگل نمیآید و مشتری از راه جستوجو به آن نمیرسد.
عنوان صفحه (title)
عنوان صفحه در نتیجههای جستوجو و بالای زبانهی مرورگر دیده میشود و به کاربر صفحهخوان میگوید در کدام صفحه است.
توضیح زیر عنوان در گوگل (meta description)
متن کوتاهی که در نتیجههای جستوجو زیر عنوان صفحه میآید. همین متن است که جستوجوکننده را به زدن روی سایت شما راضی میکند.
جواب سرور به درخواست صفحه (HTTP status)
صفحهای که سرورش بهجای جواب درست، کد خطا برمیگرداند، ممکن است در موتورهای جستوجو ثبت نشود و در نتیجهها نیاید.
متن گویای پیوندها
متنی مثل «اینجا بزنید» چیزی دربارهی مقصد نمیگوید. متنی که بگوید پیوند به کجا میرود، هم به گوگل کمک میکند هم به کاربر صفحهخوان.
درست بودن robots.txt
فایل robots.txt به موتورهای جستوجو میگوید کدام بخشهای سایت را بگردند. اگر ایراد داشته باشد، ممکن است صفحههایی که باید در گوگل بیایند، دیده نشوند.
توضیح عکسها (alt)
متن alt عکس را برای کاربر صفحهخوان و برای موتور جستوجو توصیف میکند. بدون آن، مثلا عکس محصول برای کاربر نابینا اصلا وجود ندارد.
نسخههای زبانی صفحه (hreflang)
hreflang به موتورهای جستوجو میگوید برای هر زبان یا کشور، کدام نسخهی صفحه را در نتیجهها نشان دهند.
نشانی اصلی صفحه (canonical)
وقتی یک محتوا با چند نشانی باز میشود، canonical به گوگل میگوید کدام نشانی اصلی است و باید در نتیجهها بیاید.
آمادگی برای هوش مصنوعی
۰ از ۱۰۰ سطح ۰، آماده نیست
سطح ۰ از ۵ (Not Ready). امتیاز یعنی از بررسیهایی که به این سایت مربوط بودند، چند درصد قبول شد. برای رسیدن به سطح ۱ (حضور پایه در وب)، ۲ مورد از اینها: فایل robots.txt، نقشهی سایت (sitemap.xml)، هدر Link.
- پیدا شدن
- ۰ از ۳
- محتوای خوانا
- ۰ از ۱
- اجازهی رباتها
- ۰ از ۲
- API، ورود و MCP
- ۰ از ۵
پیدا شدن (۰ از ۳)
- فایل robots.txtفایل /robots.txt پیدا نشد (یا به جایش صفحهی HTML آمد).چه کار کنید: یک فایل متنی در https://drfitpharm.com/robots.txt بگذارید که با کد ۲۰۰ و Content-Type: text/plain جواب بدهد و دستکم یک گروه User-agent با Allow یا Disallow داشته باشد.
- نقشهی سایت (sitemap.xml)نه در robots.txt خط Sitemap هست، نه در /sitemap.xml و /sitemap_index.xml نقشهای پیدا شد.چه کار کنید: نقشهی سایت XML را در https://drfitpharm.com/sitemap.xml بگذارید (با <urlset> و یک <url><loc> برای هر صفحهی عمومی) و خط Sitemap: https://drfitpharm.com/sitemap.xml را به robots.txt اضافه کنید.
- هدر Linkپاسخ صفحهی اصلی هدر Link ندارد.چه کار کنید: در پاسخ صفحهی اصلی هدر Link بفرستید، مثلا: Link: </.well-known/api-catalog>; rel="api-catalog", </llms.txt>; rel="describedby"; type="text/plain"
- معرفی ایجنت در DNS (DNS-AID)سرویسهای DNS-over-HTTPS (کلادفلر و گوگل) از سرور تست جواب ندادند؛ این بررسی انجام نشد و در امتیاز حساب نمیشود.
محتوای خوانا (۰ از ۱)
- نسخهی Markdown برای ایجنتهابا Accept: text/markdown هم text/html برمیگردد (کد ۴۰۳)؛ ایجنت باید کل HTML را بخواند.چه کار کنید: برای درخواستهایی که Accept: text/markdown دارند، متن صفحه را به Markdown تبدیل کنید و با Content-Type: text/markdown برگردانید (HTML برای مرورگرها پیشفرض بماند). روی کلادفلر، Markdown for Agents همین را بیکدنویسی روشن میکند.
اجازهی رباتها (۰ از ۲)
- قانون رباتهای هوش مصنوعی در robots.txtrobots.txt نیست، پس قانونی برای رباتهای هوش مصنوعی هم نیست.چه کار کنید: در robots.txt برای رباتهای هوش مصنوعی گروه جدا بنویسید: رباتهای جستجو (OAI-SearchBot، Claude-SearchBot، PerplexityBot) که در جوابهای هوش مصنوعی دیده شدن را میسازند، و رباتهای آموزش مدل (GPTBot، ClaudeBot، Google-Extended، CCBot) که بستنشان دیده شدن را کم نمیکند؛ هر کدام با Allow و Disallow دلخواه.
- اجازهی استفاده از محتوا (Content Signals)robots.txt نیست، پس Content Signals هم نیست.چه کار کنید: زیر گروه مناسب در robots.txt یک خط Content-Signal بنویسید، مثلا: Content-Signal: search=yes, ai-input=yes, ai-train=no
- امضای ربات (Web Bot Auth)/.well-known/http-message-signatures-directory پیدا نشد (کد ۴۰۴). فقط برای سایتی مهم است که خودش ربات یا ایجنت میفرستد؛ در امتیاز حساب نمیشود.
API، ورود و MCP (۰ از ۵)
- فهرست API (api-catalog)/.well-known/api-catalog پیدا نشد (کد ۴۰۴).چه کار کنید: https://drfitpharm.com/.well-known/api-catalog را با Content-Type: application/linkset+json بگذارید: یک آرایهی linkset که برای هر API یک anchor و پیوندهای service-desc (OpenAPI) و service-doc (راهنما) دارد.
- کارت سرور MCP/.well-known/mcp/server-card.json پیدا نشد (کد ۴۰۴)؛ دو نشانی دیگر هم کارتی نداشتند.چه کار کنید: اگر سرور MCP دارید، کارتش را در https://drfitpharm.com/.well-known/mcp/server-card.json بگذارید: serverInfo (name و version)، transport با endpoint (مثلا /mcp) و capabilities.
- فهرست مهارتها (Agent Skills)/.well-known/agent-skills/index.json پیدا نشد (کد ۴۰۴).چه کار کنید: فهرست مهارتها را در https://drfitpharm.com/.well-known/agent-skills/index.json بگذارید: $schema برابر https://schemas.agentskills.io/discovery/0.2.0/schema.json و آرایهی skills که هر مهارت name، type، description، url و digest (sha256) دارد.
- ابزارهای صفحه برای ایجنت مرورگر (WebMCP)در HTML صفحه نه فرمی با toolname هست، نه ثبت ابزار با modelContext (از روی کد صفحه، بدون مرورگر).چه کار کنید: در صفحهی اصلی، کارهای اصلی سایت (جستجو، ثبت سفارش، فرم تماس) را با document.modelContext.registerTool() به ایجنت مرورگر معرفی کنید (name، description، inputSchema و execute)، یا به فرمهای موجود ویژگی toolname و tooldescription بدهید.
- فهرست منابع ایجنتی (ARD)/.well-known/ai-catalog.json پیدا نشد (کد ۴۰۴).چه کار کنید: فایل https://drfitpharm.com/.well-known/ai-catalog.json را با Content-Type: application/json و Access-Control-Allow-Origin: * بگذارید: specVersion، host (displayName و identifier) و آرایهی entries که هر مورد identifier (به شکل urn:air:drfitpharm.com:...)، displayName، type و دقیقا یکی از url یا data دارد.
- کشف OAuth یا OpenID/.well-known/openid-configuration پیدا نشد (کد ۴۰۴)، /.well-known/oauth-authorization-server پیدا نشد (کد ۴۰۴).
- فرادادهی منبع محافظتشدهی OAuth/.well-known/oauth-protected-resource پیدا نشد (کد ۴۰۴).
- راهنمای ثبتنام ایجنت (auth.md)/auth.md با کد ۴۰۳ جواب داد.
- کارت ایجنت A2A/.well-known/agent-card.json پیدا نشد (کد ۴۰۴). در امتیاز حساب نمیشود.
خرید توسط ایجنت (اختیاری، در امتیاز نیست)
این سایت فروشگاه به نظر نمیرسد، پس پنج بررسی خرید (x402، MPP، UCP، ACP و AP2) به آن مربوط نیست.
بررسیهای خود ما (بیرون از امتیاز)
- فایل llms.txt/llms.txt با کد ۴۰۳ جواب داد.چه کار کنید: در ریشهی سایت فایل متنی llms.txt بگذارید که با یک عنوان Markdown شروع شود (# نام سایت)، بعد یک خط معرفی با > و فهرست پیوند مهمترین صفحهها؛ با Content-Type: text/plain یا text/markdown.
- ورود واقعی ایجنتهاایجنتهای ChatGPT و Claude صفحهی اصلی را بیمانع گرفتند.
دسترسپذیری و شیوههای درست برای همهی بازدیدکنندهها و همهی مرورگرها.
دسترسپذیری ۷۰ از ۱۰۰
ایرادها (۸ مورد)
ویژگیهای ARIA متناسب با نقش عنصر
هر نقش ARIA فقط ویژگیهای مشخصی را میپذیرد. ویژگی نامربوط بیاثر میماند و صفحهخوان، یعنی برنامهای که صفحه را برای نابینایان بلند میخواند، اطلاعات درستی به کاربر نمیدهد.
| عناصر دارای ایراد |
|---|
| <input autocomplete="off" data-swplive="true" name="s" type="text" class="form-control dina-search-input" placeholder="جستجو در محصولات..." aria-label="جستجو" required="" aria-describedby="searchwp_live_search_results_6ac347ab064ba_instruct… |
ویژگیهای ARIA در جای مجاز
بعضی ویژگیهای ARIA روی بعضی عنصرها مجاز نیستند. آنجا صفحهخوان آنها را نادیده میگیرد و اطلاعات مهمی به کاربر نمیرسد.
| عناصر دارای ایراد |
|---|
| <span class="dina-mclosebtn" aria-label="بستن" data-close-sidebar=""> |
| <span class="dina-mclosebtn" aria-label="بستن" data-close-sidebar=""> |
| <span class="dina-mclosebtn" aria-label="بستن" data-close-sidebar=""> |
نام دکمهها
دکمهای که نام ندارد، مثلا دکمهای که فقط یک آیکون است، در صفحهخوان فقط «دکمه» خوانده میشود و کاربر نابینا نمیداند چه کاری میکند.
| عناصر دارای ایراد |
|---|
| <button role="button" class="owl-dot active"> |
| <button role="button" class="owl-dot"> |
| <button role="button" class="owl-dot"> |
| <button role="button" class="owl-dot"> |
| <button role="button" class="owl-dot active"> |
| <button role="button" class="owl-dot"> |
| <button role="button" class="owl-dot"> |
| <button type="button" role="presentation" class="owl-next"> |
| <button type="button" role="presentation" class="owl-next"> |
| <button type="button" role="presentation" class="owl-next"> |
رنگ متن و پسزمینه
متن کمرنگ روی پسزمینهای نزدیک به رنگ خودش، برای بسیاری سخت خوانده میشود، بهویژه برای کمبینایان و برای همه زیر نور آفتاب.
| عناصر دارای ایراد |
|---|
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <span class="woocommerce-Price-amount amount"> |
| <bdi> |
و ۳ مورد دیگر.
نام پیوندها
پیوند باید متنی روشن داشته باشد تا کاربر صفحهخوان بداند به کجا میرود. پیوند خالی یا پیوندی که فقط آیکون است، بیمعنا خوانده میشود.
| عناصر دارای ایراد |
|---|
| <a referrerpolicy="origin" target="_blank" href="https://trustseal.enamad.ir/?id=438160&Code=FyA2uY2X9MvribYsQs24KFS04HV7aO…"> |
| <a referrerpolicy="origin" target="_blank" href="https://trustseal.enamad.ir/?id=438160&Code=FyA2uY2X9MvribYsQs24KFS04HV7aO…"> |
| <a referrerpolicy="origin" target="_blank" href="https://trustseal.enamad.ir/?id=438160&Code=FyA2uY2X9MvribYsQs24KFS04HV7aO…"> |
| <a referrerpolicy="origin" target="_blank" href="https://trustseal.enamad.ir/?id=438160&Code=FyA2uY2X9MvribYsQs24KFS04HV7aO…"> |
| <a referrerpolicy="origin" target="_blank" href="https://trustseal.enamad.ir/?id=438160&Code=FyA2uY2X9MvribYsQs24KFS04HV7aO…"> |
ساختار فهرستها
فهرست باید فقط از گزینههای فهرست (li) ساخته شود تا صفحهخوان تعداد و ترتیب گزینهها را درست بگوید.
| عناصر دارای ایراد |
|---|
| <ul class="dina-block-tabs dina-block-tabs-style-two"> |
اندازه و فاصلهی دکمهها برای لمس
دکمهها و پیوندهای ریز یا چسبیده به هم روی گوشی سخت زده میشوند و انگشت بازدیدکننده روی چیز دیگری میخورد.
| عناصر دارای ایراد |
|---|
| <button role="button" class="owl-dot active"> |
| <button role="button" class="owl-dot"> |
| <button role="button" class="owl-dot"> |
| <button role="button" class="owl-dot"> |
| <button role="button" class="owl-dot active"> |
| <button role="button" class="owl-dot"> |
| <button role="button" class="owl-dot"> |
عنصرهای کنارگذاشته از صفحهخوان (role=none)
عنصری که قرار است صفحهخوان از آن بگذرد، اگر ویژگیهای متناقض داشته باشد، باز هم خوانده میشود و کاربر را گیج میکند.
| عناصر دارای ایراد |
|---|
| <button type="button" role="presentation" class="owl-next"> |
| <button type="button" role="presentation" class="owl-next"> |
| <button type="button" role="presentation" class="owl-next"> |
اطلاعات بیشتر (۲ مورد)
نقش ARIA مناسب برای عنصر
هر عنصر HTML فقط بعضی نقشهای ARIA را میپذیرد. نقش نامناسب میتواند کار صفحهخوان و صفحهکلید را به هم بزند.
| عناصر دارای ایراد |
|---|
| <button type="button" role="presentation" class="owl-next"> |
| <button type="button" role="presentation" class="owl-next"> |
| <button type="button" role="presentation" class="owl-next"> |
پیوندهای همنام و مقصدشان
پیوندهایی که متن یکسان دارند، باید به یک جا بروند تا کاربر صفحهخوان بداند هر کدام او را کجا میبرد.
| عناصر دارای ایراد |
|---|
| <a href="https://instagram.com/drfitpharm" target="_blank" rel="noopener"> |
بررسیهای قبولشده (۱۸ مورد؛ ۳۵ مورد هم به این صفحه مربوط نبود)
ویژگیهای ARIA که فقط در جای خود مجازند
بعضی ویژگیهای ARIA فقط روی عنصرهای خاصی معنا دارند. اگر جای دیگری بیایند، صفحهخوان وضعیت عنصر را اشتباه میگوید.
نقشهای قدیمی و کنارگذاشتهی ARIA
نقشهایی که دیگر در استاندارد نیستند، ممکن است در صفحهخوانها درست کار نکنند و کاربر را سردرگم کنند.
پنهان نبودن کل صفحه از صفحهخوان
اگر روی body صفحه aria-hidden="true" گذاشته شود، ممکن است صفحهخوان هیچچیز از صفحه را برای کاربر نابینا نخواند.
دکمه و پیوند درون بخشهای پنهان
اگر در بخشی که از صفحهخوان پنهان شده دکمه یا پیوندی باشد، کاربر صفحهکلید روی آن میرسد ولی صفحهخوان چیزی نمیگوید و او نمیداند کجاست.
ویژگیهای لازم برای نقشهای ARIA
بعضی نقشها باید وضعیت خود را به صفحهخوان بگویند، مثلا باز یا بسته بودن یک منو. بدون این ویژگیها کاربر وضعیت را نمیفهمد.
درست بودن نقشها (role)
نقشی که نامعتبر است یا اشتباه نوشته شده، برای صفحهخوان ناشناخته است و نمیتواند به کاربر بگوید آن عنصر چیست.
درست بودن مقدار ویژگیهای ARIA
صفحهخوان مقدار نادرست را نمیفهمد، پس اطلاعات آن عنصر به کاربر نمیرسد.
درست بودن نام ویژگیهای ARIA
ویژگی ARIA که نامش اشتباه نوشته شده یا اصلا وجود ندارد، برای صفحهخوان بیمعناست و نادیده گرفته میشود.
عنوان صفحه (title)
عنوان صفحه در نتیجههای جستوجو و بالای زبانهی مرورگر دیده میشود و به کاربر صفحهخوان میگوید در کدام صفحه است.
ترتیب عنوانها
عنوانها باید به ترتیب بیایند و از سطحی به سطح پایینتر نپرند. اینطور ساختار صفحه روشن است و حرکت در آن با صفحهخوان آسانتر میشود.
زبان صفحه (lang)
اگر زبان صفحه در کد نیامده باشد، صفحهخوان متن را با زبان پیشفرض کاربر میخواند و ممکن است فارسی را با تلفظ اشتباه بخواند.
درست بودن کد زبان صفحه (lang)
کد زبان صفحه باید معتبر باشد، مثلا fa، تا صفحهخوان متن را با زبان و تلفظ درست بخواند.
توضیح عکسها (alt)
متن alt عکس را برای کاربر صفحهخوان و برای موتور جستوجو توصیف میکند. بدون آن، مثلا عکس محصول برای کاربر نابینا اصلا وجود ندارد.
برچسب فیلدهای فرم
برچسب به صفحهخوان میگوید هر فیلد برای چیست، مثلا نام یا شمارهی موبایل. بدون برچسب، پر کردن فرم برای کاربر نابینا ممکن نیست.
گزینههای فهرست درون فهرست
گزینهی فهرست (li) باید درون ul یا ol یا menu باشد، وگرنه صفحهخوان آن را جزو فهرست نمیخواند.
امکان بزرگ کردن صفحه
اگر بزرگنمایی صفحه بسته شده باشد، کمبینایان نمیتوانند متن را درشت کنند و نوشتههای سایت را بخوانند.
بخش اصلی صفحه (main)
وقتی بخش اصلی صفحه مشخص باشد، کاربر صفحهخوان میتواند مستقیم به آن برود.
پر شدن خودکار فرم (autocomplete)
مقدار درست autocomplete به مرورگر و صفحهخوان میگوید هر فیلد چه اطلاعاتی میخواهد. اینطور مرورگر میتواند نام و نشانی را خودش پر کند و فرم برای همه آسانتر میشود.
شیوههای درست ۹۶ از ۱۰۰
ایرادها (۱ مورد)
خطاهای ثبتشده در مرورگر (console)
خطاهایی که مرورگر هنگام باز کردن صفحه ثبت کرده است، مثلا فایلی که نرسید یا کدی که درست اجرا نشد. هر کدام نشانهی مشکلی است که هنوز حل نشده است.
| منبع | توضیح |
|---|---|
| drfitpharm.com/wp-includes/js/dist/api-fetch.min.js?ver=6f2a4faeee3c722b1e57:3 | TypeError: (0 , C.__dangerousOptInToUnstableAPIsOnlyForCoreModules) is not a function at https://drfitpharm.com/wp-includes/js/dist/api-fetch.min.js?ver=6f2a4faeee3c722b1e57:3:947 at https://drfitpharm.com/wp-includes/js/dist/api-fetch.min.js?ver=6f2a4faeee3c722b1e57:3:7310 at https://dr… |
| 2 | TypeError: Cannot read properties of undefined (reading 'use') at wp-api-fetch-js-after:2:13 |
| 2 | TypeError: Cannot set properties of undefined (setting 'uiBackCompat') at jquery-ui-core-js-before:2:21 |
اطلاعات بیشتر (۷ مورد)
سد CSP در برابر کد مخرب (XSS)
سیاست امنیت محتوا (CSP) به مرورگر میگوید کدام کدها اجازهی اجرا دارند. اینطور اگر کسی کد مخربی در صفحه جا بدهد، اجرا نمیشود و اطلاعات بازدیدکننده میماند.
| توضیح | شدت |
|---|---|
| No CSP found in enforcement mode | High |
اجبار به ارتباط امن (HSTS)
سرآیند HSTS به مرورگر میگوید همیشه با HTTPS به سایت وصل شود، حتی اگر کسی نشانی را با http بزند. اینطور خطر شنود ارتباط کمتر میشود.
| توضیح | شدت |
|---|---|
| No HSTS header found | High |
جدا کردن پنجرهی سایت (COOP)
سرآیند COOP پنجرهی سایت را از پنجرههای دیگر، مثل پنجرههای بازشو، جدا میکند تا سایتهای دیگر نتوانند به آن دست بزنند.
| توضیح | شدت |
|---|---|
| No COOP header found | High |
جلوگیری از کلیکدزدی (XFO یا CSP)
این سرآیندها نمیگذارند سایت دیگری سایت شما را پنهانی درون صفحهی خودش بگذارد و بازدیدکننده را فریب دهد تا جایی را بزند که نمیخواهد.
| توضیح | شدت |
|---|---|
| No frame control policy found | High |
سد Trusted Types در برابر کد مخرب (XSS)
Trusted Types مرورگر را وادار میکند هر داده را پیش از گذاشتن در صفحه بررسی کند. اینطور کد مخرب از این راه وارد صفحه نمیشود.
| توضیح | شدت |
|---|---|
| No `Content-Security-Policy` header with Trusted Types directive found | High |
قابلیتهای وب و پشتیبانی مرورگرها (Baseline)
قابلیتهای وبی که صفحه به کار برده را نشان میدهد و اینکه مرورگرهای رایج تا چه اندازه هر کدام را پشتیبانی میکنند.
| قابلیتهای وب | منبع |
|---|---|
| webstatus.dev/features/background-clip-text | drfitpharm.com/:-1 |
| webstatus.dev/features/speculation-rules | drfitpharm.com/:-1 |
| webstatus.dev/features/display-mode | drfitpharm.com/wp-content/cache/min/1/wp-content/themes/dinakala/js/theme.js?ver=1785908823:1 |
| webstatus.dev/features/content-visibility | drfitpharm.com/:-1 |
| webstatus.dev/features/iterator-methods | drfitpharm.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.2.4:1 |
| webstatus.dev/features/promise-try | drfitpharm.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0:7 |
| webstatus.dev/features/fetch-priority | drfitpharm.com/:-1 |
| webstatus.dev/features/backdrop-filter | drfitpharm.com/:-1 |
| webstatus.dev/features/has | drfitpharm.com/:-1 |
| webstatus.dev/features/url-canparse | drfitpharm.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0:7 |
| webstatus.dev/features/masks | drfitpharm.com/:-1 |
| webstatus.dev/features/contain-intrinsic-size | drfitpharm.com/:-1 |
و ۲۰ مورد دیگر.
کتابخانههای JavaScript صفحه
کتابخانههای جاوااسکریپتی که در این صفحه پیدا شد.
| نام | Version |
|---|---|
| jQuery | 3.7.1 |
| jQuery UI | 1.14.2 |
| Underscore | 1.13.8 |
| WordPress | 7.1.2 |
| core-js | core-js-global@3.39.0; core-js-global@3.46.0 |
| WP Rocket |
بررسیهای قبولشده (۱۲ مورد؛ ۱ مورد هم به این صفحه مربوط نبود)
ارتباط امن (HTTPS)
HTTPS ارتباط بازدیدکننده با سایت را رمزگذاری میکند تا کسی در میانه نتواند اطلاعات او را ببیند یا تغییر دهد. مرورگرها سایت بی HTTPS را «ناامن» نشان میدهند.
خواستن موقعیت مکانی هنگام ورود
سایتی که همان لحظهی ورود و بیتوضیح موقعیت مکانی میخواهد، بازدیدکننده را بدبین میکند. بهتر است وقتی پرسیده شود که خود او کاری کرده که به موقعیت نیاز دارد.
خواستن اجازهی اعلان هنگام ورود
درخواست اعلان در همان لحظهی ورود، بازدیدکننده را آزار میدهد و بیشتر کسان ردش میکنند. بهتر است وقتی پرسیده شود که دلیلش برای او روشن است.
چسباندن متن در فیلدها
فیلدی که چسباندن را نمیپذیرد، بازدیدکننده را اذیت میکند. اگر فیلد رمز باشد، برنامههای نگهداری رمز هم کار نمیکنند و امنیت کمتر میشود.
نسبت درست عکسها
عکسی که با نسبتی غیر از نسبت واقعیاش نمایش داده شود، کشیده یا فشرده دیده میشود و سایت را نامرتب نشان میدهد.
وضوح عکسها
عکسی که از جای نمایشش کوچکتر است، روی صفحهنمایشهای باکیفیت گوشی تار دیده میشود.
doctype در ابتدای صفحه
بی doctype، مرورگر صفحه را در حالت قدیمی نشان میدهد و ظاهر سایت در مرورگرهای مختلف به هم میریزد.
رمزگذاری حروف (charset)
اگر رمزگذاری صفحه درست اعلام نشود، حروف فارسی ممکن است درهم و ناخوانا نمایش داده شوند.
قابلیتهایی که مرورگرها کنار میگذارند
این قابلیتها دیر یا زود از مرورگرها حذف میشوند و هر بخشی از سایت که به آنها بسته است، از کار میافتد.
کوکیهای سایتهای دیگر (third-party cookies)
مرورگرها در بعضی حالتها کوکیهای سایتهای دیگر را میبندند. ابزاری که به این کوکیها بسته است، ممکن است از کار بیفتد.
درست بودن source mapها
source map کد فشرده را به کد اصلی وصل میکند تا برنامهنویس خطاهای سایت را زودتر پیدا و رفع کند.
مشکلاتی که Chrome ثبت کرده (Issues)
مشکلاتی که مرورگر Chrome دربارهی صفحه در بخش Issues ابزار برنامهنویس ثبت کرده است، مثل خطای شبکه یا تنظیم امنیتی ناکافی.
تاریخچهی گزارشها هر تست این سایت، با تاریخش.
- تاریخموبایلدسکتاپسئوLCP
- ۳۶۶۹۹۲۷٫۳ ث
پیش از تصمیم، معمولا اینها را میپرسند
روی گوشی خودم سایت زود باز میشود؛ چرا اینجا کند است؟
گوشی شما سایت را قبلا باز کرده و خیلی از فایلهایش را در حافظه دارد، و معمولا با وایفای است. تست ما مثل بازدیدکنندهای است که اولین بار، با یک گوشی معمولی و اینترنت موبایل، سایت را باز میکند؛ همان تنظیمی که PageSpeed گوگل برای موبایل دارد. مشتری تازهی شما همین را میبیند.
فرق این عدد با PageSpeed گوگل چیست؟
موتور یکی است؛ جای تست فرق دارد. سرورهای PageSpeed بیرون از ایراناند و سرور ما در تهران. برای سایتی که سرورش در ایران است و مشتریاش هم، عدد از تهران به تجربهی مشتری نزدیکتر است. ما دادهی بازدیدکنندههای واقعی را نمیسنجیم؛ این یک تست آزمایشگاهی است، مثل خود PageSpeed.
بهینهسازی سرعت سایت چقدر خرج دارد و چقدر طول میکشد؟
۱۵ میلیون تومان، یک بار. کار در ۷ روز تحویل میشود و وسط کار چیزی به این قیمت اضافه نمیشود.
اگر سایتم خراب شود؟
پیش از شروع، از کل سایت نسخهی پشتیبان میگیریم و بعد از هر تغییر سایت را تست میکنیم. اگر چیزی خراب شود، سایت را از همان نسخه به حال قبل برمیگردانیم. ۷ روز بعد از تحویل هم هر چیزی که به کار ما مربوط باشد رایگان درست میشود.
از کجا بفهمم واقعا بهتر شد؟
با همین ابزار. گزارش امروز (۱۳ مهر ۱۴۰۵) در تاریخچهی همین صفحه میماند و گزارش بعد از کار کنارش میآید؛ هر کسی میتواند هر دو را ببیند.
معیارهای بخش آمادگی برای هوش مصنوعی، مشابه سرویس isitagentready.com است.
۱۰ دقیقه مشاورهی رایگان
گزارش را با هم مرور کنیم تا بدانید از کدام ایراد شروع کنید و چقدر کار دارد.
بیشتر
تفسیر گزارش PageSpeed؛ Core Web Vitals چیست و هر عدد یعنی چه
گزارش سرعت پر از عدد است و پشت هر عدد، تجربهی یک بازدیدکننده است: چند ثانیه صبر کرده، صفحه زیر انگشتش پریده یا دکمه دیر جواب داده است. تفسیر گزارش PageSpeed یعنی همین را از عددها بفهمید و بدانید کدام ایراد را اول درست کنید. در این صفحه بخشهای گزارش را به ترتیب و به زبان ساده توضیح میدهیم: Core Web Vitals چیست، امتیاز از ۱۰۰ چطور حساب میشود، LCP و CLS و INP و TBT هر کدام چه میسنجند، FCP و Speed Index و پاسخ سرور، گواهی SSL و HTTP/3، هاست، سئو، دسترسپذیری و آمادگی برای هوش مصنوعی. در آخر هم یک ترتیب عملی برای درست کردن ایرادها آمده است.
تفسیر گزارش PageSpeed را از کجا شروع کنیم؟
گزارش سرعت در نگاه اول شلوغ است. برای همین، تفسیر گزارش PageSpeed را از بالا شروع کنید و از کلی به جزئی بروید.
بالای گزارش، کنار نام دامنه، دو چیز نوشته شده است: جای تست، و تاریخ و ساعت. این دو را جدی بگیرید. هر گزارش سرعت مثل یک عکس است: یک لحظه را از یک جا نشان میدهد. گزارشهای تیم سفید از سروری در تهران گرفته میشوند، چون میخواهیم سایت را همانطور ببینیم که بازدیدکنندهی ایرانی میبیند.
بعد یک جملهی خلاصه دربارهی موبایل میآید. این جمله از امتیاز ساخته نمیشود، از ثانیهها ساخته میشود؛ یعنی از اینکه بخش اصلی صفحه روی گوشی چند ثانیه بعد دیده میشود (همان LCP که پایینتر توضیحش میدهیم). چون بازدیدکننده امتیاز را نمیبیند، صبر کردن را میبیند. مرزها همان مرزهای گوگل است: تا ۲٫۵ ثانیه «سایت شما روی گوشی سریع است.»، تا ۴ ثانیه «سایت شما روی گوشی میتواند سریعتر باشد.» و بیشتر از ۴ ثانیه «سایت شما روی گوشی کند است.». اگر صفحه زود دیده شود ولی امتیاز سرعت موبایل زیر ۵۰ باشد، سایت را سریع نمینامیم و جملهی وسط را مینویسیم. اگر تست موبایل از وقتش گذشته باشد، جمله «کند است» میشود. پایینتر، در گزارش فنی کامل، باز یک خلاصه هست. زیر آن خلاصه، چند ایراد مهم فهرست شده است و هر کدام شما را به بخش خودش میبرد. این فهرست دو ایراد اول سرعت را دارد، یعنی همانهایی که بیشترین زمان را آزاد میکنند. مشکل گواهی SSL، کار کردن سایت فقط با HTTP/1.1، تعداد ایرادهای سئو و آماده نبودن جدی سایت برای هوش مصنوعی هم در آن میآیند. اگر هیچکدام نبود، نوشته شده «ایراد مهمی پیدا نشد». اگر فقط وقت دارید همین بالای گزارش را بخوانید، کار اول شما همین فهرست کوتاه است.
هفت عقربه و سه رنگ: امتیاز از ۱۰۰ را چطور بخوانیم
بعد از خلاصه، عقربهها میآیند. هر عقربه یک امتیاز از ۱۰۰ است. رنگش را ما انتخاب نکردهایم؛ قاعدهی خود Lighthouse است. طبق مستندات امتیازدهی Lighthouse، ۹۰ تا ۱۰۰ سبز و خوب است، ۵۰ تا ۸۹ نارنجی و نیازمند بهبود، و ۰ تا ۴۹ قرمز و ضعیف. در گزارش ما کنار رنگ، شکل هم هست: دایره برای خوب، مربع برای متوسط و مثلث برای ضعیف. این را برای کسی گذاشتهایم که رنگها را خوب از هم تشخیص نمیدهد؛ او هم باید بتواند گزارش را بخواند.
هفت امتیاز گزارش اینهاست: سرعت موبایل، سرعت دسکتاپ، سئو، گواهی SSL، آمادگی برای هوش مصنوعی، دسترسپذیری و شیوههای درست. پنج تا از آنها را مستقیم خود Lighthouse میدهد: دو سرعت، سئو، دسترسپذیری و شیوههای درست. امتیاز SSL و هوش مصنوعی از بررسیهای جداگانهی ابزار خود ما میآید و پایینتر توضیحشان میدهیم.
Lighthouse چیست و چه ربطی به PageSpeed دارد؟
احتمالا اسم PageSpeed را بیشتر شنیدهاید. ولی موتوری که پشت آن کار میکند Lighthouse است. طبق معرفی Lighthouse در مستندات Chrome، Lighthouse ابزاری خودکار و متنباز برای بهتر کردن کیفیت صفحههای وب است. برای سرعت، دسترسپذیری، سئو و چند چیز دیگر بررسی دارد. میشود آن را داخل ابزارهای توسعهدهندهی Chrome، از خط فرمان یا به شکل یک ماژول Node اجرا کرد. ابزار ما هم همین Lighthouse را اجرا میکند. پس هر عدد سرعت در گزارش ما خروجی خود Lighthouse است. نام انگلیسی هر سنجه (LCP، TBT، CLS، FCP و SI) را هم کنار نام فارسیاش گذاشتهایم تا بتوانید آن را با PageSpeed Insights یا گزارش Lighthouse داخل Chrome مقایسه کنید.
امتیاز PageSpeed (Performance) چطور حساب میشود؟
امتیاز سرعت یک نمرهی جادویی نیست. میانگین وزندار پنج سنجه است، مثل معدل کارنامه که هر درس ضریب خودش را دارد. طبق همان مستندات Lighthouse، ضریبها در جدول نسخهی ۱۰ اینطور است: TBT سی درصد، LCP بیستوپنج درصد، CLS بیستوپنج درصد، FCP ده درصد و Speed Index ده درصد.
یعنی سه سنجه هشتاد درصد امتیاز را میسازند: TBT، LCP و CLS. پس به عدد کلی خیره نشوید؛ ببینید کدام سنجه قرمز است. کنار هر سنجه در گزارش ما همان نقطهی رنگی و شکل هست. در یک نگاه معلوم است کدام عدد امتیاز را پایین کشیده است.
دو نکته را هم بدانید. اول، امتیاز از یک تست تا تست بعد چند واحد بالا و پایین میشود. مستندات Lighthouse دلیلهایی مثل عوض شدن تبلیغها، تغییر مسیر اینترنت و تفاوت دستگاه را نام میبرد. دوم، امتیاز موبایل را با دسکتاپ مقایسه نکنید. تست موبایل یک گوشی میانرده با اینترنت همراه را شبیهسازی میکند، پس طبیعی است که پایینتر باشد. برای گوگل هم موبایل مهمتر است، چون طبق راهنمای جستجوی گوگل نسخهی موبایل سایت برای ایندکس و رتبهبندی به کار میرود. گزارش ما برای هر کدام زبانهی جدا دارد. اول موبایل را بخوانید.
Core Web Vitals چیست؟
گوگل سه سنجه را «شاخصهای حیاتی وب» یا Core Web Vitals نامیده است. هر کدام یک بخش اصلی از تجربهی بازدیدکننده را میسنجد: بار شدن (LCP)، پاسخ دادن (INP) و ثبات (CLS). گوگل در راهنمای جستجو دربارهی Core Web Vitals اینها را سنجههایی میداند که تجربهی واقعی کاربر را اندازه میگیرند. به صاحبان سایت توصیه میکند در آنها به نتیجهی خوب برسند. میگوید این کار، کنار جنبههای دیگر تجربهی صفحه، با چیزی همسو است که سیستمهای اصلی رتبهبندیاش میخواهند پاداش بدهند.
مرزها از مقالهی تعیین آستانههای Core Web Vitals در web.dev میآید:
- LCP: تا ۲٫۵ ثانیه خوب، بیشتر از ۴ ثانیه ضعیف.
- INP: تا ۲۰۰ میلیثانیه خوب، بیشتر از ۵۰۰ میلیثانیه ضعیف.
- CLS: تا ۰٫۱ خوب، بیشتر از ۰٫۲۵ ضعیف.
همان مقاله میگوید برای قضاوت دربارهی یک صفحه یا سایت، صدک ۷۵ همهی بازدیدها را نگاه میکنند. یعنی اگر دستکم ۷۵ درصد بازدیدها در محدودهی خوب باشند، آن سنجه خوب است. این نکته در تفسیر گزارش مهم است. اگر صفحه روی گوشی شما خوب باز شد، یعنی صفحه میتواند سریع باشد. یعنی برای همه سریع است؟ نه لزوما.
LCP سایت چیست؟ بخش اصلی صفحه کی دیده میشود
LCP لحظهای است که بزرگترین متن یا عکس صفحه روی صفحهنمایش میآید. معمولا این عکس اصلی بالای صفحه، اسلایدر یا تیتر بزرگ است. همان لحظهای که بازدیدکننده حس میکند «صفحه باز شد». مقالهی LCP در web.dev هدف ۲٫۵ ثانیه یا کمتر را پیشنهاد میکند.
LCP بد معمولا یکی از این دلیلها را دارد. سرور دیر جواب میدهد. عکس اصلی سنگین است یا از اندازهای که نمایش داده میشود بزرگتر است. مرورگر عکس را دیر پیدا میکند، مثلا چون با جاوااسکریپت اضافه میشود یا «بارگذاری تنبل» رویش گذاشتهاند. یا فایلهای CSS و جاوااسکریپتی هستند که تا کامل نرسند، نمیگذارند چیزی نمایش داده شود.
در گزارش، بخشی به نام «جزئیات زمان LCP» هست. این بخش زمان را به مرحلهها تقسیم میکند تا معلوم شود تأخیر از سرور است، از دانلود یا از نمایش. راهنمای بهینهسازی LCP چهار مرحله را نام میبرد: پاسخ سرور، تاخیر شروع بارگذاری عکس، زمان دانلود عکس و تاخیر نمایش. در صفحهای که خوب بهینه شده، حدود ۴۰ درصد سهم پاسخ سرور است و ۴۰ درصد سهم دانلود؛ هر کدام از دو تاخیر هم زیر ۱۰ درصد. اگر در گزارش شما یکی از دو تاخیر بزرگ است، مشکل معمولا در کد صفحه است، نه در سرور یا حجم عکس. ردیف «پیدا شدن زودهنگام عکس LCP» هم به کار میآید. این ردیف میگوید مرورگر عکس اصلی را از همان اول در HTML میبیند یا نه.
CLS سایت چیست؟ صفحه چقدر میپرد
حتما برایتان پیش آمده است. میخواهید روی لینکی بزنید، همان لحظه عکسی بالای صفحه بار میشود و انگشتتان روی چیز دیگری مینشیند. CLS همین پرشها را جمع میزند. طبق مقالهی CLS در web.dev، هر بار که بخشی از صفحه که دیده میشود از یک فریم تا فریم بعد جایش را عوض کند، یک جابهجایی چیدمان رخ داده است. عدد CLS واحد ندارد: تا ۰٫۱ خوب و بیشتر از ۰٫۲۵ ضعیف.
رایجترین دلیلها سه تاست. عکس یا ویدیویی که اندازهاش در کد مشخص نشده است. تبلیغ یا بنری که بعدا بالای محتوا اضافه میشود. و فونتی که دیر میرسد و اندازهی متن را عوض میکند. بخش «جابهجاییهای بزرگ چیدمان» در گزارش، بزرگترین پرشها را همراه با بخشهایی که جابهجا شدهاند نشان میدهد. همانجا معلوم است کدام عنصر مقصر است.
INP چیست و چرا در گزارش TBT آمده؟
INP میگوید وقتی بازدیدکننده روی دکمهای میزند یا منویی را باز میکند، چقدر طول میکشد تا نتیجه را ببیند. طبق مقالهی INP در web.dev، این سنجه تأخیر همهی کارهایی را که کاربر با صفحه میکند میبیند. بعد یک عدد گزارش میکند که همه یا تقریبا همهی این کارها زیر آن بودهاند. تا ۲۰۰ میلیثانیه خوب است، تا ۵۰۰ نیازمند بهبود، و بیشتر از آن ضعیف.
ولی INP را فقط کلیک آدمهای واقعی میسازد. در تست آزمایشگاهی کسی روی صفحه نمیزند، پس INP هم وجود ندارد. web.dev صریح میگوید ابزاری مثل Lighthouse که صفحه را بدون کاربر باز میکند، نمیتواند INP را بسنجد. ولی TBT را میشود در آزمایشگاه سنجید و نشانهی نزدیکی برای INP است. وقتی TBT در آزمایشگاه بهتر شود، INP واقعی هم معمولا بهتر میشود. برای همین گزارش ما INP ندارد و بهجایش TBT را نشان میدهد.
TBT سایت چیست؟ صفحه چقدر قفل است
فرض کنید روی دکمهای میزنید و هیچ اتفاقی نمیافتد، چون مرورگر سرش با اجرای کد گرم است. TBT جمع همین زمانهاست؛ زمانهایی که مرورگر نمیتواند به کاربر جواب بدهد. اسم فارسیاش در گزارش ما «زمان قفل بودن صفحه» است. طبق مقالهی TBT در web.dev، هر کاری که بیش از ۵۰ میلیثانیه طول بکشد «طولانی» حساب میشود. فقط مقداری که از ۵۰ میلیثانیه بیشتر است در TBT جمع میشود. همان مقاله هدف کمتر از ۲۰۰ میلیثانیه روی سختافزار موبایل معمولی را پیشنهاد میکند.
TBT بالا تقریبا همیشه یعنی جاوااسکریپت زیاد: قالب سنگین، صفحهساز پرکد، افزونههای زیاد و کدهای شخص ثالث مثل آمارگیر، گفتگوی آنلاین و تبلیغات. TBT بیشترین ضریب را در امتیاز دارد. پس کم کردنش معمولا امتیاز را بیشتر از هر کار دیگری بالا میبرد.
FCP، Speed Index و پاسخ سرور (TTFB) چیست؟
سه عدد دیگر هم در بخش سرعت هست. ضریبشان کمتر است، ولی در تفسیر گزارش PageSpeed کمک میکنند.
FCP (نخستین نمایش محتوا) لحظهای است که اولین متن یا عکس روی صفحه میآید و صفحهی سفید تمام میشود. طبق web.dev، تا ۱٫۸ ثانیه خوب و بیشتر از ۳ ثانیه ضعیف است. اگر FCP بد باشد، بازدیدکننده مدتی به صفحهی خالی نگاه میکند و شک میکند که اصلا چیزی بار میشود یا نه. فاصلهی زیاد بین FCP و LCP هم حرفی دارد: صفحه زود شروع کرده، ولی بخش اصلیاش دیر رسیده است. معمولا یعنی عکس اصلی سنگین است یا دیر پیدا میشود.
Speed Index (شاخص سرعت) میگوید صفحه با چه سرعتی جلوی چشم پر میشود. Lighthouse از بار شدن صفحه فیلم میگیرد و پر شدن تصویر را فریم به فریم میسنجد. طبق مستندات Speed Index، روی موبایل تا ۳٫۴ ثانیه سبز، تا ۵٫۸ ثانیه نارنجی و بیشتر از آن قرمز است.
پاسخ سرور (TTFB) زمانی است که طول میکشد تا سرور اولین بایت صفحه را بفرستد. این عدد جزو امتیاز Lighthouse نیست. ولی در گزارش ما جدا آمده، چون پایهی همهی عددهای دیگر است: تا سرور جواب ندهد، هیچ چیزی شروع نمیشود. web.dev تا ۰٫۸ ثانیه را خوب و بیشتر از ۱٫۸ ثانیه را ضعیف میداند. رنگ این ردیف در گزارش ما از همین آستانهها میآید. همان مقاله یادآوری میکند که TTFB جزو Core Web Vitals نیست، پس لازم نیست حتما سبز باشد. ولی وقتی بالاست، رسیدن به LCP خوب سخت میشود. TTFB بالا معمولا یکی از اینهاست: هاست شلوغ، سرور دور از بازدیدکننده، نبود کش صفحه یا کدهای سنگین سمت سرور. در سایتهای وردپرسی، افزونههای زیاد و پایگاه دادهای که تنظیم نشده هم دلیل رایجی است.
فهرست ایرادها را چطور بخوانیم؟
زیر عددها سه چیز آمده است: عکس صفحه پس از بارگذاری، وزن صفحه و فهرست «چیزهایی که سرعت را گرفتهاند». عکس صفحه فقط تصویری است که هنگام تست ذخیره شده است؛ چیزی از سایت تستشده در گزارش بار نمیشود. فهرست ایرادها در گزارش ما بر اساس زمانی مرتب شده که درست کردن هر ایراد آزاد میکند. یعنی هر چه بالاتر، اثرش بیشتر. هر ایراد را باز کنید تا سه چیز ببینید. یک توضیح فارسی ساده. تخمین Lighthouse از صرفهجویی، مثلا «صرفهجویی حدود فلان کیلوبایت». و جدولی از فایلها یا عنصرهایی که مشکل دارند، با نشانی، حجم و زمانی که میشود صرفهجویی کرد.
این تخمینها راهنما هستند، نه قول. Lighthouse آنها را از شبیهسازی حساب میکند. ولی برای اینکه بدانید کدام کار را اول بکنید، خیلی به کار میآیند. چند ایراد که در گزارشها زیاد دیده میشود:
- بهینهسازی تحویل عکسها: عکسهایی که حجمشان زیاد است یا بزرگتر از اندازهای هستند که نمایش داده میشوند. معمولا سادهترین کار است و بیشترین اثر را دارد.
- درخواستهای مانع نمایش: فایلهای CSS و جاوااسکریپتی که مرورگر تا دانلودشان چیزی نشان نمیدهد.
- جاوااسکریپت بیاستفاده یا تکراری: کدهایی که دانلود میشوند ولی در این صفحه به کاری نمیآیند.
- مدت نگهداری فایلها در حافظهی مرورگر: اگر فایلهای ثابت کش نشوند، بازدیدکننده در هر بازدید دوباره آنها را دانلود میکند.
- کدهای شخص ثالث: ابزارهایی که از سایتهای دیگر میآیند و شما روی سرعتشان کنترلی ندارید.
- زنجیرهی درخواستهای شبکه: فایلهایی که پشت سر هم بار میشوند و هر کدام منتظر قبلی است.
زیر فهرست ایرادها دو بخش تاشده هم هست. «اطلاعات بیشتر» چیزهایی است که امتیاز ندارند، ولی برای فهم صفحه مفیدند. «بررسیهای قبولشده» هم نشان میدهد چه چیزهایی سنجیده شده و درست بوده است. این بخش را نادیده نگیرید، چون میگوید لازم نیست روی چه چیزهایی وقت بگذارید.
بخش «وزن صفحه» حجم کل و تعداد درخواستها را به تفکیک نوع فایل نشان میدهد: HTML، CSS، جاوااسکریپت، عکس، فونت و بقیه. اگر یک نوع بیشتر حجم را گرفته است، همان را نگاه کنید. عکس سنگین بیشتر LCP را خراب میکند و جاوااسکریپت سنگین بیشتر TBT را.
گواهی SSL و هدرهای امنیتی
گواهی SSL نشانی سایت را از http به https میبرد. با آن، اطلاعاتی که بین بازدیدکننده و سایت رد و بدل میشود رمز میشود. اگر سایتی گواهی نداشته باشد یا گواهیاش مشکل داشته باشد، مرورگر هشدار امنیتی نشان میدهد. اگر سایتی اصلا روی HTTPS جواب ندهد، گزارش ما همین را بالای این بخش مینویسد و بقیهی تست را روی نسخهی HTTP انجام میدهد.
برای سایتی که گواهی دارد، گزارش اینها را نشان میدهد: معتبر یا نامعتبر بودن، صادرکننده، تاریخ صدور و پایان اعتبار با تعداد روزهای مانده، دامنههایی که گواهی برایشان صادر شده، نوع کلید و اتصالی که برقرار شده است. وقتی تا پایان اعتبار ۲۱ روز یا کمتر مانده باشد، این ردیف نارنجی میشود. در این حالت ببینید تمدید خودکار گواهی کار میکند یا نه.
ردیف «نسخههای TLS» چهار نسخه را نشان میدهد. TLS 1.3 و 1.2 نسخههای امروزیاند. اگر TLS 1.0 یا 1.1 روشن مانده باشد، گزارش آن را «روشن (ناامن)» مینویسد. این دو نسخه قدیمیاند و باید در سرور خاموش شوند. هر ایراد دیگری در تنظیم گواهی هم زیر عنوان «چیزهایی که باید درست شوند» آمده است.
زیر SSL، هدرهای امنیتی فهرست شدهاند. هدر پیام کوتاهی است که سرور همراه صفحه برای مرورگر میفرستد. کنار هر هدر نوشته شده که فرستاده میشود یا نه، و در یک جمله آمده که چرا مهم است. این هدرها روی سرعت اثری ندارند. ولی جلوی حملههایی را میگیرند، مثل اجرای کدی که کسی به صفحه تزریق کرده یا نمایش سایت شما داخل قاب یک سایت دیگر.
HTTP/2 و HTTP/3، فشردهسازی و تغییر مسیرها
بخش «شبکه و پروتکل» میگوید سایت با چه زبانی با مرورگر حرف میزند. HTTP زبان اصلی وب است و نسخههایش در سرعت فرق زیادی دارند. در HTTP/1.1 قدیمی، مرورگر فایلها را تقریبا یکییکی میگیرد؛ مثل صف نانوایی که فقط یک نفر پشت پیشخوان است. HTTP/2 چند فایل را همزمان روی یک اتصال میفرستد. HTTP/3 روی پایهی تازهای به نام QUIC ساخته شده است و در اینترنت ناپایدار، مثل اینترنت همراه، بهتر رفتار میکند.
ابزار ما HTTP/2 را از خود اتصال امن (ALPN) تشخیص میدهد. HTTP/3 را هم از هدری به نام Alt-Svc میخواند که خود سرور با آن اعلامش میکند. اگر سایتی هنوز فقط HTTP/1.1 دارد، این از ایرادهای مهم است و در خلاصهی بالای گزارش هم میآید. معمولا هم با یک تنظیم در سرور یا CDN درست میشود.
ردیفهای دیگر این بخش:
- فرستادن HTTP به HTTPS: کسی که نشانی را بدون https مینویسد باید خودکار به نسخهی امن برسد.
- فشردهسازی: متن صفحه با Brotli، Zstandard یا gzip فشرده فرستاده میشود یا نه. فشردهسازی حجم فایلهای متنی را خیلی کم میکند.
- HSTS: به مرورگر میگوید از این به بعد همیشه با HTTPS بیاید.
- IPv6: سایت روی نسل تازهی نشانیهای اینترنت هم در دسترس است یا نه.
- اولین پاسخ سرور (TTFB): همان عدد بخش سرعت، با همان رنگها.
- نشانی با www: نسخهی با www به همین سایت میرسد، به جای دیگری میرود یا کار نمیکند.
- تغییر مسیر تا صفحهی اصلی: هر تغییر مسیر یک رفتوبرگشت اضافه است؛ مثلا از نسخهی بدون www به www و بعد به https. وقتی بیشتر از یک بار باشد، گزارش آن را نارنجی میکند.
هاست و تکنولوژی: سایت روی چه چیزی ایستاده
این بخش میگوید سایت کجا میزبانی میشود و با چه ساخته شده است: شبکه یا دیتاسنتر، کشور سرور، CDN اگر هست، سرویس DNS و وبسرور. هر تکنولوژیای هم که تشخیص داده شده، به تفکیک دسته آمده است؛ مثلا سیستم مدیریت محتوا، فروشگاهساز یا ابزار آمار. قاعدهی گزارش این است که فقط چیزی بیاید که واقعا تشخیص داده شده است. اگر ردیفی نیست، یعنی ابزار نشانهای از آن پیدا نکرده است.
این بخش به فهم بقیهی گزارش کمک میکند. اگر TTFB بالاست و سرور در کشوری دور از بازدیدکنندههاست، بخشی از جواب همینجاست. اگر سایت وردپرسی است، میدانید ایرادهای TBT احتمالا از قالب و افزونهها میآید. و اگر CDN هست ولی TTFB باز هم بالاست، احتمالا صفحهها کش نمیشوند.
سئو تکنیکال، دسترسپذیری و شیوههای درست
سئو در گزارش دو بخش دارد. اول، بررسیهای پایهی ابزار خود ما: عنوان و توضیح صفحه، تیتر اصلی (H1)، نشانی اصلی (canonical)، اجازهی ایندکس، زبان صفحه، تنظیم موبایل (viewport)، پیشنمایش اشتراکگذاری در شبکههای اجتماعی (Open Graph)، دادهی ساختاریافته (Schema)، robots.txt، نقشهی سایت و چند مورد دیگر. دوم، بررسیهای سئوی Lighthouse با امتیاز از ۱۰۰. امتیاز سئوی Lighthouse بیشتر میگوید گوگل میتواند صفحه را درست بخواند یا نه. امتیاز ۱۰۰ در این بخش یعنی ایراد فنی پایهای نیست، نه اینکه سایت در گوگل اول است. محتوا، لینکها و اعتبار سایت را هیچ گزارش خودکاری نمیسنجد. ولی بعضی ایرادها جدیاند و باید فورا درست شوند: noindex اشتباهی، robots.txt که کل سایت را بسته است، یا نبودن تیتر و عنوان.
دسترسپذیری یعنی سایت برای همه قابل استفاده باشد: کسی که با صفحهخوان کار میکند، کسی که چشمش ضعیف است، کسی که فقط با صفحهکلید کار میکند. طبق مستندات امتیاز دسترسپذیری Lighthouse، این امتیاز میانگین وزندار بررسیهای خودکار است. هر بررسی یا کامل قبول میشود یا رد. برخلاف بررسیهای سرعت، نیمهکاره قبول شدن امتیازی ندارد. همان مستندات فهرست جداگانهای از بررسیهای دستی هم دارند. پس امتیاز ۱۰۰ دسترسپذیری یعنی ایراد خودکاری پیدا نشد، نه اینکه سایت برای همه بینقص است. ایرادهای رایج: رنگ متن که با زمینه تضاد کمی دارد، دکمهها و لینکهای بینام، و عکسهای بدون متن جایگزین.
شیوههای درست چیزهایی مثل استفاده از HTTPS و نبود خطا در کنسول مرورگر را میسنجد. کمتر به چشم میآید، ولی نشان میدهد سایت چقدر تمیز ساخته شده است.
آمادگی سایت برای هوش مصنوعی
این بخش در گزارشهای معمول سرعت نیست. سوالش ساده است: آیا ChatGPT، Claude و ایجنتهای هوش مصنوعی دیگر میتوانند وارد سایت شما شوند، آن را بخوانند و با آن کار کنند؟
نتیجهی این بخش دو عدد دارد. اولی سطح از ۵ است، با نام انگلیسی و فارسیاش، و یک جمله که میگوید برای رسیدن به سطح بعد چه چیزی کم است. دومی امتیاز از ۱۰۰ است. یعنی از بررسیهایی که به همین سایت مربوط بودند، چه سهمی قبول شده است. کنار آن، سهم هر گروه آمده است: پیدا شدن، محتوا، اجازهی رباتها، و API و ورود و MCP. زیر هر گروه، فهرست بررسیها با جزئیات و یک خط «چه کار کنید» آمده است.
دو بخش دیگر در امتیاز حساب نمیشوند. خرید توسط ایجنت فقط برای فروشگاه نشان داده میشود. اگر سایت فروشگاه به نظر نرسد، گزارش مینویسد پنج بررسی خرید به آن مربوط نیست. بررسیهای خود ما هم جدا آمدهاند. یکی از آنها یک آزمایش واقعی است: صفحهی اصلی را با شناسهی ایجنتها درخواست میکنیم و میبینیم سایت جواب میدهد یا مسدود میکند. گاهی فایروال یا CDN همین ایجنتها را میبندد و صاحب سایت خبر ندارد. گزارشهایی که پیش از ۹ مهر ۱۴۰۵ گرفته شدهاند، با همان گروههای قدیمی خودشان نشان داده میشوند.
اینکه بخواهید ایجنتها سایت را بخوانند یا نه، تصمیم خود شماست. گزارش فقط میگوید الان چه اتفاقی میافتد. اگر امتیاز این بخش زیر ۵۰ باشد، در خلاصهی بالای گزارش هم میآید. اگر میخواهید بدانید هر بررسی دقیقا چه میسنجد، تست آمادگی سایت برای هوش مصنوعی را ببینید.
اول چه چیزی را درست کنیم؟ ترتیب عملی در تفسیر گزارش PageSpeed
حالا همهی بخشها را میشناسید. سوال اصلی این است: از کجا شروع کنیم؟ ترتیبی که پیشنهاد میکنیم دو چیز را با هم میسنجد: اثر کار روی بازدیدکننده و گوگل، و سختی آن.
- هر چیزی که سایت را از دسترس خارج میکند. گواهی منقضی یا نامعتبر، noindex اشتباهی روی صفحهی اصلی، robots.txt که کل سایت را بسته است. اینها فوریاند، چون یا بازدیدکننده را با هشدار میترسانند یا سایت را از گوگل بیرون نگه میدارند.
- پاسخ سرور. اگر TTFB قرمز است، از اینجا شروع کنید. وقتی سرور کند است، بهینه کردن صفحه فقط بخشی از مشکل را حل میکند. کش صفحه، بهروز کردن نسخهی PHP یا رفتن از هاست اشتراکی شلوغ به سرور اختصاصی معمولا همینجا اثر میکند.
- LCP موبایل. عکس اصلی را سبک و هماندازهی نمایش کنید، بارگذاری تنبل را از رویش بردارید و فایلهای مانع نمایش را کم کنید.
- TBT. افزونهها و اسکریپتهای اضافه را حذف کنید، کدهای شخص ثالث را بازبینی کنید و جاوااسکریپت بیاستفاده را کنار بگذارید.
- CLS. به عکسها و قابها اندازه بدهید و برای تبلیغ و بنر از قبل جا نگه دارید. معمولا زود درست میشود.
- پروتکل و فشردهسازی. HTTP/2 یا HTTP/3، Brotli و کش طولانی فایلهای ثابت. بیشترشان تنظیم سرور هستند، نه تغییر سایت.
- ایرادهای سئو، دسترسپذیری و هدرهای امنیتی. هر کدام بهتنهایی کار کمی میبرد و با هم سایت را تمیز و قابل اعتماد میکنند.
یک قاعده هم همیشه هست: داخل هر بخش، ایرادهای بالای فهرست را اول درست کنید، چون بیشترین زمان را آزاد میکنند. بهینهسازی Core Web Vitals در عمل همین ترتیب است: سرور، بعد LCP، بعد TBT، بعد CLS.
بعد از درست کردن: دوباره تست کنید
بعد از هر تغییر، یک تست تازه بگیرید. نتیجه را با تست قبلی همان ابزار مقایسه کنید، نه با ابزار دیگر، چون جای تست هر ابزار فرق میکند. در تیم سفید، یک روز بعد از هر گزارش، دکمهی «اسکن جدید» روی گزارش میآید. همهی گزارشهای قبلی هم با تاریخشان در بخش تاریخچه میمانند. جدول تاریخچه برای هر اسکن امتیاز موبایل، دسکتاپ، سئو و LCP را کنار هم دارد. پس میبینید کارتان چه اثری داشته است. امتیاز طبیعتا چند واحد بالا و پایین میشود، پس به روند چند تست نگاه کنید، نه به یک عدد.
نسخهی PDF همین گزارش هم رایگان است و با دکمهی «دانلود PDF گزارش» گرفته میشود. برای فرستادن به طراح یا برنامهنویس سایت به کار میآید. خود نشانی گزارش هم ثابت است و میشود آن را برای کسی فرستاد. اگر میخواهید سایت دیگری را بسنجید، از صفحهی تست سرعت سایت شروع کنید.
اگر نمیخواهید خودتان درگیر شوید
بیشتر ایرادهای این گزارش را یک برنامهنویس که سرعت و سئو را میشناسد، با همین جزئیات میتواند درست کند. اگر ترجیح میدهید کار را به همان تیمی بسپارید که این ابزار را ساخته است، چهار کار با قیمت ثابت و یکباره انجام میدهیم. پیشنهاد هر کدام زیر بخش خودش در گزارش میآید، و فقط وقتی که عددها نشانش بدهند:
- بهینهسازی سرعت سایت: وقتی امتیاز سرعت موبایل زیر ۹۰ است. ایرادهای بخش سرعت را یکییکی درست میکنیم؛ ۱۵ میلیون تومان، با تحویل در ۷ روز.
- پیکربندی سرور وردپرس: وقتی سایت وردپرسی است. وردپرس را روی سرور خود شما، با پیکربندی مخصوص همان سایت، راه میاندازیم و منتقل میکنیم؛ ۱۵ میلیون تومان، با تحویل در ۳ روز.
- سئو تکنیکال: وقتی بخش سئو دو ایراد یا بیشتر دارد یا امتیاز سئو زیر ۹۰ است. ایرادهای فنیای را درست میکنیم که نمیگذارند سایت در گوگل دیده شود؛ ۱۵ میلیون تومان، با تحویل در ۷ روز.
- آمادهسازی سایت برای ایجنتهای هوش مصنوعی: وقتی امتیاز آمادگی برای هوش مصنوعی زیر ۸۰ است. بررسیهای ردشده را یکییکی روی سایت پیاده میکنیم؛ ۱۰ میلیون تومان، با تحویل در ۷ روز.
همهی این کارها ۷ روز پشتیبانی رایگان دارند. اگر عجله دارید، با دو برابر هزینه زودتر تحویل میشوند؛ مثلا سئو تکنیکال در ۲ روز. برای هر سوالی هم میتوانید با ما تماس بگیرید.
پرسشهای رایج
چرا عدد این گزارش با PageSpeed Insights گوگل فرق دارد؟
موتور یکی است، ولی جای تست نه. طبق راهنمای PageSpeed Insights، تست آزمایشگاهی PageSpeed در یکی از مراکز دادهی گوگل در آمریکای شمالی، اروپا یا آسیا اجرا میشود. گزارش ما از تهران گرفته میشود. مسیر شبکه تا سرور سایت فرق میکند، پس عددها هم فرق میکنند. تازه امتیاز هر بار کمی بالا و پایین هم میشود.
PageSpeed نوشته «Core Web Vitals Assessment: Failed»؛ این یعنی چه؟
آن ارزیابی از دادهی کاربران واقعی Chrome میآید، نه از تست آزمایشگاهی. همان راهنمای PageSpeed Insights میگوید این داده تجربهی ۲۸ روز گذشته است و برای هر سنجه صدک ۷۵ را گزارش میکند. «رد شد» یعنی دستکم یکی از سه سنجه برای بخش بزرگی از بازدیدکنندهها در محدودهی خوب نبوده است. گزارش ما آزمایشگاهی است و چنین ارزیابیای ندارد. ولی LCP و CLS و TBT همین گزارش نشان میدهند مشکل احتمالا کجاست.
INP سایت من را از کجا ببینم؟
INP فقط از کاربران واقعی جمع میشود. اگر سایتتان بازدید کافی داشته باشد، PageSpeed Insights آن را بالای نتیجهاش نشان میدهد. گزارش Core Web Vitals در Search Console هم صفحههای سایت را به گروههای شبیه هم تقسیم میکند. برای هر گروه میگوید LCP، INP و CLS در ۲۸ روز گذشته خوب، نیازمند بهبود یا ضعیف بوده است. اگر آنجا «دادهای در دسترس نیست» دیدید، یعنی هنوز دادهی کافی از کاربران واقعی جمع نشده است. در تست آزمایشگاهی، TBT نزدیکترین نشانه به INP است.
در تفسیر گزارش PageSpeed مهمترین عدد کدام است؟
برای بیشتر سایتها LCP موبایل. چون هم بیشترین اثر را روی حس بازدیدکننده دارد و هم جزو Core Web Vitals است. بعد از آن TBT، که بیشترین ضریب را در امتیاز دارد.
امتیاز ۱۰۰ لازم است؟
نه. مستندات امتیازدهی Lighthouse میگوید امتیاز کامل ۱۰۰ بسیار سخت است و انتظارش نمیرود. بردن امتیاز از ۹۹ به ۱۰۰ تقریبا همانقدر بهبود میخواهد که بردنش از ۹۰ به ۹۴. هدف این است که سنجهها در محدودهی خوب باشند و سایت برای آدمها سریع باشد. رسیدن از قرمز به سبز ارزش زیادی دارد؛ چند واحد آخر معمولا نه.
اگر تست ناموفق بود، یعنی چه؟
گزارش دلیلش را در یک جمله میگوید. شاید دامنه پیدا نشده است. شاید سایت جواب نداده، چون یا خاموش است یا از سرور ایران در دسترس نیست. شاید تست بیش از حد طول کشیده، چون سایت خیلی کند جواب میدهد. یا شاید سایت بیش از حد از یک نشانی به نشانی دیگر میفرستد. ده دقیقه بعد دکمهی «دوباره تست کن» میآید.