LCP، INP و CLS هر کدام به چه سؤالی پاسخ میدهند، چه کارهایی واقعاً سرعت را بهتر میکند و چطور پیش از هر بهینهسازی درست اندازهگیری کنیم.
سرعت سایت یک ویژگی لوکس نیست؛ بخشی از تجربه کاربری و سئو است. گوگل سه معیار اصلی را اندازه میگیرد و هر کدام به سؤال متفاوتی پاسخ میدهند: چقدر سریع محتوا دیده میشود، چقدر سریع صفحه واکنش میدهد و چقدر چیدمان پایدار میماند.
ممکن است صفحهای در یک ثانیه باز شود ولی کاربر نتواند روی دکمه بزند، یا هر کلیک باعث جابهجایی عناصر شود. هیچکدام از اینها با معیار سرعت خالی سنجیده نمیشود. Core Web Vitals دقیقاً برای پوشش همین شکافها طراحی شده است.
LCP میگوید کاربر چه زمانی بزرگترین عنصر دیداری صفحه را میبیند؛ معمولاً تصویر اصلی مقاله یا تیتر بزرگ صفحه. مقدار قابل قبول زیر ۲.۵ ثانیه است.
کارهایی که واقعاً اثر دارند:
priority یا fetchpriority="high" بارگذاری کنید تا از بقیه تصاویر جلو بیفتدsrcset در اندازههای مختلف سرو کنید تا موبایل نسخه سنگین را دانلود نکندpreconnect و font-display: swap)اگر LCP بد است، تقریباً همیشه مشکل در یکی از این سه چیز است: تصویر بزرگ، فونت مسدودکننده یا پاسخ کند سرور.
INP کیفیت واکنش صفحه به کلیک، لمس و تایپ را میسنجد. این معیار جایگزین FID شده و سختگیرانهتر است، چون علاوه بر تأخیر اولیه، زمان پردازش رویداد و بهروزرسانی رابط کاربری را هم میشمارد.
requestIdleCallback یا با تأخیر انجام دهیدCLS یعنی تکان خوردن عناصر هنگام بارگذاری. کاربر میخواهد روی دکمه بزند و دقیقاً همان لحظه تصویری بالای صفحه جا باز میکند. مقدار قابل قبول زیر ۰.۱ است.
width و height یا aspect-ratio تعیین کنیدpreload بارگذاری کنید تا متن ناگهان جابهجا نشودposition: fixed بپرهیزیدtransform و opacity بنویسید، نه روی ویژگیهایی که چیدمان را تغییر میدهندحدس زدن درباره سرعت معمولاً به کار بیفایده منجر میشود. اول ببینید کدام معیار در وضعیت قرمز است.
ابزارهای پایه:
نکته مهم این است که داده آزمایشگاهی با تجربه کاربر واقعی فرق دارد. یک صفحه روی لپتاپ شما بینقص است و روی موبایل میانرده با اینترنت ضعیف فاجعه. معیار نهایی، داده کاربران واقعی است.
بهینهسازی سرعت یک کار یکباره نیست؛ یک چرخه است: اندازهگیری، رفع بزرگترین گلوگاه، انتشار، اندازهگیری مجدد. اگر میخواهید از پایه این اصول را در طراحی واقعی تمرین کنید، پروژه آماده فروشگاهی React + Convex یک اپلیکیشن واقعی با رابط ریسپانسیو است که میتوانید همین اصول را روی آن اندازهگیری و تمرین کنید. برای بخش جاوااسکریپت، کاهش re-render ها بیشترین اثر را دارد؛ با پروفایلر مرورگر کامپوننتهای سنگین را پیدا کنید و با تقسیمبندی و حافظهسازی سبکترشان کنید.