گوگل نسخه ۱۳ ابزار لایتهاوس (Lighthouse) رو منتشر کرده. این نسخه یک بازنگری کلی روی گزارشها داشته تا با مدل جدید «اینسایت» (insight) یا همون «دیدگاههای کاربردی» در ابزار دولوپر تولز (DevTools) کروم هماهنگ بشه.
این آپدیت همین الان از طریق npm و کروم کنری (Chrome Canary) در دسترسه. حدود یک هفته دیگه به PageSpeed Insights هم اضافه میشه و قراره با نسخه ۱۴۳ کروم، به نسخه پایدار این مرورگر هم بیاد.
گوگل میگه این آپدیت نحوه محاسبه امتیاز عملکرد (Performance Score) رو تغییر نمیده و فقط روی گزارشهایی که امتیازی نبودن تاثیر میذاره.
گزارشها چه تغییری کردن؟
در لایتهاوس ۱۳، خیلی از گزارشهای قدیمی با «اینسایت»های جدیدی که تو دولوپر تولز هم هستن، جایگزین شدن. این کار باعث شده گزارشها یکپارچه بشن.
بعضی از نمونههای مهم این تغییرات اینها هستن:
CLS و چیدمان صفحه: گزارش layout-shifts با cls-culprits-insight جایگزین شده تا دلایل جابجایی ناخواسته عناصر صفحه رو واضحتر نشون بده.
سرور و شبکه: اینسایت جدید document-latency-insight چندتا گزارش قدیمی مثل ریدایرکتها، زمان پاسخ سرور و فشردهسازی متن رو با هم ترکیب کرده.
تصاویر: image-delivery-insight جایگزین چهار گزارش قدیمی شده که مربوط به فرمتهای مدرن، تصاویر بهینهشده، تصاویر واکنشگرا (responsive) و محتوای متحرک بهینه بودن.
LCP: برای بررسی مشکلات Largest Contentful Paint، دو اینسایت جدید به اسمهای lcp-discovery-insight و lcp-phases-insight معرفی شده. برای مسائل مربوط به تعامل کاربر هم اینسایت interaction-to-next-paint-insight (مربوط به INP) وجود داره.
منابع شخص ثالث (Third-Party): اینسایت third-parties-insight جای خلاصه گزارش قدیمی منابع شخص ثالث رو گرفته تا تاثیر اسکریپتهای خارجی رو بهتر نشون بده.
علاوه بر اینها، گزارشهای دیگهای هم برای مواردی مثل اندازه DOM، کدهای جاوااسکریپت تکراری، نمایش فونت، جاوااسکریپت قدیمی، HTTP/2، درخت وابستگی شبکه، منابع مسدودکننده رندر، کش و تنظیمات ویوپورت (viewport) جایگزین شدن.
در جدول زیر میتونید لیست کامل گزارشهای جایگزین شده رو ببینید:
| شناسه اینسایت جدید | شناسههای گزارشهای قبلی |
|---|---|
cls-culprits-insight | layout-shifts |
document-latency-insight | redirects, server-response-time, uses-text-compression |
dom-size-insight | dom-size |
duplicated-javascript-insight | duplicated-javascript |
font-display-insight | font-display |
image-delivery-insight | modern-image-formats, uses-optimized-images, efficient-animated-content, uses-responsive-images |
interaction-to-next-paint-insight | work-during-interaction |
lcp-discovery-insight | prioritize-lcp-image, lcp-lazy-loaded |
lcp-phases-insight | largest-contentful-paint-element |
legacy-javascript-insight | legacy-javascript |
modern-http-insight | uses-http2 |
network-dependency-tree-insight | critical-request-chains, uses-rel-preconnect |
render-blocking-insight | render-blocking-resources |
third-parties-insight | third-party-summary |
use-cache-insight | uses-long-cache-ttl |
viewport-insight | viewport |
گزارشهایی که بدون جایگزین حذف شدن
بعضی از گزارشها هم به طور کامل حذف شدن چون یا قدیمی بودن، یا کاربرد عملی نداشتن، یا در محیطهای مدرن وب ارزش کمی داشتن. بعضیها هم به خاطر هزینه بالای اجرا حذف شدن.
لیست گزارشهای حذف شده و دلیل حذفشون اینه:
| گزارش حذف شده | دلیل حذف |
|---|---|
first-meaningful-paint | یک معیار قدیمی که دیگه توصیه نمیشه و LCP جایگزینش شده. |
font-size | با اینکه فونت ریز روی خوانایی تاثیر داره، ولی سیگنالی وجود نداره که نشون بده امروز یک فاکتور سئو محسوب میشه. ضمن اینکه اجرای این گزارش خیلی پرهزینه بود. |
no-document-write | این روزها به ندرت در اسکریپتهای خود سایت مشکلی ایجاد میکنه و برای اسکریپتهای شخص ثالث هم کاریش نمیشه کرد. |
offscreen-images | مرورگرها همین الان هم اولویت تصاویر خارج از صفحه رو کم میکنن. پس با اینکه lazy loading به کاهش مصرف پهنای باند کمک میکنه، احتمالا تاثیری روی معیارهایی که لایتهاوس اندازه میگیره، نداره. |
preload-fonts | به خاطر ریسک پیشنهاد بیش از حد، فعال نبود. |
third-party-facades | این گزارش تعداد محدودی از facadeها رو پوشش میداد و بعضی توسعهدهندهها نگران استفاده از facadeهای شخص ثالث غیروابسته بودن. در نهایت، گوگل ترجیح میده که خود سرویسهای شخص ثالث خدماتشون رو بهتر کنن تا اینکه راهی برای دور زدنشون پیدا بشه. |
uses-passive-event-listeners | (دلیل مشخصی در متن ذکر نشده) |
uses-rel-preload | به خاطر ریسک پیشنهاد بیش از حد، فعال نبود. |
تفاوتهای جزئی با پیشنمایشهای قبلی
گوگل دو گزارش non-composited-animations و unsized-images رو به عنوان دو تشخیص جداگانه نگه داشته تا به پیدا کردن مشکلاتی که مستقیما باعث CLS نمیشن کمک کنه.
همچنین، گزارشهای font-size و preload-fonts هم حذف شدن، در حالی که در لیست اولیه حذفیات نبودن.
این تغییرات چه اهمیتی دارن؟
اگه از لایتهاوس برای گزارش دادن به مشتری استفاده میکنید، از این به بعد موارد کمتری توی گزارشها میبینید که در قالب اینسایتهای یکپارچه و هماهنگ با دولوپر تولز ارائه میشن.
امتیازهای شما فقط به خاطر آپدیت کردن لایتهاوس تغییر نمیکنه، ولی اگه از سیستمهای خودکار استفاده میکنید که به شناسه گزارشها (audit ID) حساس هستن، باید اونها رو با شناسههای جدید اینسایتها آپدیت کنید.
از نظر سئو، حذف گزارش font-size نشوندهنده موضع گوگل هست که این مورد در حال حاضر یک سیگنال سئو نیست، هرچند که خوانایی همچنان یک فاکتور مهم در تجربه کاربری (UX) به حساب میاد.
در آینده چه اتفاقی میفته؟
انتظار میره که لایتهاوس و دولوپر تولز روی همین مدل اینسایت هماهنگ باقی بمونن.
برای کسانی که گزارش تهیه میکنن، پیشنهاد میشه که از همین الان شناسههای قدیمی رو به اینسایتهای جدید مپ (map) کنن تا وقتی PageSpeed Insights آپدیت شد، داشبوردهای گزارشدهیشون به مشکل نخوره.
برای اجرای لایتهاوس ۱۳ به نسخه ۲۲.۱۹ یا بالاتر Node نیاز دارید. برای نصب و اجرای نسخه خط فرمان (CLI) لایتهاوس میتونید از دستورهای زیر استفاده کنید:
npm install -g lighthouse
lighthouse https://www.example.com --view
برای ارتباط با تیم لایتهاوس، گزارش مشکلات یا ارائه بازخورد میتونید از ردیاب مشکلات گیتهاب (GitHub issue tracker) یا انجمنهای گفتگوی گیتهاب لایتهاوس استفاده کنید.

دیدگاهتان را بنویسید