گزارش سایت (۲ روز پیش)تست از سرور ایران (تهران)

sismonirozhan.com

تست یک سایت دیگردانلود PDF گزارش

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

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

قدم بعدی

به شما کمک می‌کنیم تا سایت خود را سریع‌تر کنید؛ از مشاوره‌ی رایگان ما استفاده کنید. تجربه‌ی بهینه‌سازی بیش از ۳۵۰ سایت، با رضایت ۱۰۰ درصد.

سفارش بهینه‌سازی سرعت سایت

۲۰ میلیون تومان ۱۵ میلیون تومان، یک بار، تحویل ۷ روز. دقیقا چه کاری انجام می‌دهیم

نام و شماره‌تان را بنویسید؛ خودمان با شما تماس می‌گیریم.

  • بک‌آپ‌گیری پیش از تسک
  • بدون قطعی
  • گزارش PDF پس از پایان کار
  • تضمین کیفیت تسک
  • ۱۰۰ درصد رضایت مشتری

وقتی زمان باز شدن صفحه از ۱ ثانیه به ۳ ثانیه می‌رسد، احتمال اینکه بازدیدکننده برود ۳۲٪ بیشتر می‌شود. هر ثانیه که کم شود، مشتری بیشتری صفحه‌ی شما را می‌بیند. (منبع: گوگل)

۰۲٫۵۴۱۰میانه‌ی ایران۲٫۵
چند ثانیه طول می‌کشد تا صفحه روی گوشی دیده شود

سایت شما از ۴٪ سایت‌های ایرانی‌ای که از تهران تست کرده‌ایم کندتر است.

چرا سایت شما کند است

  1. سرور یا هاست شماپیش از اینکه چیزی روی صفحه بیاید، ۳٫۶ ثانیه طول می‌کشد تا سرور جواب اول را بدهد؛ سرور خوب کمتر از ۰٫۸ ثانیه جواب می‌دهد. بیشتر هاست‌ها اشتراکی‌اند: یک سرور میان صدها سایت دیگر تقسیم شده و سهم سایت شما از پردازنده و حافظه کم است. گاهی هم هاست کیفیت پایینی دارد، یا سرور برای این سایت تنظیم نشده است. در سایت وردپرسی، دیتابیس شلوغ هم دلیل رایج دیگری برای همین کندی است.اگر درست شود، صفحه حدود ۷٫۴ ثانیه زودتر دیده می‌شود.
  2. سایت برای سرعت بهینه نشده استسایت طوری ساخته شده که تا چند فایل کد کامل نرسد، صفحه چیزی نشان نمی‌دهد؛ عکس اصلی بالای صفحه هم دیر شروع به آمدن می‌کند. بازدیدکننده‌ای هم که دوباره می‌آید، همه‌چیز را از اول دانلود می‌کند. این‌ها با بهینه‌سازی خود سایت درست می‌شوند، بی آنکه ظاهر سایت عوض شود.اگر درست شود، صفحه حدود ۸۵۰ میلی‌ثانیه زودتر دیده می‌شود.
  3. عکس‌های سایت بهینه نشده‌اندعکس‌ها بزرگ‌تر و سنگین‌تر از جایی هستند که روی صفحه نشان داده می‌شوند؛ با فرمت‌های سبک‌تر (WebP و AVIF) و اندازه‌ی درست، همان عکس‌ها خیلی زودتر می‌رسند.
  4. قالب و افزونه‌های سایت سنگین‌اندصفحه‌ی اصلی ۱٫۲ مگابایت حجم دارد. قالب و افزونه‌های سایت کدهای سنگینی دارند و گوشی باید همه را دانلود و اجرا کند تا صفحه آماده شود. بخش زیادی از این کدها در همین صفحه به کاری نمی‌آیند.

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

همه‌ی سایت در یک نگاه

چرا عدد ما با PageSpeed گوگل فرق دارد، و چه چیزی بیشتر دارد

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

PageSpeed گوگلاین گزارش
جای تستسرورهای گوگل، بیرون از ایرانتهران؛ همان مسیری که مشتری ایرانی شما می‌آید
جواب اولامتیاز و پنج عدد انگلیسییک جمله‌ی فارسی: چند ثانیه، خوب یا کند
مقایسهنداردکنار سایت‌های ایرانی دیگری که از تهران تست کرده‌ایم
بیرون از سرعتفقط همان موتور Lighthouseگواهی SSL، هاست، سئو فنی و آمادگی برای هوش مصنوعی
تاریخچهندارد؛ هر بار از اولهمه‌ی تست‌ها با تاریخ، در یک نشانی ثابت، با PDF
بعدششما می‌مانید و فهرست ایرادهااگر بخواهید، خودمان درستش می‌کنیم؛ و یک آدم واقعی جواب سوال شما را می‌دهد

کار با ما چطور پیش می‌رود

  1. سفارش و پرداختبهینه‌سازی سرعت سایت، ۱۵ میلیون تومان، یک بار. قیمت همین است و وسط کار چیزی به آن اضافه نمی‌شود.
  2. دسترسی، فقط بعد از پرداختاطلاعات ورود به سایت را فقط بعد از پرداخت از شما می‌گیریم و رمزشده نگه می‌داریم.
  3. نسخه‌ی پشتیبان و کارپیش از شروع، از کل سایت نسخه‌ی پشتیبان می‌گیریم تا اگر لازم شد، سایت به حال قبل برگردد. کار در ۷ روز تحویل می‌شود.
  4. تحویل، با گزارش تازهگزارش تازه‌ی همین ابزار کنار گزارش امروز در تاریخچه می‌ماند تا خودتان دو گزارش را کنار هم ببینید. بعد از تحویل هم ۷ روز پشتیبانی رایگان دارید.
سفارش بهینه‌سازی سرعت سایت

۲۰ میلیون تومان ۱۵ میلیون تومان، یک بار، تحویل ۷ روز. دقیقا چه کاری انجام می‌دهیم

نام و شماره‌تان را بنویسید؛ خودمان با شما تماس می‌گیریم.

گزارش فنی کامل

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

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

۵۸

نیاز به بهبود

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

وزن صفحه ۱٫۱۳ مگابایت در ۱۸۳ درخواست

  • عکس: ۵۳۰ کیلوبایت
  • جاوااسکریپت: ۳۰۲ کیلوبایت
  • فونت: ۱۷۶ کیلوبایت
  • CSS: ۹۶ کیلوبایت
  • HTML: ۵۱ کیلوبایت
  • داده (XHR): ۱٫۲ کیلوبایت
  • سایر: ۶۳۱ بایت

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

زمان رسیدن خود صفحه از سرورصرفه‌جویی حدود ۳٬۶۹۰ میلی‌ثانیه

اولین چیزی که مرورگر از سایت می‌گیرد، خود صفحه (HTML) است و همه‌ی فایل‌های دیگر منتظر آن می‌مانند. این بخش سه چیز را می‌سنجد: سرور زود جواب بدهد، صفحه به نشانی دیگری فرستاده نشود (redirect) و متن صفحه فشرده فرستاده شود.

اگر درست شود: FCP حدود ۳٫۷ ثانیه سریع‌تر، LCP حدود ۳٫۷ ثانیه سریع‌تر.

  • بدون تغییر مسیر
  • Server responded slowly (observed 3788 ms)
  • فشرده‌سازی متن فعال است
مرورگر وقتش را کجا می‌گذارد (main thread)۱۱٫۷ ثانیه

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

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

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

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

اگر درست شود: TBT حدود ۶۵۰ میلی‌ثانیه سریع‌تر.

نشانیکل زمان پردازندهاجرای اسکریپتخواندن اسکریپت
sismonirozhan.com/۵٫۱ ثانیه۱۶۰ میلی‌ثانیه۳۰ میلی‌ثانیه
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1۲٫۴ ثانیه۱٫۳ ثانیه۱۰ میلی‌ثانیه
Unattributable۱٫۹ ثانیه۲۰ میلی‌ثانیه۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/scripts/global/swiperInit.min.js?ver=8.5.1۱٫۱ ثانیه۳۰۰ میلی‌ثانیه۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/libs/swiper.min.js?ver=8.5.1۱۶۰ میلی‌ثانیه۴۰ میلی‌ثانیه۱۰ میلی‌ثانیه
sismonirozhan.com/wp-content/plugins/digits/assets/js/libphonenumber-max.js۸۰ میلی‌ثانیه۵۰ میلی‌ثانیه۳۰ میلی‌ثانیه
sismonirozhan.com/wp-content/plugins/woocommerce/assets/js/frontend/order-attribution.min.js?ver=11.0.1۶۰ میلی‌ثانیه۶۰ میلی‌ثانیه۰ میلی‌ثانیه
sismonirozhan.com/wp-content/uploads/elementor/google-fonts/css/roboto.css?ver=1758438643۶۰ میلی‌ثانیه۰ میلی‌ثانیه۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/scripts/global/scrollBar.min.js?ver=8.5.1۶۰ میلی‌ثانیه۰ میلی‌ثانیه۰ میلی‌ثانیه
sismonirozhan.com/wp-content/plugins/elementor/assets/lib/font-awesome/css/fontawesome.min.css?ver=5.15.3۵۰ میلی‌ثانیه۰ میلی‌ثانیه۰ میلی‌ثانیه
sismonirozhan.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.2.3۵۰ میلی‌ثانیه۵۰ میلی‌ثانیه۱۰ میلی‌ثانیه
CSS و JavaScript پیش از نمایش صفحه (render-blocking)صرفه‌جویی حدود ۵۱۰ میلی‌ثانیه

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

اگر درست شود: FCP حدود ۵۰۰ میلی‌ثانیه سریع‌تر.

نشانیحجم انتقالمدت
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1۲۹ کیلوبایت۱۵۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/scripts/global/scrollBar.min.js?ver=8.5.1۳۱۳ بایت
sismonirozhan.com/wp-content/plugins/woocommerce/assets/j…ui/jquery.blockUI.min.js?ver=2.7.0-wc.11.0.1۳٫۳ کیلوبایت
sismonirozhan.com/wp-content/themes/woodmart/js/libs/device.min.js?ver=8.5.1۱٫۲ کیلوبایت
sismonirozhan.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1۴٫۶ کیلوبایت
sismonirozhan.com/wp-content/uploads/elementor/google-fonts/css/roboto.css?ver=1758438643۱٫۹ کیلوبایت
sismonirozhan.com/wp-content/uploads/elementor/google-fonts/css/robotoslab.css?ver=1758438475۷۹۳ بایت
sismonirozhan.com/wp-content/themes/woodmart-child/style.css?ver=8.5.1۲۰۶ بایت
sismonirozhan.com/wp-content/themes/woodmart/css/parts/woocommerce-base-rtl.css?ver=8.5.1۹۸۴ بایت
sismonirozhan.com/wp-content/uploads/elementor/css/post-13.css?ver=1790621730۷۶۵ بایت
sismonirozhan.com/wp-content/plugins/elementor/assets/css/conditionals/shapes.min.css?ver=4.2.3۲۸۰ بایت
sismonirozhan.com/wp-content/plugins/elementor/assets/lib…ons/styles/e-animation-bob.min.css?ver=4.2.3۲۷۵ بایت

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

نگه داشتن فایل‌ها در مرورگر (cache)صرفه‌جویی حدود ۱۱۰ کیلوبایت

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

اگر درست شود: FCP حدود ۱۵۰ میلی‌ثانیه سریع‌تر، LCP حدود ۳۰۰ میلی‌ثانیه سریع‌تر.

درخواستمدت نگهداری در مرورگرحجم انتقال
sismonirozhan.com/wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.woff2۶۰۴٬۸۰۰ ثانیه۷۶ کیلوبایت
sismonirozhan.com/wp-content/plugins/digits/assets/js/libphonenumber-max.js۶۰۴٬۸۰۰ ثانیه۵۹ کیلوبایت
sismonirozhan.com/wp-content/uploads/2025/05/Bazi-Va-Sargarmi.webp۶۰۴٬۸۰۰ ثانیه۴۸ کیلوبایت
sismonirozhan.com/wp-content/uploads/2025/05/Imeni-Va-Moraghebat.webp۶۰۴٬۸۰۰ ثانیه۳۹ کیلوبایت
sismonirozhan.com/wp-content/uploads/2023/06/SismoniRozhanLogo.webp۶۰۴٬۸۰۰ ثانیه۳۶ کیلوبایت
sismonirozhan.com/wp-content/uploads/2026/08/Banner-New-Sismoni3-768x288.webp۶۰۴٬۸۰۰ ثانیه۳۲ کیلوبایت
sismonirozhan.com/wp-content/uploads/2026/04/iransansweb.woff2۶۰۴٬۸۰۰ ثانیه۳۱ کیلوبایت
sismonirozhan.com/wp-content/uploads/2026/08/Banner-New-Sismoni2-768x288.webp۶۰۴٬۸۰۰ ثانیه۳۱ کیلوبایت
sismonirozhan.com/wp-content/themes/woodmart/js/libs/swiper.min.js?ver=8.5.1۶۰۴٬۸۰۰ ثانیه۲۹ کیلوبایت
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1۶۰۴٬۸۰۰ ثانیه۲۹ کیلوبایت
sismonirozhan.com/wp-content/uploads/2026/04/IRANSansWeb_Bold.woff2۶۰۴٬۸۰۰ ثانیه۲۹ کیلوبایت
sismonirozhan.com/wp-content/uploads/2026/04/IRANSansWeb_Medium.woff2۶۰۴٬۸۰۰ ثانیه۲۹ کیلوبایت

و ۱۶۷ مورد دیگر.

حجم عکس‌هاصرفه‌جویی حدود ۱۱۸ کیلوبایت

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

اگر درست شود: LCP حدود ۱۵۰ میلی‌ثانیه سریع‌تر.

نشانیحجم منبعصرفه‌جویی تقریبی
<img decoding="async" width="350" height="350" src="https://sismonirozhan.com/wp-content/uploads/2025/05/Bazi-Va-Sargarmi.webp" class="elementor-animation-bob attachment-full size-full wp-image-82803" alt="" srcset="https://sismonirozhan.co…sismonirozhan.com/wp-content/uploads/2025/05/Bazi-Va-Sargarmi.webp۴۸ کیلوبایت۴۷ کیلوبایت
<img decoding="async" width="350" height="350" src="https://sismonirozhan.com/wp-content/uploads/2025/05/Imeni-Va-Moraghebat.w…" class="elementor-animation-bob attachment-full size-full wp-image-82807" alt="" srcset="https://sismonirozhan.c…sismonirozhan.com/wp-content/uploads/2025/05/Imeni-Va-Moraghebat.webp۳۸ کیلوبایت۳۷ کیلوبایت
<img src="https://sismonirozhan.com/wp-content/uploads/2023/06/SismoniRozhanLogo.webp" alt="فروشگاه سیسمونی روژان" style="max-width: 140px;" loading="lazy">sismonirozhan.com/wp-content/uploads/2023/06/SismoniRozhanLogo.webp۳۶ کیلوبایت۳۳ کیلوبایت
نمایش متن پیش از رسیدن فونتصرفه‌جویی حدود ۴۰ میلی‌ثانیه

وقتی فونت سایت دیر برسد، مرورگر ممکن است تا آن موقع متن را نشان ندهد و بازدیدکننده جای خالی ببیند. با یک تنظیم ساده (font-display) متن از همان اول با فونت دیگری دیده می‌شود و بعد فونت اصلی جایش را می‌گیرد.

اگر درست شود: FCP حدود ۵۰ میلی‌ثانیه سریع‌تر.

نشانیصرفه‌جویی تقریبی
sismonirozhan.com/wp-content/uploads/2026/04/IRANSansWeb_Medium.woff2۴۰ میلی‌ثانیه
sismonirozhan.com/wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-solid-900.woff2۳۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/fonts/woodmart-font-1-400.woff2?v=8.5.1۲۰ میلی‌ثانیه
sismonirozhan.com/wp-content/uploads/2026/04/iransansweb.woff2۲۰ میلی‌ثانیه
sismonirozhan.com/wp-content/uploads/2026/04/IRANSansWeb_Bold.woff2۲۰ میلی‌ثانیه
حساب دوباره‌ی چیدمان به‌خاطر کد (forced reflow)

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

Top function callTotal reflow time
sismonirozhan.com/wp-content/themes/woodmart/js/scripts/global/swiperInit.min.js?ver=8.5.1:2۲۲۰ میلی‌ثانیه
منبعTotal reflow time
sismonirozhan.com/wp-content/themes/woodmart/js/libs/swiper.min.js?ver=8.5.1:1۲۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/libs/swiper.min.js?ver=8.5.1:1۹۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/libs/swiper.min.js?ver=8.5.1:1۱۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/scripts/global/swiperInit.min.js?ver=8.5.1:1۹۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/libs/swiper.min.js?ver=8.5.1:1۱۰ میلی‌ثانیه
sismonirozhan.com/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=4.2.3:1۱۵۰ میلی‌ثانیه
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2۰ میلی‌ثانیه
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2۲۰ میلی‌ثانیه
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2۰ میلی‌ثانیه
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2۰ میلی‌ثانیه
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2۱۰ میلی‌ثانیه
sismonirozhan.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 یک فونت. هرچه این زنجیره بلندتر باشد، بخش‌های مهم صفحه دیرتر می‌رسند.

فشرده کردن فایل‌های CSS (minify)صرفه‌جویی حدود ۲ کیلوبایت

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

نشانیحجم انتقالصرفه‌جویی تقریبی
sismonirozhan.com/wp-content/plugins/digits/assets/css/login.css?ver=9.0.0.2۱۶ کیلوبایت۲٫۴ کیلوبایت
فشرده کردن فایل‌های JavaScript (minify)صرفه‌جویی حدود ۱۳ کیلوبایت

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

نشانیحجم انتقالصرفه‌جویی تقریبی
sismonirozhan.com/wp-content/plugins/digits/assets/js/main.js?ver=9.0.0.2۲۰ کیلوبایت۶٫۷ کیلوبایت
sismonirozhan.com/wp-content/plugins/digits/assets/js/login.js?ver=9.0.0.2۱۹ کیلوبایت۶٫۶ کیلوبایت
اندازه‌ی مشخص برای عکس‌ها

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

نشانی
<img src="https://sismonirozhan.com/wp-content/uploads/2023/06/SismoniRozhanLogo.webp" alt="فروشگاه سیسمونی روژان" style="max-width: 140px;" loading="lazy">sismonirozhan.com/wp-content/uploads/2023/06/SismoniRozhanLogo.webp
اطلاعات بیشتر (۴ مورد)
چه چیزی صفحه را جابه‌جا می‌کند (CLS)

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

عنصرامتیاز جابه‌جایی چیدمان
Total۰
<span class="tabs-text" data-elementor-setting-key="title">۰
تعداد اجزای صفحه (DOM)

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

آمارعنصرمقدار
Total elements۲٬۸۳۰
DOM depth<a href="https://sismonirozhan.com/product-category/%d8%a7%db%8c%d9%85%d9%86%db%8c-…">۲۹
Most children<body class="rtl home wp-singular page-template-default page page-id-13 wp-theme-woodma…" data-elementor-device-mode="mobile">۱۱۱
کارهای طولانی مرورگر (long tasks)۲۰ مورد

کارهایی که مرورگر را بیش از ۵۰ میلی‌ثانیه یک‌سره مشغول نگه می‌دارند. در این فاصله هر کلیک یا لمس بازدیدکننده منتظر می‌ماند.

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

نشانیزمان شروعمدت
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1۷٫۱ ثانیه۷۰۰ میلی‌ثانیه
sismonirozhan.com/wp-content/plugins/woocommerce/assets/js/frontend/cart-fragments.min.js?ver=11.0.1۶٫۴ ثانیه۶۱۰ میلی‌ثانیه
sismonirozhan.com/۳٫۸ ثانیه۲۶۰ میلی‌ثانیه
sismonirozhan.com/۳٫۳ ثانیه۲۶۰ میلی‌ثانیه
sismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1۷٫۸ ثانیه۲۴۰ میلی‌ثانیه
sismonirozhan.com/۲٫۸ ثانیه۱۹۰ میلی‌ثانیه
sismonirozhan.com/۴٫۲ ثانیه۱۹۰ میلی‌ثانیه
Unattributable۱٫۳ ثانیه۱۸۰ میلی‌ثانیه
sismonirozhan.com/۳٫۱ ثانیه۱۸۰ میلی‌ثانیه
sismonirozhan.com/wp-content/themes/woodmart/js/libs/swiper.min.js?ver=8.5.1۵٫۶ ثانیه۱۸۰ میلی‌ثانیه
Unattributable۱٫۴ ثانیه۱۷۰ میلی‌ثانیه
sismonirozhan.com/۲ ثانیه۱۴۰ میلی‌ثانیه

و ۸ مورد دیگر.

روان بودن انیمیشن‌ها۳۸ مورد

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

عنصر
<div class="wd-btn-arrow wd-next" tabindex="0" role="button" aria-label="Next slide" aria-controls="swiper-wrapper-59031028d438de925" aria-disabled="false">
<div class="wd-btn-arrow wd-prev wd-disabled" tabindex="-1" role="button" aria-label="Previous slide" aria-controls="swiper-wrapper-59031028d438de925" aria-disabled="true">
<div class="wd-btn-arrow wd-prev wd-disabled" tabindex="-1" role="button" aria-label="Previous slide" aria-controls="swiper-wrapper-c6eaba27e6fd1b109" aria-disabled="true">
<div class="wd-btn-arrow wd-next" tabindex="0" role="button" aria-label="Next slide" aria-controls="swiper-wrapper-c6eaba27e6fd1b109" aria-disabled="false">
<div class="wd-btn-arrow wd-next" tabindex="0" role="button" aria-label="Next slide" aria-controls="swiper-wrapper-32e510dc8a4a2f976" aria-disabled="false">
<div class="wd-btn-arrow wd-prev wd-disabled" tabindex="-1" role="button" aria-label="Previous slide" aria-controls="swiper-wrapper-32e510dc8a4a2f976" aria-disabled="true">
<div class="wd-btn-arrow wd-next" tabindex="0" role="button" aria-label="Next slide" aria-controls="swiper-wrapper-7ec510265652905f3" aria-disabled="false">
<div class="wd-btn-arrow wd-prev wd-disabled" tabindex="-1" role="button" aria-label="Previous slide" aria-controls="swiper-wrapper-7ec510265652905f3" aria-disabled="true">
<div class="wd-btn-arrow wd-prev wd-disabled" tabindex="-1" role="button" aria-label="Previous slide" aria-controls="swiper-wrapper-4682dc46ea307df10" aria-disabled="true">
<div class="wd-btn-arrow wd-next" tabindex="0" role="button" aria-label="Next slide" aria-controls="swiper-wrapper-4682dc46ea307df10" aria-disabled="false">
<div class="wd-btn-arrow wd-prev wd-disabled" tabindex="-1" role="button" aria-label="Previous slide" aria-controls="swiper-wrapper-7a5177a003fe454f" aria-disabled="true">
<div class="wd-btn-arrow wd-next" tabindex="0" role="button" aria-label="Next slide" aria-controls="swiper-wrapper-7a5177a003fe454f" aria-disabled="false">

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

بررسی‌های قبول‌شده (۱۰ مورد؛ ۲ مورد هم به این صفحه مربوط نبود)
کد تکراری در JavaScript

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

زود پیدا شدن عکس اصلی صفحه (LCP)

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

کد اضافه برای مرورگرهای قدیمی (JavaScript)

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

نسخه‌ی HTTP سرور (HTTP/2)

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

کدهای سایت‌های دیگر (third-party)

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

تنظیم صفحه برای گوشی (viewport)

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

CSS بی‌استفاده

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

JavaScript بی‌استفاده

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

حجم کل صفحهحجم کل ۱٬۱۵۷ کیلوبایت

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

برگشت فوری با دکمه‌ی بازگشت (bfcache)

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

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

۹۵ از ۱۰۰ خوب

گواهی معتبر است، ولی چند تنظیم آن جای بهتر شدن دارد.

وضعیت
معتبر
صادرکننده
Let's Encrypt
پایان اعتبار
۱۰ دی ۱۴۰۵ (۸۷ روز دیگر)
تاریخ صدور
۱۰ مهر ۱۴۰۵
صادرشده برای
pop.sismonirozhan.com (+3)
کلید
ECDSA secp384r1
اتصال برقرارشده
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
انجام می‌شود
فشرده‌سازی
Brotli
HSTS
خاموش
IPv6
ندارد
اولین پاسخ سرور (TTFB)
۳٫۶ ثانیه
نشانی با www
به همین سایت می‌رسد

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

شبکه / دیتاسنتر
GWSN-AS - Green Web Samaneh Novin PJSC AS61173
کشور سرور
ایران
IP
45.159.112.131
سرویس DNS
IranDNS
Name Server
ns1.irandns.com · ns2.irandns.com
نام سرور (PTR)
lh392.irandns.com

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

سیستم مدیریت محتوا
WordPress7.1.2
فروشگاه‌ساز
WooCommerce
صفحه‌ساز
Elementor4.2.3
افزونه‌ی سئو
Rank Math
کتابخانه‌ها
jQuerySwiperFont Awesome
نمادها
نماد اعتماد (eNamad)
زبان برنامه‌نویسی
PHP

سئو تکنیکال آنچه گوگل برای خواندن درست سایت لازم دارد.

۸۴ از ۱۰۰ نیاز به بهبود

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

  • تیتر اصلی (H1)صفحه تیتر H1 ندارد؛ موضوع اصلی صفحه برای موتور جستجو روشن نیست.
  • توضیح متا (meta description)توضیح کوتاه است (۹ حرف). بین ۷۰ تا ۱۶۰ حرف مناسب است.
  • پیش‌نمایش اشتراک‌گذاری (Open Graph)این تگ‌ها نیستند: og:image
  • عنوان صفحه (title)«خانه - فروشگاه سیسمونی روژان»
  • نشانی اصلی (canonical)https://sismonirozhan.com/
  • اجازه‌ی ایندکسصفحه برای موتورهای جستجو باز است.
  • زبان صفحه (lang)زبان اعلام‌شده: fa-IR
  • نمای موبایل (viewport)تگ viewport هست.
  • کارت توییتر / ایکستعریف شده است.
  • داده‌ی ساختاریافته (Schema)نوع‌ها: Organization، WebSite، ImageObject، WebPage، Person، Article
  • آیکن سایت (favicon)تعریف شده است.
  • متن جایگزین عکس‌ها (alt)همه‌ی عکس‌ها alt دارند.
  • فایل robots.txtموجود است.
  • نقشه‌ی سایت (sitemap)https://sismonirozhan.com/sitemap_index.xml

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

ایرادها (۱ مورد)

درست بودن robots.txt

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

بررسی‌های قبول‌شده (۹ مورد)
اجازه‌ی آمدن در نتیجه‌های جست‌وجو

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

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

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

توضیح زیر عنوان در گوگل (meta description)

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

جواب سرور به درخواست صفحه (HTTP status)

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

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

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

پیوندهایی که گوگل می‌تواند دنبال کند

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

توضیح عکس‌ها (alt)

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

نسخه‌های زبانی صفحه (hreflang)

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

نشانی اصلی صفحه (canonical)

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

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

۲۹ از ۱۰۰ سطح ۰، آماده نیست

سطح ۰ از ۵ (Not Ready). امتیاز یعنی از بررسی‌هایی که به این سایت مربوط بودند، چند درصد قبول شد. برای رسیدن به سطح ۱ (حضور پایه در وب)، یکی از این‌ها: نقشه‌ی سایت (sitemap.xml)، هدر Link.

پیدا شدن
۱ از ۲
محتوای خوانا
۰ از ۱
اجازه‌ی ربات‌ها
۱ از ۲
API، ورود و MCP
۰ از ۲
خرید توسط ایجنت (در امتیاز نیست)
۰ از ۴

پیدا شدن (۱ از ۲)

  • هدر Linkصفحه‌ی اصلی ۳ هدر Link دارد، ولی هیچ‌کدام چیزی برای ایجنت‌ها معرفی نمی‌کند (مثلا فقط preload است).چه کار کنید: در پاسخ صفحه‌ی اصلی هدر Link بفرستید، مثلا: Link: </.well-known/api-catalog>; rel="api-catalog", </llms.txt>; rel="describedby"; type="text/plain"
  • فایل robots.txtهست و ۱ گروه User-agent دارد.
  • نقشه‌ی سایت (sitemap.xml)نقشه‌ی سایت در زمان بررسی جواب نداد.
  • معرفی ایجنت در 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 همین را بی‌کدنویسی روشن می‌کند.

اجازه‌ی ربات‌ها (۱ از ۲)

  • اجازه‌ی استفاده از محتوا (Content Signals)در robots.txt خط Content-Signal نیست؛ معلوم نیست محتوا برای جستجو، جواب هوش مصنوعی یا آموزش مدل آزاد است یا نه.چه کار کنید: زیر گروه مناسب در robots.txt یک خط Content-Signal بنویسید، مثلا: Content-Signal: search=yes, ai-input=yes, ai-train=no
  • قانون ربات‌های هوش مصنوعی در robots.txtقانون جدایی برای ربات‌های هوش مصنوعی نیست؛ قانون‌های User-agent: * برای آن‌ها هم اعمال می‌شود.
  • امضای ربات (Web Bot Auth)/.well-known/http-message-signatures-directory به جای فایل، یک صفحه‌ی HTML برگرداند (معمولا صفحه‌ی «پیدا نشد» سایت). فقط برای سایتی مهم است که خودش ربات یا ایجنت می‌فرستد؛ در امتیاز حساب نمی‌شود.

API، ورود و MCP (۰ از ۲)

  • فهرست API (api-catalog)/.well-known/api-catalog به جای فایل، یک صفحه‌ی HTML برگرداند (معمولا صفحه‌ی «پیدا نشد» سایت).چه کار کنید: https://sismonirozhan.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 به جای فایل، یک صفحه‌ی HTML برگرداند (معمولا صفحه‌ی «پیدا نشد» سایت)؛ دو نشانی دیگر هم کارتی نداشتند.چه کار کنید: اگر سرور MCP دارید، کارتش را در https://sismonirozhan.com/.well-known/mcp/server-card.json بگذارید: serverInfo (name و version)، transport با endpoint (مثلا /mcp) و capabilities.
  • کشف OAuth یا OpenID/.well-known/openid-configuration به جای فایل، یک صفحه‌ی HTML برگرداند (معمولا صفحه‌ی «پیدا نشد» سایت)، /.well-known/oauth-authorization-server به جای فایل، یک صفحه‌ی HTML برگرداند (معمولا صفحه‌ی «پیدا نشد» سایت).
  • فراداده‌ی منبع محافظت‌شده‌ی OAuth/.well-known/oauth-protected-resource به جای فایل، یک صفحه‌ی HTML برگرداند (معمولا صفحه‌ی «پیدا نشد» سایت).
  • راهنمای ثبت‌نام ایجنت (auth.md)/auth.md به جای فایل، یک صفحه‌ی HTML برگرداند (معمولا صفحه‌ی «پیدا نشد» سایت).
  • کارت ایجنت A2A/.well-known/agent-card.json در زمان بررسی جواب نداد. در امتیاز حساب نمی‌شود.
  • فهرست مهارت‌ها (Agent Skills)/.well-known/agent-skills/index.json در زمان بررسی جواب نداد.
  • ابزارهای صفحه برای ایجنت مرورگر (WebMCP)فایل‌های جاوااسکریپت صفحه خوانده نشدند؛ WebMCP بررسی نشد.
  • فهرست منابع ایجنتی (ARD)/.well-known/ai-catalog.json در زمان بررسی جواب نداد.

خرید توسط ایجنت (اختیاری، در امتیاز نیست)

  • پرداخت ماشینی x402نه صفحه‌ی اصلی، نه /api و /api/v1 با کد ۴۰۲ و شرایط پرداخت x402 جواب ندادند.چه کار کنید: مسیرهای پولی API را پشت میان‌افزار x402 بگذارید (مثلا @x402/express یا @x402/next) تا با کد ۴۰۲ و شرایط پرداخت جواب بدهند و ایجنت خودش پرداخت کند.
  • پرداخت ماشینی MPP/openapi.json در زمان بررسی جواب نداد.چه کار کنید: در /openapi.json روی عملیات‌های پولی، x-payment-info با intent (charge یا session)، method و amount بگذارید.
  • پروتکل UCP/.well-known/ucp در زمان بررسی جواب نداد.چه کار کنید: پروفایل UCP را در /.well-known/ucp بگذارید: نسخه‌ی پروتکل، services، capabilities و endpoints.
  • پروتکل ACP/.well-known/acp.json در زمان بررسی جواب نداد.چه کار کنید: سند کشف ACP را در /.well-known/acp.json بگذارید: protocol.name برابر "acp" و version، api_base_url کامل، transports و capabilities.services.
  • پرداخت ایجنت (AP2)کارت ایجنت A2A نیست؛ AP2 روی همان کارت اعلام می‌شود.

بررسی‌های خود ما (بیرون از امتیاز)

  • فایل llms.txt/llms.txt به جای فایل، یک صفحه‌ی HTML برگرداند (معمولا صفحه‌ی «پیدا نشد» سایت).چه کار کنید: در ریشه‌ی سایت فایل متنی llms.txt بگذارید که با یک عنوان Markdown شروع شود (# نام سایت)، بعد یک خط معرفی با > و فهرست پیوند مهم‌ترین صفحه‌ها؛ با Content-Type: text/plain یا text/markdown.
  • ورود واقعی ایجنت‌هاایجنت‌های ChatGPT و Claude صفحه‌ی اصلی را بی‌مانع گرفتند.

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

دسترس‌پذیری ۸۴ از ۱۰۰

ایرادها (۵ مورد)

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

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

عناصر دارای ایراد
<bdi>
<bdi>
<bdi>
<bdi>
<bdi>
<bdi>
<bdi>
<bdi>
<bdi>
<bdi>
<bdi>
<p class="elementor-icon-box-description">

و ۲ مورد دیگر.

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

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

عناصر دارای ایراد
<h5 class="elementor-heading-title elementor-size-default">
نام پیوندها

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

عناصر دارای ایراد
<a href="https://sismonirozhan.com/product-category/%d8%a7%db%8c%d9%85%d9%86%db%8c-…">
<a href="https://sismonirozhan.com/product-category/%d8%a8%d8%a7%d8%b2%db%8c-%d9%88…">
<a href="https://sismonirozhan.com/product-category/%d8%a8%d9%87%d8%af%d8%a7%d8%b4%…">
<a href="https://sismonirozhan.com/product-category/%da%86%d9%88%d8%a8/">
<a href="https://sismonirozhan.com/product-category/%d9%be%d9%88%d8%b4%d8%a7%da%a9-…">
<a href="https://sismonirozhan.com/product-category/%d8%ae%d9%88%d8%a7%d8%a8-%da%a9…">
<a href="https://sismonirozhan.com/product-category/%d8%ba%d8%b0%d8%a7-%d8%ae%d9%88…">
<a href="https://sismonirozhan.com/product-category/%da%af%d8%b1%d8%af%d8%b4-%d9%88…">
<a href="#" class="wd-nav-link">
<a href="#" class="wd-nav-link">
<a href="#" class="wd-nav-link">
<a href="#" class="wd-nav-link">

و ۸ مورد دیگر.

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

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

عناصر دارای ایراد
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
پیوند «رفتن به محتوا»

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

عناصر دارای ایراد
<a href="#menu-%d9%85%d9%86%d9%88%db%8c-%d8%a7%d8%b5%d9%84%db%8c" class="wd-skip-navigation btn">
اطلاعات بیشتر (۱ مورد)
پیوندهای هم‌نام و مقصدشان

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

عناصر دارای ایراد
<a rel="noopener noreferrer nofollow" href="https://www.facebook.com/sharer/sharer.php?u=https://sismonirozhan.com/" target="_blank" class=" wd-social-icon social-facebook" aria-label="Facebook link">
بررسی‌های قبول‌شده (۲۲ مورد؛ ۳۵ مورد هم به این صفحه مربوط نبود)
ویژگی‌های ARIA متناسب با نقش عنصر

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

نام دکمه‌ها، پیوندها و گزینه‌های منو (ARIA)

اگر این‌ها نام نداشته باشند، صفحه‌خوان فقط نوعشان را می‌خواند و کاربر نابینا نمی‌فهمد هر کدام چه کاری می‌کند.

ویژگی‌های ARIA که فقط در جای خود مجازند

بعضی ویژگی‌های ARIA فقط روی عنصرهای خاصی معنا دارند. اگر جای دیگری بیایند، صفحه‌خوان وضعیت عنصر را اشتباه می‌گوید.

نقش‌های قدیمی و کنارگذاشته‌ی ARIA

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

پنهان نبودن کل صفحه از صفحه‌خوان

اگر روی body صفحه aria-hidden="true" گذاشته شود، ممکن است صفحه‌خوان هیچ‌چیز از صفحه را برای کاربر نابینا نخواند.

دکمه و پیوند درون بخش‌های پنهان

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

ویژگی‌های ARIA در جای مجاز

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

ویژگی‌های لازم برای نقش‌های ARIA

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

درست بودن نقش‌ها (role)

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

درست بودن مقدار ویژگی‌های ARIA

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

درست بودن نام ویژگی‌های ARIA

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

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

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

زبان صفحه (lang)

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

درست بودن کد زبان صفحه (lang)

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

توضیح عکس‌ها (alt)

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

پیدا بودن پیوندها بی‌تکیه بر رنگ

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

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

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

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

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

مقدار tabindex بیشتر از صفر

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

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

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

بخش اصلی صفحه (main)

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

عنصرهای کنارگذاشته از صفحه‌خوان (role=none)

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

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

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

اطلاعات بیشتر (۷ مورد)
سد CSP در برابر کد مخرب (XSS)

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

توضیحشدت
No CSP found in enforcement modeHigh
اجبار به ارتباط امن (HSTS)

سرآیند HSTS به مرورگر می‌گوید همیشه با HTTPS به سایت وصل شود، حتی اگر کسی نشانی را با http بزند. این‌طور خطر شنود ارتباط کمتر می‌شود.

توضیحشدت
No HSTS header foundHigh
جدا کردن پنجره‌ی سایت (COOP)

سرآیند COOP پنجره‌ی سایت را از پنجره‌های دیگر، مثل پنجره‌های بازشو، جدا می‌کند تا سایت‌های دیگر نتوانند به آن دست بزنند.

توضیحشدت
No COOP header foundHigh
جلوگیری از کلیک‌دزدی (XFO یا CSP)

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

توضیحشدت
No frame control policy foundHigh
سد Trusted Types در برابر کد مخرب (XSS)

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

توضیحشدت
No `Content-Security-Policy` header with Trusted Types directive foundHigh
قابلیت‌های وب و پشتیبانی مرورگرها (Baseline)

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

قابلیت‌های وبمنبع
webstatus.dev/features/background-clip-textsismonirozhan.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1:2
webstatus.dev/features/sizes-autosismonirozhan.com/:-1
webstatus.dev/features/speculation-rulessismonirozhan.com/:-1
webstatus.dev/features/iterator-methodssismonirozhan.com/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=4.2.3:1
webstatus.dev/features/promise-trysismonirozhan.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0:7
webstatus.dev/features/scrollbar-guttersismonirozhan.com/wp-content/themes/woodmart/js/scripts/global/scrollBar.min.js?ver=8.5.1:1
webstatus.dev/features/fetch-prioritysismonirozhan.com/:-1
webstatus.dev/features/hassismonirozhan.com/:-1
webstatus.dev/features/maskssismonirozhan.com/:-1
webstatus.dev/features/url-canparsesismonirozhan.com/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0:7
webstatus.dev/features/contain-intrinsic-sizesismonirozhan.com/:-1
webstatus.dev/features/hyphenssismonirozhan.com/:-1

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

کتابخانه‌های JavaScript صفحه

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

نامVersion
jQuery3.7.1
jQuery UI1.14.2
Underscore1.13.8
WordPress7.1.2
core-jscore-js-global@3.39.0; core-js-global@3.46.0
بررسی‌های قبول‌شده (۱۳ مورد؛ ۱ مورد هم به این صفحه مربوط نبود)
ارتباط امن (HTTPS)

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

خواستن موقعیت مکانی هنگام ورود

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

خواستن اجازه‌ی اعلان هنگام ورود

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

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

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

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

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

وضوح عکس‌ها

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

doctype در ابتدای صفحه

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

رمزگذاری حروف (charset)

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

قابلیت‌هایی که مرورگرها کنار می‌گذارند

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

کوکی‌های سایت‌های دیگر (third-party cookies)

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

خطاهای ثبت‌شده در مرورگر (console)

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

درست بودن source mapها

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

مشکلاتی که Chrome ثبت کرده (Issues)

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

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

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

پیش از تصمیم، معمولا این‌ها را می‌پرسند

روی گوشی خودم سایت زود باز می‌شود؛ چرا اینجا کند است؟

گوشی شما سایت را قبلا باز کرده و خیلی از فایل‌هایش را در حافظه دارد، و معمولا با وای‌فای است. تست ما مثل بازدیدکننده‌ای است که اولین بار، با یک گوشی معمولی و اینترنت موبایل، سایت را باز می‌کند؛ همان تنظیمی که 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

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

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

یک قاعده هم همیشه هست: داخل هر بخش، ایرادهای بالای فهرست را اول درست کنید، چون بیشترین زمان را آزاد می‌کنند. بهینه‌سازی 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 می‌گوید امتیاز کامل ۱۰۰ بسیار سخت است و انتظارش نمی‌رود. بردن امتیاز از ۹۹ به ۱۰۰ تقریبا همان‌قدر بهبود می‌خواهد که بردنش از ۹۰ به ۹۴. هدف این است که سنجه‌ها در محدوده‌ی خوب باشند و سایت برای آدم‌ها سریع باشد. رسیدن از قرمز به سبز ارزش زیادی دارد؛ چند واحد آخر معمولا نه.

اگر تست ناموفق بود، یعنی چه؟

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