sefid.dev
این سایت روی موبایل قابل قبول است، ولی جای بهتر شدن دارد: صفحه ۲٫۳ ثانیه طول میکشد تا دیده شود.
۹۰ تا ۱۰۰ خوب۵۰ تا ۸۹ نیاز به بهبود۰ تا ۴۹ ضعیف
سرعت با موتور Lighthouse، همان که PageSpeed گوگل دارد.
نیاز به بهبود
- نخستین نمایش محتوا FCP
- ۱٫۲ ثانیه
- نمایش بزرگترین محتوا LCP
- ۲٫۳ ثانیه
- زمان قفل بودن صفحه TBT
- ۱٫۸ ثانیه
- پرش چیدمان CLS
- ۰
- شاخص سرعت SI
- ۳٫۲ ثانیه
- پاسخ سرور TTFB
- ۵۱۰ میلیثانیه
وزن صفحه ۲۶۶ کیلوبایت در ۲۱ درخواست
- فونت: ۱۷۲ کیلوبایت
- جاوااسکریپت: ۴۷ کیلوبایت
- HTML: ۲۸ کیلوبایت
- CSS: ۱۷ کیلوبایت
- سایر: ۱ کیلوبایت
چیزهایی که سرعت را گرفتهاند (۳ مورد)
کار رشتهی اصلی مرورگر۷٫۴ ثانیه
نشان میدهد مرورگر وقت خود را صرف چه کارهایی میکند. وقتی رشتهی اصلی مشغول است، صفحه به کلیک و پیمایش پاسخ نمیدهد.
اگر درست شود: TBT حدود ۱٫۸ ثانیه سریعتر.
| دسته | زمان صرفشده |
|---|---|
| Other | ۲٫۷ ثانیه |
| Style & Layout | ۲٫۶ ثانیه |
| Rendering | ۱٫۱ ثانیه |
| Script Parsing & Compilation | ۴۶۰ میلیثانیه |
| اجرای اسکریپت | ۳۹۰ میلیثانیه |
| Parse HTML & CSS | ۱۸۰ میلیثانیه |
زنجیرهی درخواستهای شبکه
وقتی فایلهای مهم پشت سر هم و وابسته به یکدیگر بارگذاری میشوند، صفحه دیرتر آماده میشود. کوتاه کردن این زنجیره سرعت را بالا میبرد.
درخواستهای مانع نمایش
بعضی فایلهای CSS و جاوااسکریپت تا کامل دانلود نشوند، مرورگر چیزی نشان نمیدهد. بازدیدکننده در این مدت صفحهی سفید میبیند.
| نشانی | حجم انتقال | مدت |
|---|---|---|
| sefid.dev/_next/static/chunks/2mkm3q8ym7zmw.css | ۰ بایت | |
| sefid.dev/_next/static/chunks/1m7-a11ykqkon.css | ۹ کیلوبایت | ۱۵۰ میلیثانیه |
| sefid.dev/_next/static/chunks/23nen_80kdn7n.css | ۸٫۴ کیلوبایت |
اطلاعات بیشتر (۴ مورد)
اندازهی DOM صفحه
صفحهای که تعداد عناصرش خیلی زیاد باشد، دیرتر چیده میشود و کندتر به کلیک و پیمایش پاسخ میدهد، بهویژه روی گوشیهای ضعیف.
| آمار | عنصر | مقدار |
|---|---|---|
| Total elements | ۵۴۳ | |
| DOM depth | <path class="d" d="M50 8C40 2 16 2 8 10C1 18 5 32 22 35C38 38 55 33 56 22C57 15 52 9 44 7"> | ۱۳ |
| Most children | <body class="min-h-screen antialiased font-vazirmatn"> | ۳۵ |
جزئیات زمان LCP
زمان نمایش بزرگترین بخش صفحه را به مرحلههای جدا تقسیم میکند تا معلوم شود تأخیر از سرور است، از دانلود یا از نمایش.
| بخش | مدت |
|---|---|
| Time to first byte | ۲۳۰ میلیثانیه |
| Element render delay | ۱٫۲ ثانیه |
کارهای طولانی رشتهی اصلی۱۹ مورد
کارهایی که مرورگر را برای مدتی طولانی مشغول نگه میدارند و باعث میشوند صفحه با تأخیر به بازدیدکننده پاسخ دهد.
اگر درست شود: TBT حدود ۱٫۸ ثانیه سریعتر.
| نشانی | زمان شروع | مدت |
|---|---|---|
| sefid.dev/ | ۲٫۳ ثانیه | ۶۸۰ میلیثانیه |
| sefid.dev/ | ۱٫۶ ثانیه | ۳۱۰ میلیثانیه |
| sefid.dev/ | ۱٫۹ ثانیه | ۲۹۰ میلیثانیه |
| sefid.dev/ | ۳٫۴ ثانیه | ۲۱۰ میلیثانیه |
| Unattributable | ۱٫۱ ثانیه | ۲۰۰ میلیثانیه |
| sefid.dev/_next/static/chunks/2mkm3q8ym7zmw.css | ۱٫۳ ثانیه | ۱۹۰ میلیثانیه |
| sefid.dev/ | ۳٫۱ ثانیه | ۱۹۰ میلیثانیه |
| sefid.dev/ | ۳٫۷ ثانیه | ۱۶۰ میلیثانیه |
| Unattributable | ۹۳۰ میلیثانیه | ۱۳۰ میلیثانیه |
| sefid.dev/_next/static/chunks/3ou3r91apy1jy.js | ۲٫۹ ثانیه | ۱۳۰ میلیثانیه |
| sefid.dev/ | ۳٫۹ ثانیه | ۸۰ میلیثانیه |
| sefid.dev/ | ۴ ثانیه | ۸۰ میلیثانیه |
و ۷ مورد دیگر.
انیمیشنهای سنگین۲۷ مورد
انیمیشنهایی که بهینه اجرا نمیشوند، بریدهبریده دیده میشوند و میتوانند باعث پرش بخشهای صفحه شوند.
| عنصر |
|---|
| <path class="d" pathLength="1" d="M30.5 59.4c2.2-1.4 3.4 1.4 5.6.2s3.2 1.6 5.4.6 3.4 1.2 5.6.4 3 1.4 5 .8M30…"> |
| <path class="d" pathLength="1" d="M38.5 32.8C58.6 34.5 78.4 36.9 99.1 39.1M33.1 35.3C53 36.9 72.8 39.4 93.3 …"> |
| <path class="d" pathLength="1" d="M26.5 53.9C38.8 55.5 50.7 56.5 63.4 57.7M62.9 57.1C62.6 64.7 62.5 71.7 62.…"> |
| <path class="d" pathLength="1" d="M11.6 70.8C9.3 78.3 13.4 82.7 21.5 83C56.1 84 99.1 83.5 123.4 82.7C130.5 8…"> |
| <path class="d" pathLength="1" d="M30.5 59.4c2.2-1.4 3.4 1.4 5.6.2s3.2 1.6 5.4.6 3.4 1.2 5.6.4 3 1.4 5 .8M30…"> |
| <path class="d" pathLength="1" d="M61.8 21.6C72.4 35.8 66.4 63.7 42.3 67.8C20.4 71.2 10.3 52.4 14.2 36.1C18.…"> |
| <path class="dot" pathLength="1" d="M39.9 56.8l.6.5"> |
| <path class="d" pathLength="1" d="M11.6 81.2C29.6 64.2 52.2 40.1 74.2 16.1"> |
| <path class="d" pathLength="1" d="M81.1 30.4C77.8 21.8 69.4 15.4 59.4 14.4"> |
| <path class="d" pathLength="1" d="M22.3 77.9C58.2 78.7 98.1 78.2 124.3 77.3"> |
| <path class="d" pathLength="1" d="M67.2 42.4c-2.8-4.4-7.4-3.8-6.6-.8.7 2.3 4.2 1.9 6.6.8 2.2-3.2 6.8-3.8 6.8…"> |
| <path class="d" pathLength="1" d="M131.1 58.2C124.5 57.5 118.7 51.9 117.5 39.2"> |
و ۱۵ مورد دیگر.
بررسیهای قبولشده (۱۹ مورد؛ ۳ مورد هم به این صفحه مربوط نبود)
مدت نگهداری فایلها در حافظهی مرورگر
اگر فایلهای ثابت سایت برای مدت طولانی در مرورگر ذخیره شوند، بازدیدهای بعدی بسیار سریعتر باز میشوند و اینترنت کمتری مصرف میشود.
عاملهای جابهجایی چیدمان
بخشهایی را نشان میدهد که بدون دخالت بازدیدکننده صفحه را تکان میدهند، مثل عکس بدون اندازه، تبلیغ یا فونتی که دیر میرسد.
تأخیر دریافت صفحهی اصلی
اولین درخواست سایت مهمترین درخواست است و همهچیز منتظر آن میماند. پاسخ سریع سرور، نبود تغییر مسیر و فشردهسازی متن آن را کوتاه میکند.
جاوااسکریپت تکراری
گاهی یک کد چند بار در فایلهای مختلف بارگذاری میشود. حذف نسخههای تکراری حجم دانلود را کم و باز شدن صفحه را سریعتر میکند.
نمایش متن هنگام بارگذاری فونت
اگر فونت دیر برسد، متن ممکن است مدتی دیده نشود. با تنظیم درست، متن از همان ابتدا با یک فونت جایگزین نمایش داده میشود.
چیدمان دوبارهی اجباری
وقتی جاوااسکریپت مرورگر را مجبور میکند وسط کار دوباره اندازهها را حساب کند، صفحه کند میشود و هنگام پیمایش یا کلیک گیر میکند.
بهینهسازی تحویل عکسها
عکسهای سنگین یا بزرگتر از اندازهی نمایش، صفحه را کند میکنند. کاهش حجم و استفاده از قالبهای جدید باز شدن صفحه را سریعتر میکند.
جاوااسکریپت قدیمی
کدهای کمکی برای مرورگرهای قدیمی که امروز دیگر لازم نیستند، فقط حجم صفحه را زیاد میکنند و بازدیدکننده باید بیهوده آنها را دانلود کند.
استفاده از HTTP جدید
نسخههای HTTP/2 و HTTP/3 چند فایل را همزمان و سریعتر منتقل میکنند. نسخهی قدیمی HTTP/1.1 باز شدن صفحه را کندتر میکند.
کدهای شخص ثالث
ابزارهایی مثل آمارگیر، گفتوگوی آنلاین و تبلیغات از سایتهای دیگر بارگذاری میشوند و میتوانند صفحه را به شکل محسوسی کند کنند.
تنظیم viewport برای موبایل
اگر صفحه برای اندازهی گوشی تنظیم نشده باشد، لمسها با تأخیر پاسخ میگیرند و صفحه روی موبایل ریز و نامناسب دیده میشود.
فشردهسازی CSS
حذف فاصلهها و نوشتههای اضافی از فایلهای CSS حجم آنها را کم میکند تا صفحه سریعتر دانلود شود.
فشردهسازی جاوااسکریپت
حذف فاصلهها و نوشتههای اضافی از فایلهای جاوااسکریپت حجم دانلود و زمان پردازش آنها را کم میکند.
CSS بیاستفاده
بخشی از CSS که در این صفحه به کار نمیآید ولی دانلود میشود. حذف یا به تأخیر انداختن آن مصرف اینترنت را کم و صفحه را سریعتر میکند.
جاوااسکریپت بیاستفاده
کدی که دانلود میشود ولی در این صفحه اجرا نمیشود. حذف یا به تأخیر انداختن آن مصرف اینترنت را کم و صفحه را سریعتر میکند.
حجم کل صفحهحجم کل ۲۶۶ کیلوبایت
مجموع حجمی که بازدیدکننده برای دیدن صفحه دانلود میکند. صفحهی سنگین دیر باز میشود و اینترنت بیشتری از او مصرف میکند.
زمان اجرای جاوااسکریپت۰٫۸ ثانیه
زمانی که مرورگر صرف خواندن و اجرای کدهای جاوااسکریپت میکند. هرچه بیشتر باشد، صفحه دیرتر به بازدیدکننده پاسخ میدهد.
اگر درست شود: TBT حدود ۵۰۰ میلیثانیه سریعتر.
عرض و ارتفاع مشخص برای عکسها
اگر اندازهی عکس از قبل مشخص نباشد، با رسیدن عکس بقیهی صفحه به پایین میپرد. تعیین عرض و ارتفاع جلوی این پرش را میگیرد.
بازگشت سریع با دکمهی عقب و جلو
مرورگر میتواند صفحهی قبلی را در حافظه نگه دارد تا با زدن دکمهی بازگشت فوراً نمایش داده شود. بعضی کدها جلوی این قابلیت را میگیرند.
خوب
- نخستین نمایش محتوا FCP
- ۸۱۰ میلیثانیه
- نمایش بزرگترین محتوا LCP
- ۹۸۰ میلیثانیه
- زمان قفل بودن صفحه TBT
- ۸۰ میلیثانیه
- پرش چیدمان CLS
- ۰٫۰۱۱
- شاخص سرعت SI
- ۱٫۷ ثانیه
- پاسخ سرور TTFB
- ۵۱۰ میلیثانیه
وزن صفحه ۲۶۶ کیلوبایت در ۲۱ درخواست
- فونت: ۱۷۲ کیلوبایت
- جاوااسکریپت: ۴۷ کیلوبایت
- HTML: ۲۸ کیلوبایت
- CSS: ۱۷ کیلوبایت
- سایر: ۱ کیلوبایت
چیزهایی که سرعت را گرفتهاند (۳ مورد)
تأخیر دریافت صفحهی اصلیصرفهجویی حدود ۶۰۰ میلیثانیه
اولین درخواست سایت مهمترین درخواست است و همهچیز منتظر آن میماند. پاسخ سریع سرور، نبود تغییر مسیر و فشردهسازی متن آن را کوتاه میکند.
اگر درست شود: FCP حدود ۶۰۰ میلیثانیه سریعتر، LCP حدود ۶۰۰ میلیثانیه سریعتر.
- بدون تغییر مسیر
- Server responded slowly (observed 700 ms)
- فشردهسازی متن فعال است
زنجیرهی درخواستهای شبکه
وقتی فایلهای مهم پشت سر هم و وابسته به یکدیگر بارگذاری میشوند، صفحه دیرتر آماده میشود. کوتاه کردن این زنجیره سرعت را بالا میبرد.
درخواستهای مانع نمایش
بعضی فایلهای CSS و جاوااسکریپت تا کامل دانلود نشوند، مرورگر چیزی نشان نمیدهد. بازدیدکننده در این مدت صفحهی سفید میبیند.
| نشانی | حجم انتقال |
|---|---|
| sefid.dev/_next/static/chunks/2mkm3q8ym7zmw.css | ۰ بایت |
| sefid.dev/_next/static/chunks/1m7-a11ykqkon.css | ۹ کیلوبایت |
| sefid.dev/_next/static/chunks/23nen_80kdn7n.css | ۸٫۴ کیلوبایت |
اطلاعات بیشتر (۵ مورد)
عاملهای جابهجایی چیدمان
بخشهایی را نشان میدهد که بدون دخالت بازدیدکننده صفحه را تکان میدهند، مثل عکس بدون اندازه، تبلیغ یا فونتی که دیر میرسد.
| عنصر | امتیاز جابهجایی چیدمان |
|---|---|
| Total | ۰٫۰۱ |
| <html lang="fa" dir="rtl" class="light" style="color-scheme: light;" data-nb-draw=""> | ۰٫۰۱ |
اندازهی DOM صفحه
صفحهای که تعداد عناصرش خیلی زیاد باشد، دیرتر چیده میشود و کندتر به کلیک و پیمایش پاسخ میدهد، بهویژه روی گوشیهای ضعیف.
| آمار | عنصر | مقدار |
|---|---|---|
| Total elements | ۵۴۳ | |
| DOM depth | <path class="d" d="M50 8C40 2 16 2 8 10C1 18 5 32 22 35C38 38 55 33 56 22C57 15 52 9 44 7"> | ۱۳ |
| Most children | <body class="min-h-screen antialiased font-vazirmatn"> | ۳۵ |
جزئیات زمان LCP
زمان نمایش بزرگترین بخش صفحه را به مرحلههای جدا تقسیم میکند تا معلوم شود تأخیر از سرور است، از دانلود یا از نمایش.
| بخش | مدت |
|---|---|
| Time to first byte | ۷۱۰ میلیثانیه |
| Element render delay | ۱٫۲ ثانیه |
کارهای طولانی رشتهی اصلی۱ مورد
کارهایی که مرورگر را برای مدتی طولانی مشغول نگه میدارند و باعث میشوند صفحه با تأخیر به بازدیدکننده پاسخ دهد.
اگر درست شود: TBT حدود ۱۰۰ میلیثانیه سریعتر.
| نشانی | زمان شروع | مدت |
|---|---|---|
| sefid.dev/ | ۸۷۰ میلیثانیه | ۱۵۰ میلیثانیه |
انیمیشنهای سنگین۲۹ مورد
انیمیشنهایی که بهینه اجرا نمیشوند، بریدهبریده دیده میشوند و میتوانند باعث پرش بخشهای صفحه شوند.
| عنصر |
|---|
| <path class="d" pathLength="1" d="M12.5 72C10 64.5 15.5 59.4 28 58.3C43.6 56.7 57.1 50.5 67.6 42.2L71.3 32.8…"> |
| <path class="d" pathLength="1" d="M11.6 81.2C29.6 64.2 52.2 40.1 74.2 16.1"> |
| <path class="d" pathLength="1" d="M30.8 7.4C38.4 7.1 45.8 7 52.6 6.8L58.9 14.6L52.9 23.2C45.6 23.2 38.4 23.1…"> |
| <path class="d" pathLength="1" d="M26.5 53.9C38.8 55.5 50.7 56.5 63.4 57.7M62.9 57.1C62.6 64.7 62.5 71.7 62.…"> |
| <path class="d" pathLength="1" d="M30.5 59.4c2.2-1.4 3.4 1.4 5.6.2s3.2 1.6 5.4.6 3.4 1.2 5.6.4 3 1.4 5 .8M30…"> |
| <path class="d" pathLength="1" d="M22.3 77.9C58.2 78.7 98.1 78.2 124.3 77.3"> |
| <path class="d" pathLength="1" d="M50.2 30.8C50.9 21.1 30.6 18.4 30.2 30C29.9 37.9 40.2 39.4 40.1 47.7"> |
| <path class="d" pathLength="1" d="M25.9 66.9C21.6 60.2 22.3 52.9 27.6 46.8L32.2 50.3"> |
| <path class="d" pathLength="1" d="M30.6 71.5C29.3 66.3 30.7 61.8 35 57.9"> |
| <path class="d" pathLength="1" d="M19.4 39.6C39.9 41.2 59.6 44 80.5 45.9M80.4 45.6C80.3 61.2 79.8 76.4 79 92…"> |
| <path class="d" pathLength="1" d="M81.1 30.4C77.8 21.8 69.4 15.4 59.4 14.4"> |
| <path class="d" pathLength="1" d="M61.8 21.6C72.4 35.8 66.4 63.7 42.3 67.8C20.4 71.2 10.3 52.4 14.2 36.1C18.…"> |
و ۱۷ مورد دیگر.
بررسیهای قبولشده (۱۸ مورد؛ ۳ مورد هم به این صفحه مربوط نبود)
مدت نگهداری فایلها در حافظهی مرورگر
اگر فایلهای ثابت سایت برای مدت طولانی در مرورگر ذخیره شوند، بازدیدهای بعدی بسیار سریعتر باز میشوند و اینترنت کمتری مصرف میشود.
جاوااسکریپت تکراری
گاهی یک کد چند بار در فایلهای مختلف بارگذاری میشود. حذف نسخههای تکراری حجم دانلود را کم و باز شدن صفحه را سریعتر میکند.
نمایش متن هنگام بارگذاری فونت
اگر فونت دیر برسد، متن ممکن است مدتی دیده نشود. با تنظیم درست، متن از همان ابتدا با یک فونت جایگزین نمایش داده میشود.
چیدمان دوبارهی اجباری
وقتی جاوااسکریپت مرورگر را مجبور میکند وسط کار دوباره اندازهها را حساب کند، صفحه کند میشود و هنگام پیمایش یا کلیک گیر میکند.
بهینهسازی تحویل عکسها
عکسهای سنگین یا بزرگتر از اندازهی نمایش، صفحه را کند میکنند. کاهش حجم و استفاده از قالبهای جدید باز شدن صفحه را سریعتر میکند.
جاوااسکریپت قدیمی
کدهای کمکی برای مرورگرهای قدیمی که امروز دیگر لازم نیستند، فقط حجم صفحه را زیاد میکنند و بازدیدکننده باید بیهوده آنها را دانلود کند.
استفاده از HTTP جدید
نسخههای HTTP/2 و HTTP/3 چند فایل را همزمان و سریعتر منتقل میکنند. نسخهی قدیمی HTTP/1.1 باز شدن صفحه را کندتر میکند.
کدهای شخص ثالث
ابزارهایی مثل آمارگیر، گفتوگوی آنلاین و تبلیغات از سایتهای دیگر بارگذاری میشوند و میتوانند صفحه را به شکل محسوسی کند کنند.
تنظیم viewport برای موبایل
اگر صفحه برای اندازهی گوشی تنظیم نشده باشد، لمسها با تأخیر پاسخ میگیرند و صفحه روی موبایل ریز و نامناسب دیده میشود.
فشردهسازی CSS
حذف فاصلهها و نوشتههای اضافی از فایلهای CSS حجم آنها را کم میکند تا صفحه سریعتر دانلود شود.
فشردهسازی جاوااسکریپت
حذف فاصلهها و نوشتههای اضافی از فایلهای جاوااسکریپت حجم دانلود و زمان پردازش آنها را کم میکند.
CSS بیاستفاده
بخشی از CSS که در این صفحه به کار نمیآید ولی دانلود میشود. حذف یا به تأخیر انداختن آن مصرف اینترنت را کم و صفحه را سریعتر میکند.
جاوااسکریپت بیاستفاده
کدی که دانلود میشود ولی در این صفحه اجرا نمیشود. حذف یا به تأخیر انداختن آن مصرف اینترنت را کم و صفحه را سریعتر میکند.
حجم کل صفحهحجم کل ۲۶۶ کیلوبایت
مجموع حجمی که بازدیدکننده برای دیدن صفحه دانلود میکند. صفحهی سنگین دیر باز میشود و اینترنت بیشتری از او مصرف میکند.
زمان اجرای جاوااسکریپت۰٫۰ ثانیه
زمانی که مرورگر صرف خواندن و اجرای کدهای جاوااسکریپت میکند. هرچه بیشتر باشد، صفحه دیرتر به بازدیدکننده پاسخ میدهد.
کار رشتهی اصلی مرورگر۰٫۹ ثانیه
نشان میدهد مرورگر وقت خود را صرف چه کارهایی میکند. وقتی رشتهی اصلی مشغول است، صفحه به کلیک و پیمایش پاسخ نمیدهد.
اگر درست شود: TBT حدود ۱۰۰ میلیثانیه سریعتر.
عرض و ارتفاع مشخص برای عکسها
اگر اندازهی عکس از قبل مشخص نباشد، با رسیدن عکس بقیهی صفحه به پایین میپرد. تعیین عرض و ارتفاع جلوی این پرش را میگیرد.
بازگشت سریع با دکمهی عقب و جلو
مرورگر میتواند صفحهی قبلی را در حافظه نگه دارد تا با زدن دکمهی بازگشت فوراً نمایش داده شود. بعضی کدها جلوی این قابلیت را میگیرند.
گواهی SSL و امنیت
۸۰ از ۱۰۰ نیاز به بهبود
گواهی معتبر است، ولی چند تنظیم آن جای بهتر شدن دارد.
- وضعیت
- معتبر
- صادرکننده
- Let's Encrypt
- پایان اعتبار
- ۲۰ آذر ۱۴۰۵ (۷۰ روز دیگر)
- تاریخ صدور
- ۲۱ شهریور ۱۴۰۵
- صادرشده برای
- sefid.dev (+1)
- کلید
- ECDSA prime256v1
- اتصال برقرارشده
- TLSv1.3 · TLS_AES_256_GCM_SHA384
نسخههای TLS
TLS 1.3روشنTLS 1.2روشنTLS 1.1روشن (ناامن)TLS 1.0روشن (ناامن)
چیزهایی که باید درست شوند
- نسخهی قدیمی و ناامن TLS 1.0 هنوز روشن است.
- نسخهی قدیمی و ناامن TLS 1.1 هنوز روشن است.
هدرهای امنیتی همه هست
- 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)اعلام نشده است
- بهترین پروتکل
- HTTP/2
- فرستادن HTTP به HTTPS
- انجام میشود
- فشردهسازی
- gzip
- HSTS
- روشن
- IPv6
- ندارد
- اولین پاسخ سرور (TTFB)
- ۵۱۰ میلیثانیه
- نشانی با www
- به همین سایت میرسد
هاست و تکنولوژی هر چه از بیرون قابل تشخیص بود.
- شبکه / دیتاسنتر
- ابر آروان AS205585
- کشور سرور
- ایران
- CDN
- ابر آروان
- IP
- 185.143.234.131
- سرویس DNS
- ابر آروان
- Name Server
- a.ns.arvancdn.ir · r.ns.arvancdn.ir
- وبسرور
- ArvanCloud
ساختهشده با (۲ مورد)
- فریمورک
- Next.js
- کتابخانهها
- React
سئو تکنیکال چیزهایی که نیست، یا ناقص است.
۸۸ از ۱۰۰ نیاز به بهبود
از ۱۴ بررسی پایه، ۳ مورد ایراد دارد.
- توضیح متا (meta description)توضیح بلند است (۱۹۹ حرف) و در نتایج بریده میشود.
- نشانی اصلی (canonical)canonical به دامنهی دیگری اشاره میکند: https://team.sefid.dev/
- پیشنمایش اشتراکگذاری (Open Graph)این تگها نیستند: og:image
- عنوان صفحه (title)«تیم سفید | طراحی و توسعهی سایت، سرعت، سئو و سرور»
- تیتر اصلی (H1)«تیمی که سفید را ساخت، حالا سایت شما را میسازد.»
- اجازهی ایندکسصفحه برای موتورهای جستجو باز است.
- زبان صفحه (lang)زبان اعلامشده: fa
- نمای موبایل (viewport)تگ viewport هست.
- کارت توییتر / ایکستعریف شده است.
- دادهی ساختاریافته (Schema)نوعها: Organization، WebSite، ProfessionalService، FAQPage
- آیکن سایت (favicon)تعریف شده است.
- متن جایگزین عکسها (alt)عکسی در HTML اولیه نیست.
- فایل robots.txtموجود است.
- نقشهی سایت (sitemap)https://sefid.dev/sitemap.xml
بررسیهای سئوی Lighthouse ۱۰۰ از ۱۰۰
در این بخش ایرادی پیدا نشد.
بررسیهای قبولشده (۱۰ مورد)
اجازهی نمایهسازی صفحه
اگر صفحه جلوی موتورهای جستوجو را گرفته باشد، در نتایج گوگل دیده نمیشود و مشتری از راه جستوجو به آن نمیرسد.
عنوان صفحه (title)
عنوان صفحه در نتایج جستوجو و زبانهی مرورگر دیده میشود و به کاربر صفحهخوان میگوید در چه صفحهای است.
توضیحات متا (meta description)
توضیح کوتاهی که زیر عنوان صفحه در نتایج جستوجو میآید و کاربر را به کلیک روی سایت شما تشویق میکند.
کد وضعیت HTTP صفحه
صفحهای که کد خطا برمیگرداند، ممکن است در موتورهای جستوجو درست ثبت نشود و در نتایج دیده نشود.
متن گویای پیوندها
متنی مثل «اینجا کلیک کنید» چیزی دربارهی مقصد نمیگوید. متن گویا به موتورهای جستوجو و کاربران صفحهخوان کمک میکند محتوا را بفهمند.
قابلپیمایش بودن پیوندها
موتورهای جستوجو با دنبال کردن نشانی پیوندها صفحههای سایت را پیدا میکنند. پیوند بدون نشانی درست باعث میشود صفحهها دیده نشوند.
معتبر بودن robots.txt
اگر فایل robots.txt ایراد داشته باشد، موتورهای جستوجو نمیفهمند کدام صفحههای سایت را باید بررسی و ثبت کنند.
متن جایگزین عکسها (alt)
متن جایگزین، عکس را برای کاربران صفحهخوان و موتورهای جستوجو توصیف میکند. بدون آن، عکس محصول برای کاربر نابینا وجود ندارد.
معتبر بودن hreflang
hreflang به موتورهای جستوجو میگوید برای هر زبان یا منطقه کدام نسخهی صفحه را در نتایج نشان دهند.
معتبر بودن نشانی canonical
پیوند canonical به موتورهای جستوجو میگوید از میان صفحههای مشابه، کدام نشانی نسخهی اصلی است و باید در نتایج بیاید.
آمادگی برای هوش مصنوعی
۵۰ از ۱۰۰ نیمهآماده
آیا ChatGPT، Claude و ایجنتهای دیگر میتوانند وارد این سایت شوند، آن را بخوانند و با آن کار کنند؟ بررسیهای Cloudflare برای «سایت آمادهی ایجنت»، بهاضافهی یک تست واقعی ورود.
اجازهی ورود
- قانون رباتهای هوش مصنوعی در robots.txtبرای هیچ ربات هوش مصنوعی قانون جداگانهای نوشته نشده است.چه کار کنید: در robots.txt برای رباتهایی مثل GPTBot و ClaudeBot صریح بنویسید چه چیزی آزاد و چه چیزی بسته است.
- Content Signalsاعلام نشده که محتوا برای آموزش مدل، پاسخ هوش مصنوعی یا جستجو آزاد است یا نه.چه کار کنید: خط Content-Signal را به robots.txt اضافه کنید، مثلا: Content-Signal: search=yes, ai-input=yes, ai-train=no
- Web Bot Authپوشهی کلیدهای امضای ربات منتشر نشده است.چه کار کنید: اگر سایت شما خودش ربات میفرستد، کلیدهایش را در /.well-known/http-message-signatures-directory منتشر کنید.
- ورود واقعی ایجنتهاایجنتهای ChatGPT و Claude صفحهی اصلی را بدون مانع گرفتند.
پیدا شدن
- فایل robots.txtهست؛ ایجنتها قانونهای سایت را از همینجا میخوانند.
- نقشهی سایت (sitemap.xml)هست؛ ایجنت همهی صفحهها را بدون گشتن پیدا میکند.
- هدر Linkصفحهی اصلی با هدر Link منابع خودش را معرفی میکند.
- فایل llms.txtهست؛ خلاصهی سایت برای مدلهای زبانی آماده است.
محتوا
- نسخهی Markdown برای ایجنتهاسایت به درخواست Accept: text/markdown هم HTML میدهد؛ ایجنت باید کل صفحه را بخواند.چه کار کنید: برای درخواستهایی که Accept: text/markdown دارند، متن صفحه را به Markdown برگردانید.
پروتکلها
- کارت سرور MCPکارت سرور MCP منتشر نشده است.چه کار کنید: اگر سرور MCP دارید، کارتش را در /.well-known/mcp/server-card.json بگذارید.
- Agent Skillsفهرست مهارتها منتشر نشده است.چه کار کنید: فهرست مهارتها را در /.well-known/agent-skills/index.json منتشر کنید.
- فهرست API (RFC 9727)منتشر نشده است.چه کار کنید: اگر API عمومی دارید، فهرستش را در /.well-known/api-catalog بگذارید.
- کشف OAuth (RFC 8414)منتشر نشده است.چه کار کنید: برای ورود ایجنتها با OAuth، فراداده را در /.well-known/oauth-authorization-server بگذارید.
- منبع محافظتشدهی OAuth (RFC 9728)منتشر نشده است.چه کار کنید: فراداده را در /.well-known/oauth-protected-resource بگذارید.
- WebMCPدر صفحهی اصلی دیده نشد.
خرید توسط ایجنت (در امتیاز حساب نمیشود)
- پرداخت ماشینی x402دیده نشد.
- Universal Commerce Protocolدیده نشد.
- Agentic Commerce Protocolدیده نشد.
دسترسپذیری و شیوههای درست برای همهی بازدیدکنندهها و همهی مرورگرها.
دسترسپذیری ۱۰۰ از ۱۰۰
در این بخش ایرادی پیدا نشد.
بررسیهای قبولشده (۳۱ مورد؛ ۳۲ مورد هم به این صفحه مربوط نبود)
همخوانی ویژگیهای ARIA با نقش عنصر
هر نقش ARIA فقط ویژگیهای مشخصی را میپذیرد. ویژگی نامربوط بیاثر میشود و صفحهخوان اطلاعات درستی به کاربر نمیدهد.
کاربرد درست ویژگیهای شرطی ARIA
بعضی ویژگیهای ARIA فقط در شرایط خاصی مجازند. استفادهی نادرست باعث میشود صفحهخوان وضعیت عنصر را اشتباه اعلام کند.
نقشهای منسوخ ARIA
نقشهای قدیمی و کنارگذاشتهشدهی ARIA ممکن است در صفحهخوانها درست کار نکنند و کاربر را سردرگم کنند.
پنهان نبودن کل صفحه از صفحهخوان
اگر روی body صفحه aria-hidden="true" گذاشته شود، صفحهخوانها رفتار نامنظمی پیدا میکنند و ممکن است کل صفحه برای کاربر نابینا خوانده نشود.
عناصر قابلانتخاب درون بخشهای پنهان
اگر در بخشی که از صفحهخوان پنهان شده دکمه یا پیوندی باشد، کاربر صفحهکلید روی آن میرود ولی صفحهخوان چیزی نمیخواند.
ویژگیهای غیرمجاز ARIA
استفاده از ویژگیهای ARIA در جایی که مجاز نیست، باعث میشود اطلاعات مهم به کاربران صفحهخوان نرسد.
ویژگیهای الزامی نقشهای ARIA
بعضی نقشها باید ویژگیهایی داشته باشند که وضعیت عنصر را به صفحهخوان بگوید، مثل باز یا بسته بودن. بدون آنها کاربر وضعیت را نمیفهمد.
معتبر بودن مقدار نقشها (role)
نقش نامعتبر یا اشتباهنوشتهشده را صفحهخوان نمیشناسد و نمیتواند به کاربر بگوید آن عنصر چیست.
معتبر بودن مقدار ویژگیهای ARIA
صفحهخوانها نمیتوانند ویژگی ARIA با مقدار نامعتبر را تفسیر کنند و اطلاعات آن عنصر به کاربر نمیرسد.
معتبر بودن نام ویژگیهای ARIA
ویژگی ARIA که نامش اشتباه نوشته شده یا وجود ندارد، برای صفحهخوان بیمعنی است و نادیده گرفته میشود.
نام دکمهها
دکمهای که نام ندارد، مثل دکمهی فقط با آیکون، در صفحهخوان تنها «دکمه» خوانده میشود و کاربر نابینا نمیداند چه کاری میکند.
تضاد رنگ متن و پسزمینه
متن کمرنگ روی پسزمینهی نزدیک به خودش برای بسیاری از افراد، بهویژه کمبینایان و زیر نور آفتاب، سخت یا ناممکن خوانده میشود.
ساختار درست فهرستهای تعریف (dl)
اگر فهرست تعریف درست ساخته نشده باشد، صفحهخوان آن را گیجکننده یا نادرست میخواند.
قرار داشتن dt و dd درون dl
اصطلاح و توضیح آن باید درون فهرست تعریف باشند تا صفحهخوان بتواند آنها را درست و بههممرتبط بخواند.
عنوان صفحه (title)
عنوان صفحه در نتایج جستوجو و زبانهی مرورگر دیده میشود و به کاربر صفحهخوان میگوید در چه صفحهای است.
ترتیب عنوانها
عنوانهایی که به ترتیب و بدون پرش از سطحی به سطح دیگر آمدهاند، ساختار صفحه را روشن میکنند و حرکت با صفحهخوان را آسانتر.
مشخص بودن زبان صفحه (lang)
اگر زبان صفحه مشخص نباشد، صفحهخوان متن را با زبان پیشفرض کاربر میخواند و ممکن است فارسی را با تلفظ اشتباه بخواند.
معتبر بودن زبان صفحه (lang)
کد زبان صفحه باید معتبر باشد، مثل fa، تا صفحهخوان متن را با زبان و تلفظ درست بخواند.
متن جایگزین عکسها (alt)
متن جایگزین، عکس را برای کاربران صفحهخوان و موتورهای جستوجو توصیف میکند. بدون آن، عکس محصول برای کاربر نابینا وجود ندارد.
برچسب فیلدهای فرم
برچسب به صفحهخوان میگوید هر فیلد برای چیست، مثل نام یا شمارهی موبایل. بدون برچسب، پر کردن فرم برای کاربر نابینا ناممکن میشود.
تشخیص پیوندها بدون تکیه بر رنگ
پیوندی که فقط با رنگ از متن اطرافش جدا شده، برای افراد کمبینا یا کوررنگ قابلتشخیص نیست. خط زیر یا نشانهی دیگری لازم است.
نام پیوندها
پیوند باید متنی روشن داشته باشد تا کاربر صفحهخوان و صفحهکلید بداند به کجا میرود. پیوند خالی یا فقط با آیکون بیمعنی خوانده میشود.
ساختار درست فهرستها
فهرست باید فقط از گزینههای فهرست (li) ساخته شود تا صفحهخوان تعداد و ترتیب گزینهها را درست اعلام کند.
قرار داشتن گزینههای فهرست درون فهرست
گزینهی فهرست (li) باید درون ul یا ol یا menu باشد، وگرنه صفحهخوان آن را بهعنوان بخشی از فهرست نمیخواند.
امکان بزرگنمایی صفحه
اگر بزرگنمایی صفحه بسته شده باشد، افراد کمبینا نمیتوانند متن را درشت کنند و محتوای سایت را بخوانند.
مقدار tabindex بزرگتر از صفر
مقدار بزرگتر از صفر ترتیب حرکت با کلید Tab را دستکاری میکند و کاربران صفحهکلید و صفحهخوان را در صفحه سرگردان میکند.
اندازه و فاصلهی دکمههای لمسی
دکمهها و پیوندهای ریز یا چسبیده به هم روی گوشی سخت لمس میشوند و بازدیدکننده اشتباهی روی چیز دیگری میزند.
معتبر بودن ویژگیهای lang
کد زبان هر بخش از صفحه باید معتبر باشد تا صفحهخوان آن بخش را با زبان و تلفظ درست بخواند.
ناحیهی اصلی صفحه (main)
مشخص بودن یک ناحیهی اصلی به کاربران صفحهخوان کمک میکند مستقیم به محتوای اصلی صفحه بروند.
کاربرد درست ویژگی autocomplete
مقدار درست autocomplete به مرورگر و صفحهخوان میگوید هر فیلد چه اطلاعاتی میخواهد و پر کردن فرم را برای همه آسانتر میکند.
متن جایگزین تصویرهای SVG
تصویر و آیکون SVG که نقش عکس دارد باید متن جایگزین داشته باشد تا صفحهخوان بتواند آن را برای کاربر توصیف کند.
شیوههای درست ۹۶ از ۱۰۰
ایرادها (۱ مورد)
خطاهای کنسول مرورگر
خطاهای ثبتشده در کنسول نشانهی مشکلات حلنشدهاند، مثل فایلی که بارگذاری نشده یا کدی که درست اجرا نمیشود.
| منبع | توضیح |
|---|---|
| sefid.dev/_next/static/chunks/2i51e627rllld.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/_next/static/chunks/3-qb55iba_z18.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/_next/static/chunks/1we2ph2oljpoa.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/_next/static/chunks/turbopack-0n-6oxvcje9kc.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/_next/static/chunks/15755xpawbehh.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/_next/static/chunks/38lz3yndtmf8b.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/_next/static/chunks/25ucufi4l7wpz.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/_next/static/chunks/0z52ylkwq_yid.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/_next/static/chunks/0dq567wv-_eok.js:1 | Failed to load resource: the server responded with a status of 404 () |
| sefid.dev/:1 | Refused to apply style from 'https://sefid.dev/_next/static/chunks/2mkm3q8ym7zmw.css' because its MIME type ('text/plain') is not a supported stylesheet MIME type, and strict MIME checking is enabled. |
| sefid.dev/:17 | Refused to execute script from 'https://sefid.dev/_next/static/chunks/0dq567wv-_eok.js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled. |
| sefid.dev/:17 | Refused to execute script from 'https://sefid.dev/_next/static/chunks/0z52ylkwq_yid.js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled. |
و ۷ مورد دیگر.
اطلاعات بیشتر (۴ مورد)
اثربخشی CSP در برابر حملهی XSS
سیاست امنیت محتوا (CSP) جلوی اجرای کدهای مخرب تزریقشده در سایت را میگیرد و از اطلاعات بازدیدکنندگان محافظت میکند.
| توضیح | شدت |
|---|---|
| No CSP found in enforcement mode | High |
جداسازی مبدأ با COOP
سرآیند COOP پنجرهی سایت را از پنجرههای دیگر، مثل پنجرههای بازشو، جدا میکند تا سایتهای دیگر نتوانند به آن دست بزنند.
| توضیح | شدت |
|---|---|
| No COOP header found | High |
جلوگیری از XSS مبتنی بر DOM با Trusted Types
قابلیت Trusted Types مرورگر را وادار میکند دادهها را پیش از قرار گرفتن در صفحه بررسی کند و جلوی تزریق کد مخرب را میگیرد.
| توضیح | شدت |
|---|---|
| No `Content-Security-Policy` header with Trusted Types directive found | High |
قابلیتهای وب و وضعیت Baseline
قابلیتهای وب بهکاررفته در صفحه را نشان میدهد و اینکه مرورگرهای رایج تا چه اندازه از هر کدام پشتیبانی میکنند.
| قابلیتهای وب | منبع |
|---|---|
| webstatus.dev/features/text-wrap-pretty | sefid.dev/:-1 |
| webstatus.dev/features/fetch-priority | sefid.dev/:-1 |
| webstatus.dev/features/text-wrap | sefid.dev/:-1 |
| webstatus.dev/features/text-wrap-balance | sefid.dev/:-1 |
| webstatus.dev/features/has | sefid.dev/:-1 |
| webstatus.dev/features/outline | sefid.dev/:-1 |
| webstatus.dev/features/viewport-unit-variants | sefid.dev/:-1 |
| webstatus.dev/features/overflow-clip | sefid.dev/:-1 |
| webstatus.dev/features/focus-visible | sefid.dev/:-1 |
| webstatus.dev/features/color-scheme | sefid.dev/:8 |
| webstatus.dev/features/referrer-policy | |
| webstatus.dev/features/logical-properties | sefid.dev/:-1 |
و ۹ مورد دیگر.
بررسیهای قبولشده (۱۲ مورد؛ ۴ مورد هم به این صفحه مربوط نبود)
استفاده از HTTPS
HTTPS ارتباط بازدیدکننده با سایت را رمزگذاری میکند تا کسی نتواند اطلاعات او را ببیند یا تغییر دهد. مرورگرها سایت بدون آن را ناامن نشان میدهند.
درخواست موقعیت مکانی هنگام باز شدن صفحه
درخواست موقعیت مکانی بدون توضیح و در همان لحظهی ورود، بازدیدکننده را بدبین میکند. بهتر است پس از یک اقدام خود او پرسیده شود.
درخواست اجازهی اعلان هنگام باز شدن صفحه
درخواست ارسال اعلان در همان لحظهی ورود، بازدیدکننده را آزار میدهد و بیشتر افراد آن را رد میکنند. بهتر است در زمان مناسب پرسیده شود.
امکان چسباندن متن در فیلدها
بستن امکان چسباندن در فیلدها بازدیدکننده را اذیت میکند و با از کار انداختن برنامههای مدیریت رمز، امنیت را هم کمتر میکند.
نسبت درست ابعاد عکسها
عکسی که با نسبت ابعادی غیر از نسبت واقعیاش نمایش داده شود، کشیده یا فشرده دیده میشود و ظاهر سایت را غیرحرفهای میکند.
وضوح مناسب عکسها
عکسی که وضوحش از اندازهی نمایش کمتر باشد، روی صفحهنمایشهای باکیفیت تار دیده میشود.
تعریف doctype در HTML
نبود doctype باعث میشود مرورگر صفحه را در حالت قدیمی نمایش دهد و ظاهر سایت در مرورگرهای مختلف بههم بریزد.
تعریف رمزگذاری نویسهها (charset)
اگر رمزگذاری صفحه درست اعلام نشود، حروف فارسی ممکن است به شکل نویسههای درهم و ناخوانا نمایش داده شوند.
قابلیتهای منسوخ مرورگر
قابلیتهای منسوخ دیر یا زود از مرورگرها حذف میشوند و بخشی از سایت که به آنها وابسته است از کار میافتد.
کوکیهای شخص ثالث
مرورگرها در بعضی شرایط کوکیهای سایتهای دیگر را مسدود میکنند. ابزارهایی که به این کوکیها وابستهاند ممکن است از کار بیفتند.
معتبر بودن source mapها
source map کد فشرده را به کد اصلی وصل میکند تا برنامهنویس بتواند خطاهای سایت را سریعتر پیدا و رفع کند.
مشکلات بخش Issues در Chrome DevTools
مشکلاتی که مرورگر Chrome دربارهی صفحه ثبت کرده است، مثل خطاهای شبکه، تنظیمات امنیتی ناکافی و دیگر ایرادهای مرورگر.
تاریخچهی گزارشها هر اسکن این سایت، با تاریخش.
- تاریخموبایلدسکتاپسئوLCP
- ۷۰۹۵۱۰۰۲٫۳ ث
بیشتر
تفسیر گزارش 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. برای همین در تفسیر گزارش PageSpeed به جای خیره شدن به عدد کلی، ببینید کدام سنجه قرمز است. کنار هر سنجه در گزارش ما همان نقطهی رنگی و شکل هست، پس در یک نگاه معلوم است کدام عدد امتیاز را پایین کشیده.
دو نکته را هم بدانید. اول اینکه امتیاز از یک تست تا تست بعد چند واحد بالا و پایین میشود. مستندات 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 فقط با کلیکهای واقعی آدمها اندازه گرفته میشود و در یک تست آزمایشگاهی که کسی روی صفحه نمیزند، وجود ندارد. 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 و ایجنتهای هوش مصنوعی دیگر میتوانند وارد سایت شما شوند، آن را بخوانند و با آن کار کنند؟
بررسیها همان ۲۲ بررسی ابزار isitagentready.com کلادفلر است، با همان قاعدهها. نتیجه دو عدد دارد. یکی سطح از ۵، با نام انگلیسی و فارسیاش، و یک جمله که میگوید برای رسیدن به سطح بعد چه چیزی کم است. دیگری امتیاز از ۱۰۰، که سهم بررسیهای قبولشده است از بررسیهایی که به همین سایت مربوط بودند. کنار آن، سهم هر گروه آمده است: پیدا شدن، محتوا، اجازهی رباتها، و 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 میگوید امتیاز کامل ۱۰۰ بسیار سخت است و انتظارش نمیرود؛ بردن امتیاز از ۹۹ به ۱۰۰ تقریبا همانقدر بهبود میخواهد که بردنش از ۹۰ به ۹۴. هدف این است که سنجهها در محدودهی خوب باشند و سایت برای آدمها سریع باشد. رسیدن از قرمز به سبز ارزش زیادی دارد؛ چند واحد آخر معمولا نه.
اگر تست ناموفق بود، یعنی چه؟
گزارش در یک جمله دلیلش را میگوید: دامنه پیدا نشد، سایت جواب نداد (یا خاموش است یا از سرور ایران در دسترس نیست)، تست بیش از حد طول کشید چون سایت خیلی کند جواب میدهد، یا سایت بیش از حد از نشانیای به نشانی دیگر میفرستد. ده دقیقه بعد دکمهی «دوباره تست کن» میآید.
چرا فقط صفحهی اصلی تست شده است؟
قاعدهی این ابزار است: هر نشانیای نوشته شود، صفحهی اصلی همان دامنه تست میشود. برای صفحههای داخلی میتوانید از Lighthouse داخل Chrome یا PageSpeed Insights استفاده کنید؛ همین راهنما برای خواندن نتیجهی آنها هم کار میکند.