گزارش سایت (۶ ساعت پیش)تست از سرور ایران (تهران)فقط صفحه‌ی اصلی

team.sefid.dev

این سایت روی موبایل قابل قبول است، ولی جای بهتر شدن دارد: صفحه ۱٫۸ ثانیه طول می‌کشد تا دیده شود.

اسکن تازه، یک روز بعد از هر گزارش ممکن است.دانلود PDF گزارش
تصویر team.sefid.dev روی موبایل

۹۰ تا ۱۰۰ خوب۵۰ تا ۸۹ نیاز به بهبود۰ تا ۴۹ ضعیف

سرعت با موتور Lighthouse، همان که PageSpeed گوگل دارد.

۷۳

نیاز به بهبود

نخستین نمایش محتوا FCP
۱٫۳ ثانیه
نمایش بزرگ‌ترین محتوا LCP
۱٫۸ ثانیه
زمان قفل بودن صفحه TBT
۱٫۷ ثانیه
پرش چیدمان CLS
۰
شاخص سرعت SI
۲٫۳ ثانیه
پاسخ سرور TTFB
۲۵۰ میلی‌ثانیه
تصویر صفحه پس از بارگذاری
صفحه پس از بارگذاری

وزن صفحه ۲۲۶ کیلوبایت در ۱۷ درخواست

  • جاوااسکریپت: ۱۵۰ کیلوبایت
  • فونت: ۴۱ کیلوبایت
  • CSS: ۱۸ کیلوبایت
  • HTML: ۱۰ کیلوبایت
  • عکس: ۶٫۱ کیلوبایت
  • سایر: ۸۹۶ بایت

چیزهایی که سرعت را گرفته‌اند (۸ مورد)

کار رشته‌ی اصلی مرورگر۵٫۷ ثانیه

نشان می‌دهد مرورگر وقت خود را صرف چه کارهایی می‌کند. وقتی رشته‌ی اصلی مشغول است، صفحه به کلیک و پیمایش پاسخ نمی‌دهد.

اگر درست شود: TBT حدود ۱٫۷ ثانیه سریع‌تر.

دستهزمان صرف‌شده
اجرای اسکریپت۱٫۹ ثانیه
Other۱٫۸ ثانیه
Style & Layout۱٫۲ ثانیه
Rendering۵۳۰ میلی‌ثانیه
Script Parsing & Compilation۲۰۰ میلی‌ثانیه
Parse HTML & CSS۱۲۰ میلی‌ثانیه
Garbage Collection۲۰ میلی‌ثانیه
زمان اجرای جاوااسکریپت۲٫۰ ثانیه

زمانی که مرورگر صرف خواندن و اجرای کدهای جاوااسکریپت می‌کند. هرچه بیشتر باشد، صفحه دیرتر به بازدیدکننده پاسخ می‌دهد.

اگر درست شود: TBT حدود ۱٫۳ ثانیه سریع‌تر.

نشانیکل زمان پردازندهاجرای اسکریپتتجزیه‌ی اسکریپت
team.sefid.dev/۲٫۷ ثانیه۷۰ میلی‌ثانیه۲۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js۱٫۸ ثانیه۱٫۶ ثانیه۸۰ میلی‌ثانیه
Unattributable۵۶۰ میلی‌ثانیه۲۰ میلی‌ثانیه۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/turbopack-0c618fjz8f5f1.js۲۱۰ میلی‌ثانیه۲۰۰ میلی‌ثانیه۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/42xnpetpg6c37.css۱۸۰ میلی‌ثانیه۰ میلی‌ثانیه۰ میلی‌ثانیه
چیدمان دوباره‌ی اجباری

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

منبعTotal reflow time
[unattributed]۲۰۰ میلی‌ثانیه
زنجیره‌ی درخواست‌های شبکه

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

بهینه‌سازی تحویل عکس‌هاصرفه‌جویی حدود ۴ کیلوبایت

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

نشانیحجم منبعصرفه‌جویی تقریبی
<img src="/enamad.webp" alt="نماد اعتماد الکترونیکی" width="72" height="72" loading="lazy" decoding="async" code="vRUqD2tOpmD7DiAQH9js3ys75OVS90O6">team.sefid.dev/enamad.webp۵٫۵ کیلوبایت۴٫۱ کیلوبایت
جاوااسکریپت قدیمیصرفه‌جویی حدود ۱۴ کیلوبایت

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

نشانیحجم هدررفته
team.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js۱۴ کیلوبایت
درخواست‌های مانع نمایش

بعضی فایل‌های CSS و جاوااسکریپت تا کامل دانلود نشوند، مرورگر چیزی نشان نمی‌دهد. بازدیدکننده در این مدت صفحه‌ی سفید می‌بیند.

نشانیحجم انتقالمدت
team.sefid.dev/_next/static/chunks/3t9lhiouffkxt.css۵٫۵ کیلوبایت
team.sefid.dev/_next/static/chunks/39uc9_y9aprny.css۶٫۴ کیلوبایت
team.sefid.dev/_next/static/chunks/42xnpetpg6c37.css۵٫۱ کیلوبایت۱۵۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/1v7giai4bn0jz.css۱٫۴ کیلوبایت
جاوااسکریپت بی‌استفادهصرفه‌جویی حدود ۴۸ کیلوبایت

کدی که دانلود می‌شود ولی در این صفحه اجرا نمی‌شود. حذف یا به تأخیر انداختن آن مصرف اینترنت را کم و صفحه را سریع‌تر می‌کند.

نشانیحجم انتقالصرفه‌جویی تقریبی
team.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js۷۰ کیلوبایت۲۷ کیلوبایت
team.sefid.dev/_next/static/chunks/3knomwpakdxxt.js۳۵ کیلوبایت۲۱ کیلوبایت
اطلاعات بیشتر (۴ مورد)
اندازه‌ی DOM صفحه

صفحه‌ای که تعداد عناصرش خیلی زیاد باشد، دیرتر چیده می‌شود و کندتر به کلیک و پیمایش پاسخ می‌دهد، به‌ویژه روی گوشی‌های ضعیف.

آمارعنصرمقدار
Total elements۱۸۶
DOM depth<path d="M12 7.6C14.5 7.5 16.4 9.4 16.4 12C16.4 14.4 14.5 16.4 12 16.4C9.6 16.4 7.6…">۱۱
Most children<svg class="draw" viewBox="0 0 460 330" aria-hidden="true" data-on="">۱۶
جزئیات زمان LCP

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

بخشمدت
Time to first byte۴۰ میلی‌ثانیه
Element render delay۷۴۰ میلی‌ثانیه
کارهای طولانی رشته‌ی اصلی۱۵ مورد

کارهایی که مرورگر را برای مدتی طولانی مشغول نگه می‌دارند و باعث می‌شوند صفحه با تأخیر به بازدیدکننده پاسخ دهد.

اگر درست شود: TBT حدود ۱٫۷ ثانیه سریع‌تر.

نشانیزمان شروعمدت
team.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js۲٫۴ ثانیه۸۳۰ میلی‌ثانیه
team.sefid.dev/۱٫۷ ثانیه۳۱۰ میلی‌ثانیه
team.sefid.dev/۱ ثانیه۲۳۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/turbopack-0c618fjz8f5f1.js۳٫۲ ثانیه۲۱۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/42xnpetpg6c37.css۱٫۳ ثانیه۱۸۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js۳٫۶ ثانیه۱۸۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js۳٫۴ ثانیه۱۶۰ میلی‌ثانیه
team.sefid.dev/۱٫۵ ثانیه۱۴۰ میلی‌ثانیه
Unattributable۹۱۰ میلی‌ثانیه۱۲۰ میلی‌ثانیه
team.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js۳٫۹ ثانیه۱۲۰ میلی‌ثانیه
team.sefid.dev/۲٫۲ ثانیه۱۰۰ میلی‌ثانیه
team.sefid.dev/۲٫۳ ثانیه۷۰ میلی‌ثانیه

و ۳ مورد دیگر.

انیمیشن‌های سنگین۱۴ مورد

انیمیشن‌هایی که بهینه اجرا نمی‌شوند، بریده‌بریده دیده می‌شوند و می‌توانند باعث پرش بخش‌های صفحه شوند.

عنصر
<path class="d" pathLength="1" d="M20 58C130 56 290 56 390 58">
<path class="d" pathLength="1" d="M304 142C330 141 370 141 396 142M304 156C326 155 348 155 366 156">
<path class="d" pathLength="1" d="M334 122C344 121 354 121 362 122">
<path class="d" pathLength="1" d="M304 270C334 268 366 268 396 270C398 278 398 286 396 292C366 293 334 293 3…">
<path class="d" pathLength="1" d="M20 30C130 27 290 27 390 30C393 110 393 200 390 270C290 273 130 273 22 270…">
<path class="d" pathLength="1" d="M300 110C330 108 368 108 398 110C406 111 412 117 412 125C414 190 414 250 4…">
<path class="d" pathLength="1" d="M36 44h.4M48 44h.4M60 44h.4">
<path class="d" pathLength="1" d="M48 84C70 83 92 83 112 84M48 84l6 6 12-14M60 96">
<path class="d" pathLength="1" d="M48 152C80 151 112 151 140 152C141 174 141 196 140 214C112 215 80 215 48 2…">
<path class="d" pathLength="1" d="M358 176C372 175 384 175 396 176C397 192 397 208 396 222C384 223 372 223 3…">
<path class="d" pathLength="1" d="M48 112C120 110 200 110 250 112M48 128C110 126 170 126 220 128">
<path class="d" pathLength="1" d="M160 152C192 151 224 151 252 152C253 174 253 196 252 214C224 215 192 215 1…">

و ۲ مورد دیگر.

بررسی‌های قبول‌شده (۱۴ مورد؛ ۳ مورد هم به این صفحه مربوط نبود)
مدت نگهداری فایل‌ها در حافظه‌ی مرورگر

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

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

بخش‌هایی را نشان می‌دهد که بدون دخالت بازدیدکننده صفحه را تکان می‌دهند، مثل عکس بدون اندازه، تبلیغ یا فونتی که دیر می‌رسد.

تأخیر دریافت صفحه‌ی اصلی

اولین درخواست سایت مهم‌ترین درخواست است و همه‌چیز منتظر آن می‌ماند. پاسخ سریع سرور، نبود تغییر مسیر و فشرده‌سازی متن آن را کوتاه می‌کند.

جاوااسکریپت تکراری

گاهی یک کد چند بار در فایل‌های مختلف بارگذاری می‌شود. حذف نسخه‌های تکراری حجم دانلود را کم و باز شدن صفحه را سریع‌تر می‌کند.

نمایش متن هنگام بارگذاری فونت

اگر فونت دیر برسد، متن ممکن است مدتی دیده نشود. با تنظیم درست، متن از همان ابتدا با یک فونت جایگزین نمایش داده می‌شود.

استفاده از HTTP جدید

نسخه‌های HTTP/2 و HTTP/3 چند فایل را هم‌زمان و سریع‌تر منتقل می‌کنند. نسخه‌ی قدیمی HTTP/1.1 باز شدن صفحه را کندتر می‌کند.

کدهای شخص ثالث

ابزارهایی مثل آمارگیر، گفت‌وگوی آنلاین و تبلیغات از سایت‌های دیگر بارگذاری می‌شوند و می‌توانند صفحه را به شکل محسوسی کند کنند.

تنظیم viewport برای موبایل

اگر صفحه برای اندازه‌ی گوشی تنظیم نشده باشد، لمس‌ها با تأخیر پاسخ می‌گیرند و صفحه روی موبایل ریز و نامناسب دیده می‌شود.

فشرده‌سازی CSS

حذف فاصله‌ها و نوشته‌های اضافی از فایل‌های CSS حجم آن‌ها را کم می‌کند تا صفحه سریع‌تر دانلود شود.

فشرده‌سازی جاوااسکریپت

حذف فاصله‌ها و نوشته‌های اضافی از فایل‌های جاوااسکریپت حجم دانلود و زمان پردازش آن‌ها را کم می‌کند.

CSS بی‌استفاده

بخشی از CSS که در این صفحه به کار نمی‌آید ولی دانلود می‌شود. حذف یا به تأخیر انداختن آن مصرف اینترنت را کم و صفحه را سریع‌تر می‌کند.

حجم کل صفحهحجم کل ۲۲۶ کیلوبایت

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

عرض و ارتفاع مشخص برای عکس‌ها

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

بازگشت سریع با دکمه‌ی عقب و جلو

مرورگر می‌تواند صفحه‌ی قبلی را در حافظه نگه دارد تا با زدن دکمه‌ی بازگشت فوراً نمایش داده شود. بعضی کدها جلوی این قابلیت را می‌گیرند.

گواهی SSL و امنیت

۱۰۰ از ۱۰۰ خوب

گواهی معتبر است و تنظیم‌هایش درست است.

وضعیت
معتبر
صادرکننده
Let's Encrypt
پایان اعتبار
۹ دی ۱۴۰۵ (۸۹ روز دیگر)
تاریخ صدور
۹ مهر ۱۴۰۵
صادرشده برای
team.sefid.dev
کلید
ECDSA prime256v1
اتصال برقرارشده
TLSv1.3 · TLS_AES_256_GCM_SHA384

نسخه‌های TLS

TLS 1.3روشنTLS 1.2روشنTLS 1.1خاموش (درست)TLS 1.0خاموش (درست)

هدرهای امنیتی همه هست

  • 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
کار نمی‌کند

هاست و تکنولوژی هر چه از بیرون قابل تشخیص بود.

شبکه / دیتاسنتر
AT-CLOUD - Asre Dadeha Asiatech AS60077
کشور سرور
ایران
IP
85.198.11.85
Name Server
maryam.sefid.dev · mirza.sefid.dev
وب‌سرور
nginx
نام سرور (PTR)
85.198.11.85.asiatech.cloud

ساخته‌شده با (۴ مورد)

فریم‌ورک
Next.js
کتابخانه‌ها
React
وب‌سرور
Nginx
نمادها
نماد اعتماد (eNamad)

سئو تکنیکال چیزهایی که نیست، یا ناقص است.

۹۱ از ۱۰۰ خوب

از ۱۴ بررسی پایه، ۲ مورد ایراد دارد.

  • توضیح متا (meta description)توضیح بلند است (۱۹۹ حرف) و در نتایج بریده می‌شود.
  • پیش‌نمایش اشتراک‌گذاری (Open Graph)این تگ‌ها نیستند: og:image
  • عنوان صفحه (title)«تیم سفید | طراحی و توسعه‌ی سایت، سرعت، سئو و سرور»
  • تیتر اصلی (H1)«تیمی که سفید را ساخت، حالا سایت شما را می‌سازد.»
  • نشانی اصلی (canonical)https://team.sefid.dev/
  • اجازه‌ی ایندکسصفحه برای موتورهای جستجو باز است.
  • زبان صفحه (lang)زبان اعلام‌شده: fa
  • نمای موبایل (viewport)تگ viewport هست.
  • کارت توییتر / ایکستعریف شده است.
  • داده‌ی ساختاریافته (Schema)نوع‌ها: Organization، WebSite، ProfessionalService
  • آیکن سایت (favicon)تعریف شده است.
  • متن جایگزین عکس‌ها (alt)همه‌ی عکس‌ها alt دارند.
  • فایل robots.txtموجود است.
  • نقشه‌ی سایت (sitemap)https://team.sefid.dev/sitemap.xml

بررسی‌های سئوی Lighthouse ۱۰۰ از ۱۰۰

در این بخش ایرادی پیدا نشد.

بررسی‌های قبول‌شده (۱۰ مورد)
اجازه‌ی نمایه‌سازی صفحه

اگر صفحه جلوی موتورهای جست‌وجو را گرفته باشد، در نتایج گوگل دیده نمی‌شود و مشتری از راه جست‌وجو به آن نمی‌رسد.

عنوان صفحه (title)

عنوان صفحه در نتایج جست‌وجو و زبانه‌ی مرورگر دیده می‌شود و به کاربر صفحه‌خوان می‌گوید در چه صفحه‌ای است.

توضیحات متا (meta description)

توضیح کوتاهی که زیر عنوان صفحه در نتایج جست‌وجو می‌آید و کاربر را به کلیک روی سایت شما تشویق می‌کند.

کد وضعیت HTTP صفحه

صفحه‌ای که کد خطا برمی‌گرداند، ممکن است در موتورهای جست‌وجو درست ثبت نشود و در نتایج دیده نشود.

متن گویای پیوندها

متنی مثل «اینجا کلیک کنید» چیزی درباره‌ی مقصد نمی‌گوید. متن گویا به موتورهای جست‌وجو و کاربران صفحه‌خوان کمک می‌کند محتوا را بفهمند.

قابل‌پیمایش بودن پیوندها

موتورهای جست‌وجو با دنبال کردن نشانی پیوندها صفحه‌های سایت را پیدا می‌کنند. پیوند بدون نشانی درست باعث می‌شود صفحه‌ها دیده نشوند.

معتبر بودن robots.txt

اگر فایل robots.txt ایراد داشته باشد، موتورهای جست‌وجو نمی‌فهمند کدام صفحه‌های سایت را باید بررسی و ثبت کنند.

متن جایگزین عکس‌ها (alt)

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

معتبر بودن hreflang

hreflang به موتورهای جست‌وجو می‌گوید برای هر زبان یا منطقه کدام نسخه‌ی صفحه را در نتایج نشان دهند.

معتبر بودن نشانی canonical

پیوند canonical به موتورهای جست‌وجو می‌گوید از میان صفحه‌های مشابه، کدام نشانی نسخه‌ی اصلی است و باید در نتایج بیاید.

آمادگی برای هوش مصنوعی

۷۰ از ۱۰۰ نیمه‌آماده

آیا ChatGPT، Claude و ایجنت‌های دیگر می‌توانند وارد این سایت شوند، آن را بخوانند و با آن کار کنند؟ همان بررسی‌هایی که Cloudflare برای «سایت آماده‌ی ایجنت» انجام می‌دهد، به‌اضافه‌ی یک تست واقعی ورود.

اجازه‌ی ورود

  • Web Bot Authپوشه‌ی کلیدهای امضای ربات منتشر نشده است.چه کار کنید: اگر سایت شما خودش ربات می‌فرستد، کلیدهایش را در /.well-known/http-message-signatures-directory منتشر کنید.
  • قانون ربات‌های هوش مصنوعی در robots.txtبرای این ربات‌ها قانون نوشته شده: GPTBot، ChatGPT-User، OAI-SearchBot، ClaudeBot، Claude-User، Claude-SearchBot
  • Content Signalsسایت گفته محتوایش برای جستجو، پاسخ هوش مصنوعی و آموزش مدل چه اجازه‌ای دارد.
  • ورود واقعی ایجنت‌هاایجنت‌های 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 که نامش اشتباه نوشته شده یا وجود ندارد، برای صفحه‌خوان بی‌معنی است و نادیده گرفته می‌شود.

نام دکمه‌ها

دکمه‌ای که نام ندارد، مثل دکمه‌ی فقط با آیکون، در صفحه‌خوان تنها «دکمه» خوانده می‌شود و کاربر نابینا نمی‌داند چه کاری می‌کند.

تضاد رنگ متن و پس‌زمینه

متن کم‌رنگ روی پس‌زمینه‌ی نزدیک به خودش برای بسیاری از افراد، به‌ویژه کم‌بینایان و زیر نور آفتاب، سخت یا ناممکن خوانده می‌شود.

عنوان صفحه (title)

عنوان صفحه در نتایج جست‌وجو و زبانه‌ی مرورگر دیده می‌شود و به کاربر صفحه‌خوان می‌گوید در چه صفحه‌ای است.

ترتیب عنوان‌ها

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

مشخص بودن زبان صفحه (lang)

اگر زبان صفحه مشخص نباشد، صفحه‌خوان متن را با زبان پیش‌فرض کاربر می‌خواند و ممکن است فارسی را با تلفظ اشتباه بخواند.

معتبر بودن زبان صفحه (lang)

کد زبان صفحه باید معتبر باشد، مثل fa، تا صفحه‌خوان متن را با زبان و تلفظ درست بخواند.

متن جایگزین عکس‌ها (alt)

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

برچسب فیلدهای فرم

برچسب به صفحه‌خوان می‌گوید هر فیلد برای چیست، مثل نام یا شماره‌ی موبایل. بدون برچسب، پر کردن فرم برای کاربر نابینا ناممکن می‌شود.

تشخیص پیوندها بدون تکیه بر رنگ

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

نام پیوندها

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

ساختار درست فهرست‌ها

فهرست باید فقط از گزینه‌های فهرست (li) ساخته شود تا صفحه‌خوان تعداد و ترتیب گزینه‌ها را درست اعلام کند.

قرار داشتن گزینه‌های فهرست درون فهرست

گزینه‌ی فهرست (li) باید درون ul یا ol یا menu باشد، وگرنه صفحه‌خوان آن را به‌عنوان بخشی از فهرست نمی‌خواند.

امکان بزرگ‌نمایی صفحه

اگر بزرگ‌نمایی صفحه بسته شده باشد، افراد کم‌بینا نمی‌توانند متن را درشت کنند و محتوای سایت را بخوانند.

اندازه و فاصله‌ی دکمه‌های لمسی

دکمه‌ها و پیوندهای ریز یا چسبیده به هم روی گوشی سخت لمس می‌شوند و بازدیدکننده اشتباهی روی چیز دیگری می‌زند.

معتبر بودن ویژگی‌های lang

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

ناحیه‌ی اصلی صفحه (main)

مشخص بودن یک ناحیه‌ی اصلی به کاربران صفحه‌خوان کمک می‌کند مستقیم به محتوای اصلی صفحه بروند.

کاربرد درست ویژگی autocomplete

مقدار درست autocomplete به مرورگر و صفحه‌خوان می‌گوید هر فیلد چه اطلاعاتی می‌خواهد و پر کردن فرم را برای همه آسان‌تر می‌کند.

شیوه‌های درست ۱۰۰ از ۱۰۰

در این بخش ایرادی پیدا نشد.

اطلاعات بیشتر (۳ مورد)
اثربخشی CSP در برابر حمله‌ی XSS

سیاست امنیت محتوا (CSP) جلوی اجرای کدهای مخرب تزریق‌شده در سایت را می‌گیرد و از اطلاعات بازدیدکنندگان محافظت می‌کند.

توضیحدستورشدت
`'unsafe-inline'` allows the execution of unsafe in-page scripts and event handlers. Consider using CSP nonces or hashes to allow scripts individually.script-srcHigh
جلوگیری از XSS مبتنی بر DOM با Trusted Types

قابلیت Trusted Types مرورگر را وادار می‌کند داده‌ها را پیش از قرار گرفتن در صفحه بررسی کند و جلوی تزریق کد مخرب را می‌گیرد.

توضیحشدت
No `Content-Security-Policy` header with Trusted Types directive foundHigh
قابلیت‌های وب و وضعیت Baseline

قابلیت‌های وب به‌کاررفته در صفحه را نشان می‌دهد و اینکه مرورگرهای رایج تا چه اندازه از هر کدام پشتیبانی می‌کنند.

قابلیت‌های وبمنبع
webstatus.dev/features/text-wrap-prettyteam.sefid.dev/:-1
webstatus.dev/features/referencetargetteam.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js:1
webstatus.dev/features/scrollendteam.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js:1
webstatus.dev/features/fetch-priorityteam.sefid.dev/:-1
webstatus.dev/features/text-wrapteam.sefid.dev/:-1
webstatus.dev/features/text-wrap-balanceteam.sefid.dev/:-1
webstatus.dev/features/aria-attribute-reflectionteam.sefid.dev/_next/static/chunks/39u3ld3zqxqqm.js:1
webstatus.dev/features/outlineteam.sefid.dev/:-1
webstatus.dev/features/overflow-clipteam.sefid.dev/:-1
webstatus.dev/features/focus-visibleteam.sefid.dev/:-1
webstatus.dev/features/color-schemeteam.sefid.dev/:1
webstatus.dev/features/referrer-policy

و ۱۲ مورد دیگر.

بررسی‌های قبول‌شده (۱۳ مورد؛ ۵ مورد هم به این صفحه مربوط نبود)
استفاده از HTTPS

HTTPS ارتباط بازدیدکننده با سایت را رمزگذاری می‌کند تا کسی نتواند اطلاعات او را ببیند یا تغییر دهد. مرورگرها سایت بدون آن را ناامن نشان می‌دهند.

درخواست موقعیت مکانی هنگام باز شدن صفحه

درخواست موقعیت مکانی بدون توضیح و در همان لحظه‌ی ورود، بازدیدکننده را بدبین می‌کند. بهتر است پس از یک اقدام خود او پرسیده شود.

درخواست اجازه‌ی اعلان هنگام باز شدن صفحه

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

امکان چسباندن متن در فیلدها

بستن امکان چسباندن در فیلدها بازدیدکننده را اذیت می‌کند و با از کار انداختن برنامه‌های مدیریت رمز، امنیت را هم کمتر می‌کند.

نسبت درست ابعاد عکس‌ها

عکسی که با نسبت ابعادی غیر از نسبت واقعی‌اش نمایش داده شود، کشیده یا فشرده دیده می‌شود و ظاهر سایت را غیرحرفه‌ای می‌کند.

وضوح مناسب عکس‌ها

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

تعریف doctype در HTML

نبود doctype باعث می‌شود مرورگر صفحه را در حالت قدیمی نمایش دهد و ظاهر سایت در مرورگرهای مختلف به‌هم بریزد.

تعریف رمزگذاری نویسه‌ها (charset)

اگر رمزگذاری صفحه درست اعلام نشود، حروف فارسی ممکن است به شکل نویسه‌های درهم و ناخوانا نمایش داده شوند.

قابلیت‌های منسوخ مرورگر

قابلیت‌های منسوخ دیر یا زود از مرورگرها حذف می‌شوند و بخشی از سایت که به آن‌ها وابسته است از کار می‌افتد.

کوکی‌های شخص ثالث

مرورگرها در بعضی شرایط کوکی‌های سایت‌های دیگر را مسدود می‌کنند. ابزارهایی که به این کوکی‌ها وابسته‌اند ممکن است از کار بیفتند.

خطاهای کنسول مرورگر

خطاهای ثبت‌شده در کنسول نشانه‌ی مشکلات حل‌نشده‌اند، مثل فایلی که بارگذاری نشده یا کدی که درست اجرا نمی‌شود.

معتبر بودن source mapها

source map کد فشرده را به کد اصلی وصل می‌کند تا برنامه‌نویس بتواند خطاهای سایت را سریع‌تر پیدا و رفع کند.

مشکلات بخش Issues در Chrome DevTools

مشکلاتی که مرورگر Chrome درباره‌ی صفحه ثبت کرده است، مثل خطاهای شبکه، تنظیمات امنیتی ناکافی و دیگر ایرادهای مرورگر.

تاریخچه‌ی گزارش‌ها هر اسکن این سایت، با تاریخش.

  1. تاریخموبایلدسکتاپسئوLCP
  2. ۷۳۹۱۱۰۰۱٫۸ ث

بیشتر

تفسیر گزارش PageSpeed و Core Web Vitals؛ هر عدد یعنی چه و اول چه چیزی را درست کنیم

تفسیر گزارش PageSpeed یعنی فهمیدن اینکه پشت هر عدد چه تجربه‌ای برای بازدیدکننده هست و کدام ایراد را باید اول درست کرد. این راهنما همه‌ی بخش‌های یک گزارش سرعت را به زبان ساده توضیح می‌دهد: امتیاز از ۱۰۰ و اینکه چطور حساب می‌شود، شاخص‌های حیاتی وب (LCP، INP و CLS)، TBT و FCP و Speed Index، گواهی SSL و HTTP/3، سئو، دسترس‌پذیری و آمادگی برای هوش مصنوعی؛ و در آخر یک ترتیب عملی برای درست کردن ایرادها.

تفسیر گزارش PageSpeed را از کجا شروع کنیم؟

گزارش سرعت در نگاه اول شلوغ است. قدم اول در تفسیر گزارش PageSpeed این است که از بالا به پایین و از کلی به جزئی بخوانید.

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

بعد عقربه‌ها می‌آیند. هر عقربه یک امتیاز از ۱۰۰ است و رنگش از قاعده‌ی خود Lighthouse می‌آید. طبق مستندات امتیازدهی Lighthouse، ۹۰ تا ۱۰۰ سبز و خوب است، ۵۰ تا ۸۹ نارنجی و نیازمند بهبود، و ۰ تا ۴۹ قرمز و ضعیف. در گزارش ما کنار رنگ، شکل هم هست (دایره برای خوب، مربع برای متوسط و مثلث برای ضعیف) تا کسی که رنگ‌ها را خوب تشخیص نمی‌دهد هم بتواند گزارش را بخواند.

هفت امتیاز گزارش این‌هاست: سرعت موبایل، سرعت دسکتاپ، سئو، گواهی SSL، آمادگی برای هوش مصنوعی، دسترس‌پذیری و شیوه‌های درست. چهار تای آن‌ها (دو سرعت، سئو، دسترس‌پذیری و شیوه‌های درست) خروجی مستقیم Lighthouse است، همان موتوری که PageSpeed Insights گوگل دارد. امتیاز SSL و هوش مصنوعی را بررسی‌های جداگانه‌ی خود ابزار می‌دهند و پایین‌تر توضیحشان می‌دهیم.

امتیاز Performance چطور حساب می‌شود؟

امتیاز سرعت (Performance) یک نمره‌ی جادویی نیست؛ میانگین وزن‌دار پنج سنجه است. طبق همان مستندات Lighthouse، وزن‌ها در نسخه‌های فعلی این‌طور است: TBT سی درصد، LCP بیست‌وپنج درصد، CLS بیست‌وپنج درصد، FCP ده درصد و Speed Index ده درصد.

یعنی سه سنجه هشتاد درصد امتیاز را می‌سازند: TBT، LCP و CLS. برای همین در تفسیر گزارش PageSpeed به جای خیره شدن به عدد کلی، ببینید کدام سنجه قرمز است.

دو نکته را هم بدانید. اول اینکه امتیاز از یک تست تا تست بعد چند واحد بالا و پایین می‌شود. مستندات Lighthouse دلیل‌هایی مثل تبلیغ‌های متغیر، تغییر مسیر اینترنت و تفاوت دستگاه را نام می‌برد و پیشنهاد می‌کند سرعت را یک پراکندگی ببینید، نه یک عدد ثابت. دوم اینکه امتیاز موبایل و دسکتاپ را با هم مقایسه نکنید؛ تست موبایل یک گوشی میان‌رده با اینترنت همراه را شبیه‌سازی می‌کند و طبیعی است که پایین‌تر باشد. برای گوگل هم موبایل مهم‌تر است، چون طبق راهنمای جستجوی گوگل نسخه‌ی موبایل سایت برای ایندکس و رتبه‌بندی به کار می‌رود.

Core Web Vitals به زبان ساده: LCP، INP و CLS

گوگل سه سنجه را «شاخص‌های حیاتی وب» یا Core Web Vitals نامیده است، چون هر کدام یک بخش اصلی تجربه‌ی بازدیدکننده را می‌سنجد: بار شدن، پاسخ دادن و ثبات. گوگل در راهنمای جستجو درباره‌ی Core Web Vitals می‌گوید این سنجه‌ها با چیزی هم‌سو هستند که سیستم‌های اصلی رتبه‌بندی‌اش می‌خواهند پاداش بدهند. آستانه‌های زیر همه از مقاله‌ی تعیین آستانه‌های Core Web Vitals در web.dev است.

LCP: بخش اصلی صفحه کی دیده می‌شود؟

LCP لحظه‌ای است که بزرگ‌ترین متن یا عکس صفحه روی صفحه‌نمایش می‌آید؛ معمولا عکس اصلی بالای صفحه، اسلایدر یا تیتر بزرگ. این همان لحظه‌ای است که بازدیدکننده حس می‌کند «صفحه باز شد». LCP تا ۲٫۵ ثانیه خوب است و بیشتر از ۴ ثانیه ضعیف.

دلیل‌های رایج LCP بد: سروری که دیر جواب می‌دهد، عکس اصلی سنگین یا بزرگ‌تر از اندازه‌ی نمایش، عکسی که مرورگر دیر پیدایش می‌کند (مثلا چون با جاوااسکریپت اضافه می‌شود یا «بارگذاری تنبل» رویش گذاشته‌اند)، و فایل‌های CSS و جاوااسکریپتی که تا کامل نرسند جلوی نمایش را می‌گیرند. در گزارش، بخشی به نام «جزئیات زمان LCP» هست که زمان را به مرحله‌ها تقسیم می‌کند تا معلوم شود تأخیر از سرور است، از دانلود یا از نمایش.

CLS: صفحه چقدر می‌پرد؟

حتما برایتان پیش آمده که می‌خواهید روی لینکی بزنید و همان لحظه عکسی بالای صفحه بار می‌شود و انگشتتان روی چیز دیگری می‌نشیند. CLS همین پرش‌ها را جمع می‌زند. عددش بی‌واحد است: تا ۰٫۱ خوب و بیشتر از ۰٫۲۵ ضعیف.

رایج‌ترین دلیل‌ها: عکس و ویدیویی که اندازه‌اش در کد مشخص نشده، تبلیغ یا بنری که بعدا بالای محتوا اضافه می‌شود، و فونتی که دیر می‌رسد و اندازه‌ی متن را عوض می‌کند. بخش «عامل‌های جابه‌جایی چیدمان» در گزارش دقیقا همین عنصرها را نشان می‌دهد.

INP و TBT: صفحه به لمس جواب می‌دهد؟

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

برای همین web.dev می‌گوید ابزارهای آزمایشگاهی مثل Lighthouse به جای INP، سنجه‌ی TBT را گزارش می‌کنند، چون بهتر شدن TBT در آزمایشگاه معمولا INP واقعی را هم بهتر می‌کند. TBT جمع زمان‌هایی است که مرورگر سرش با اجرای کد گرم است و نمی‌تواند به کاربر جواب بدهد. طبق مقاله‌ی TBT در web.dev، هر کاری که بیش از ۵۰ میلی‌ثانیه طول بکشد «طولانی» حساب می‌شود و فقط مقدار بیش از ۵۰ میلی‌ثانیه‌اش در TBT جمع می‌شود؛ همان مقاله هدف کمتر از ۲۰۰ میلی‌ثانیه روی سخت‌افزار موبایل معمولی را پیشنهاد می‌کند.

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

اگر سایت شما بازدید کافی داشته باشد، PageSpeed Insights گوگل بالای نتیجه‌اش داده‌ی کاربران واقعی Chrome را هم نشان می‌دهد، از جمله INP واقعی. طبق راهنمای PageSpeed Insights این داده مربوط به ۲۸ روز گذشته و صدک ۷۵ است. گزارش تیم سفید آزمایشگاهی است و چنین داده‌ای ندارد؛ این دو مکمل هم هستند، نه جایگزین هم.

FCP، Speed Index و پاسخ سرور (TTFB)

سه عدد دیگر هم در بخش سرعت هست که به تفسیر گزارش PageSpeed کمک می‌کنند، حتی اگر وزن کمتری داشته باشند.

FCP (نخستین نمایش محتوا) لحظه‌ای است که اولین متن یا عکس روی صفحه می‌آید و صفحه‌ی سفید تمام می‌شود. طبق web.dev، تا ۱٫۸ ثانیه خوب و بیشتر از ۳ ثانیه ضعیف است. اگر FCP بد باشد، بازدیدکننده مدتی به صفحه‌ی خالی نگاه می‌کند و شک می‌کند که اصلا چیزی بار می‌شود.

Speed Index (شاخص سرعت) می‌گوید صفحه با چه سرعتی جلوی چشم پر می‌شود. Lighthouse از بار شدن صفحه فیلم می‌گیرد و پیشرفت تصویر را فریم به فریم می‌سنجد. طبق مستندات Speed Index، روی موبایل تا ۳٫۴ ثانیه سبز و بیشتر از ۵٫۸ ثانیه قرمز است.

پاسخ سرور (TTFB) زمانی است که طول می‌کشد تا سرور اولین بایت صفحه را بفرستد. این عدد جزو امتیاز Lighthouse نیست، ولی در گزارش ما جدا آمده چون پایه‌ی همه‌ی عددهای دیگر است: تا سرور جواب ندهد، هیچ چیزی شروع نمی‌شود. web.dev تا ۰٫۸ ثانیه را خوب و بیشتر از ۱٫۸ ثانیه را ضعیف می‌داند و رنگ این ردیف در گزارش ما از همین آستانه‌ها می‌آید. TTFB بالا معمولا یعنی هاست شلوغ، سرور دور از بازدیدکننده، نبود کش صفحه یا کدهای سنگین سمت سرور؛ در سایت‌های وردپرسی، افزونه‌های زیاد و پایگاه داده‌ی تنظیم‌نشده هم دلیل رایجی است.

فهرست ایرادها را چطور بخوانیم؟

زیر عددها، فهرست «چیزهایی که سرعت را گرفته‌اند» آمده است. در گزارش ما این فهرست به ترتیب زمانی که درست کردن هر ایراد آزاد می‌کند مرتب شده؛ یعنی هر چه بالاتر، اثرش بیشتر. هر ایراد را باز کنید تا سه چیز ببینید: یک توضیح فارسی ساده، تخمین Lighthouse از اثرش (مثلا «اگر درست شود: LCP حدود فلان میلی‌ثانیه سریع‌تر»)، و جدولی از فایل‌ها یا عنصرهایی که مشکل دارند.

این تخمین‌ها راهنما هستند، نه قول؛ Lighthouse آن‌ها را از شبیه‌سازی حساب می‌کند. ولی برای اولویت‌بندی عالی‌اند. چند ایراد که در گزارش‌ها زیاد می‌بینیم:

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

زیر فهرست ایرادها دو بخش تاشده هم هست. «اطلاعات بیشتر» چیزهایی است که امتیاز ندارند ولی برای فهم صفحه مفیدند. «بررسی‌های قبول‌شده» هم نشان می‌دهد چه چیزهایی سنجیده شده و درست بوده است؛ این بخش را نادیده نگیرید، چون می‌گوید روی چه چیزهایی لازم نیست وقت بگذارید.

بخش «وزن صفحه» هم حجم کل و تعداد درخواست‌ها را به تفکیک نوع فایل نشان می‌دهد؛ اگر یک نوع بیشتر حجم را گرفته، همان‌جا را نگاه کنید.

گواهی SSL و هدرهای امنیتی

گواهی SSL همان چیزی است که نشانی سایت را از http به https می‌برد و اطلاعاتی را که بین بازدیدکننده و سایت رد و بدل می‌شود رمز می‌کند. سایتی که گواهی ندارد یا گواهی‌اش مشکل دارد، در مرورگر با هشدار «ناامن» دیده می‌شود.

امتیاز SSL در گزارش ما یک بررسی جداگانه است و این‌طور کار می‌کند: از ۱۰۰ شروع می‌شود؛ ایرادهای جدی مثل گواهی منقضی‌شده، گواهی‌ای که برای این دامنه صادر نشده، گواهی خودامضا یا زنجیره‌ی ناقص سقف امتیاز را پایین می‌آورند؛ و ایرادهای کوچک‌تر چند امتیاز کم می‌کنند: نزدیک بودن پایان اعتبار، روشن ماندن نسخه‌های قدیمی و ناامن TLS 1.0 و 1.1، و پشتیبانی نشدن TLS 1.3 که سریع‌ترین و امن‌ترین نسخه است. کنار امتیاز، صادرکننده و تعداد روزهای مانده تا پایان اعتبار هم آمده است. اگر این عدد کم است، تمدید خودکار گواهی را وارسی کنید.

زیر SSL، شش هدر امنیتی فهرست شده‌اند: HSTS، Content-Security-Policy، X-Content-Type-Options، X-Frame-Options، Referrer-Policy و Permissions-Policy. هدر یعنی پیام کوتاهی که سرور همراه صفحه به مرورگر می‌فرستد. این‌ها روی سرعت اثری ندارند، ولی جلوی حمله‌هایی مثل اجرای کد تزریق‌شده یا نمایش سایت شما داخل قاب یک سایت دیگر را می‌گیرند.

HTTP/2 و HTTP/3، فشرده‌سازی و تغییر مسیرها

بخش «شبکه و پروتکل» می‌گوید سایت با چه زبانی با مرورگر حرف می‌زند. HTTP زبان اصلی وب است و نسخه‌هایش فرق بزرگی در سرعت دارند. در HTTP/1.1 قدیمی، مرورگر فایل‌ها را تقریبا یکی‌یکی می‌گیرد؛ HTTP/2 چند فایل را همزمان روی یک اتصال می‌فرستد؛ و HTTP/3 روی پایه‌ی تازه‌ای به نام QUIC ساخته شده که در اینترنت ناپایدار، مثل اینترنت همراه، بهتر رفتار می‌کند.

ابزار ما HTTP/2 را از خود اتصال امن ثابت می‌کند. HTTP/3 را از اعلام خود سرور می‌خواند (هدری به نام Alt-Svc)، چون برای آزمایش مستقیم آن ابزار جداگانه‌ای لازم است؛ برای همین در گزارش نوشته‌ایم «اعلام‌شده». اگر سایتی هنوز فقط HTTP/1.1 دارد، این از ایرادهای مهمی است که در خلاصه‌ی بالای گزارش هم می‌آید، و معمولا با یک تنظیم در سرور یا CDN درست می‌شود.

چند ردیف دیگر این بخش:

  • فرستادن HTTP به HTTPS: کسی که نشانی را بدون https می‌نویسد باید خودکار به نسخه‌ی امن برسد.
  • فشرده‌سازی: متن صفحه با Brotli، Zstandard یا gzip فشرده فرستاده می‌شود یا نه. فشرده‌سازی حجم فایل‌های متنی را خیلی کم می‌کند.
  • HSTS: به مرورگر می‌گوید از این به بعد همیشه با HTTPS بیاید.
  • تغییر مسیر تا صفحه‌ی اصلی: هر تغییر مسیر (مثلا از نسخه‌ی بدون www به www و بعد به https) یک رفت‌وبرگشت اضافه است. یکی طبیعی است؛ بیشتر از آن زمان هدر می‌دهد.

سئو تکنیکال، دسترس‌پذیری و شیوه‌های درست

سئو در گزارش دو بخش دارد. اول بررسی‌های پایه‌ی خود ابزار: عنوان و توضیح صفحه، تیتر اصلی، نشانی اصلی (canonical)، اجازه‌ی ایندکس، زبان صفحه، تنظیم موبایل، پیش‌نمایش اشتراک‌گذاری در شبکه‌های اجتماعی، داده‌ی ساختاریافته (Schema)، متن جایگزین عکس‌ها، robots.txt و نقشه‌ی سایت. بعد بررسی‌های سئوی Lighthouse با امتیاز از ۱۰۰. امتیاز سئوی Lighthouse بیشتر می‌گوید گوگل می‌تواند صفحه را درست بخواند یا نه؛ امتیاز ۱۰۰ در این بخش یعنی ایراد فنی پایه‌ای نیست، نه اینکه سایت در گوگل اول است. محتوا، لینک‌ها و اعتبار سایت را هیچ گزارش خودکاری نمی‌سنجد. ولی ایرادهایی مثل noindex اشتباهی، robots.txt که کل سایت را بسته یا نبودن تیتر و عنوان، جدی هستند و باید فورا درست شوند.

دسترس‌پذیری یعنی اینکه سایت برای همه قابل استفاده باشد: کسی که با صفحه‌خوان کار می‌کند، کسی که چشمش ضعیف است، کسی که فقط با صفحه‌کلید کار می‌کند. طبق مستندات امتیاز دسترس‌پذیری Lighthouse، این امتیاز میانگین وزن‌دار بررسی‌های خودکار است و هر بررسی یا کامل قبول می‌شود یا صفر می‌گیرد؛ اگر فقط یکی از دکمه‌ها نام نداشته باشد، کل آن بررسی رد می‌شود. همان مستندات بررسی‌های دستی‌ای را جدا فهرست می‌کنند که در امتیاز حساب نمی‌شوند. پس امتیاز ۱۰۰ دسترس‌پذیری یعنی ایراد خودکاری پیدا نشد، نه اینکه سایت برای همه بی‌نقص است. ایرادهای رایج: تضاد کم رنگ متن با زمینه، دکمه‌ها و لینک‌های بی‌نام و عکس‌های بدون متن جایگزین.

شیوه‌های درست چیزهایی مثل استفاده از HTTPS و نبود خطا در کنسول مرورگر را می‌سنجد؛ کمتر به چشم می‌آید، ولی نشان می‌دهد سایت چقدر تمیز ساخته شده است.

آمادگی سایت برای هوش مصنوعی

این بخش در گزارش‌های معمول سرعت نیست و تازه است. سوالش ساده است: آیا ChatGPT، Claude و ایجنت‌های هوش مصنوعی دیگر می‌توانند وارد سایت شما شوند، آن را بخوانند و با آن کار کنند؟ سایتی که این ابزارها نتوانند بخوانند، در جوابشان هم نیست.

بررسی‌ها همان‌هایی است که ابزار isitagentready کلادفلر انجام می‌دهد، در پنج گروه: اجازه‌ی ورود (قانون ربات‌های هوش مصنوعی در robots.txt و اعلام اجازه‌ی استفاده از محتوا)، پیدا شدن (robots.txt، نقشه‌ی سایت، فایل llms.txt)، محتوا (اینکه سایت به ایجنت نسخه‌ی Markdown سبک‌تر می‌دهد یا نه)، پروتکل‌ها (مثل کارت سرور MCP) و خرید توسط ایجنت که فقط نشان داده می‌شود و در امتیاز حساب نمی‌شود. کنارش یک آزمایش واقعی هم هست که بیشترین وزن را دارد: صفحه‌ی اصلی را با شناسه‌ی ایجنت‌های ChatGPT و Claude درخواست می‌کنیم و می‌بینیم سایت جواب می‌دهد یا صفحه‌ی چالش و مسدودی نشان می‌دهد. گاهی فایروال یا CDN بی‌آنکه صاحب سایت بداند همین ایجنت‌ها را می‌بندد.

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

اول چه چیزی را درست کنیم؟ ترتیب عملی در تفسیر گزارش PageSpeed

حالا که همه‌ی بخش‌ها را می‌شناسید، مهم‌ترین سوال: از کجا شروع کنیم؟ ترتیبی که پیشنهاد می‌کنیم بر اساس دو چیز است: اثر روی بازدیدکننده و گوگل، و سختی کار.

  1. هر چیزی که سایت را از دسترس خارج می‌کند. گواهی منقضی یا نامعتبر، noindex اشتباهی روی صفحه‌ی اصلی، robots.txt که کل سایت را بسته است. این‌ها فوری‌اند، چون یا بازدیدکننده را با هشدار می‌ترسانند یا سایت را از گوگل بیرون نگه می‌دارند.
  2. پاسخ سرور. اگر TTFB قرمز است، از اینجا شروع کنید. روی سرور کند، بهینه‌سازی صفحه فقط بخشی از مشکل را حل می‌کند. کش صفحه، به‌روز کردن نسخه‌ی PHP یا رفتن از هاست اشتراکی شلوغ به سرور اختصاصی معمولا همین‌جا اثر می‌کند.
  3. LCP موبایل. عکس اصلی را سبک و هم‌اندازه‌ی نمایش کنید، بارگذاری تنبل را از رویش بردارید و فایل‌های مانع نمایش را کم کنید.
  4. TBT. افزونه‌ها و اسکریپت‌های اضافه را حذف کنید، کدهای شخص ثالث را بازبینی کنید و جاوااسکریپت بی‌استفاده را کنار بگذارید.
  5. CLS. به عکس‌ها و قاب‌ها اندازه بدهید و برای تبلیغ و بنر از قبل جا نگه دارید. معمولا سریع درست می‌شود.
  6. پروتکل و فشرده‌سازی. HTTP/2 یا HTTP/3، Brotli و کش طولانی فایل‌های ثابت. بیشترشان تنظیم سرور هستند، نه تغییر سایت.
  7. ایرادهای سئو، دسترس‌پذیری و هدرهای امنیتی. هر کدام جداگانه کار کمی می‌برد و با هم سایت را تمیز و قابل اعتماد می‌کنند.

یک قانون هم همیشه برقرار است: داخل هر بخش، ایرادهای بالای فهرست را اول درست کنید؛ همان‌هایی که بیشترین زمان را آزاد می‌کنند.

بعد از درست کردن: دوباره تست کنید

هر تغییری که می‌دهید، اثرش را با یک تست تازه وارسی کنید و نتیجه را با تست قبلی همان ابزار مقایسه کنید، نه با ابزار دیگر. در تیم سفید یک روز بعد از هر گزارش دکمه‌ی «اسکن جدید» روی گزارش می‌آید و همه‌ی گزارش‌های قبلی با تاریخشان در بخش تاریخچه می‌مانند؛ پس می‌توانید ببینید امتیاز موبایل، دسکتاپ، سئو و LCP در طول زمان چطور تغییر کرده است. چون امتیاز طبیعتا چند واحد نوسان دارد، به روند چند تست نگاه کنید، نه به یک عدد.

نسخه‌ی PDF همین گزارش هم رایگان است و همه‌ی ایرادها را باز و کامل دارد؛ برای فرستادن به طراح یا برنامه‌نویس سایت مناسب است. اگر می‌خواهید سایت دیگری را بسنجید، از صفحه‌ی تست سرعت سایت شروع کنید، و برای دیدن اینکه سایت‌های سریع ایرانی کجا ایستاده‌اند، فهرست سریع‌ترین سایت‌های ایران را ببینید.

اگر نمی‌خواهید خودتان درگیر شوید

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

  • بهینه‌سازی سرعت سایت: ایرادهای بخش سرعت را یکی‌یکی درست می‌کنیم؛ ۱۰ میلیون تومان، با تحویل در ۷ روز.
  • پیکربندی سرور وردپرس: برای سایت وردپرسی که سرورش دیر جواب می‌دهد، سرور اختصاصی خود شما با پیکربندی مخصوص همان سایت؛ ۱۵ میلیون تومان، با تحویل در ۳ روز.
  • سئو تکنیکال: ایرادهای فنی که جلوی دیده شدن در گوگل را گرفته‌اند؛ ۱۵ میلیون تومان، با تحویل در ۷ روز.

هر سه کار ۷ روز پشتیبانی رایگان دارند و اگر عجله دارید، با دو برابر هزینه زودتر تحویل می‌شوند (مثلا سئو تکنیکال در ۲ روز). برای هر سوالی هم می‌توانید با ما تماس بگیرید.

پرسش‌های رایج

چرا عدد این گزارش با PageSpeed Insights گوگل فرق دارد؟

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

در تفسیر گزارش PageSpeed مهم‌ترین عدد کدام است؟

برای بیشتر سایت‌ها LCP موبایل، چون هم بیشترین اثر را روی حس بازدیدکننده دارد و هم جزو Core Web Vitals است. بعد از آن TBT، که بیشترین وزن را در امتیاز دارد.

INP سایت من را از کجا ببینم؟

INP فقط از کاربران واقعی جمع می‌شود. اگر سایتتان بازدید کافی داشته باشد، PageSpeed Insights و گزارش Core Web Vitals در Search Console آن را نشان می‌دهند. در تست آزمایشگاهی، TBT نزدیک‌ترین نشانه به آن است.

امتیاز ۱۰۰ لازم است؟

نه. هدف این است که سنجه‌ها در محدوده‌ی خوب باشند و سایت برای آدم‌ها سریع باشد. رسیدن از قرمز به سبز ارزش زیادی دارد؛ چند واحد آخر معمولا نه.

چرا فقط صفحه‌ی اصلی تست شده است؟

قاعده‌ی این ابزار است: هر نشانی‌ای نوشته شود، صفحه‌ی اصلی همان دامنه تست می‌شود. برای صفحه‌های داخلی می‌توانید از Lighthouse داخل Chrome یا PageSpeed Insights استفاده کنید؛ همین راهنما برای خواندن نتیجه‌ی آن‌ها هم کار می‌کند.