След въвеждането на Lighthouse се появиха нови параметри, свързани със скоростта на страниците. Един от най-важните от тези параметри е First Contentful Paint (FCP). Във версия 10 на Lighthouse, в сила от юни 2024 г., влиянието на FCP върху общия резултат е 10%.
За да приемете и разберете FCP като метрика, е важно първо да проучите психологията зад него. Концепцията е подобна на огледала, монтирани в асансьори:
За да обобщим накратко: През първата половина на 1900 г. използването на асансьори във високи сгради се увеличи значително, но асансьорните системи бяха примитивни в сравнение с днешните. Затова се появи идеята за монтиране на огледала в асансьорите, за да се усеща времето, прекарано в асансьора, по-кратко.
Връщайки се към нашата тема: точката, която перцептивно ви кара да чакате по време на времето за зареждане, когато се опитвате да получите достъп до страница, е FCP. Дефиницията за First Contentful Paint е времето, необходимо на първия текст, изображение, небяло платно и т.н., за да бъде показано на потребителя. Единицата FCP е секунди.
В Lighthouse цветовата скала за FCP се определя, както следва:
- 0-2 секунди: Зелено => Бързо
- 2-4 секунди: Оранжево => Нуждае се от подобрение
- 4+ секунди: Червено => Бавно
Според данните на HTTP Archive, броят на сайтовете, които могат да бъдат разгледани бързо е 25%, а 50% от съществуващите сайтове са класифицирани като бавни.
Какво може да се направи, за да се подобри FCP?
Намалете времето за отговор на сървъра
Като цяло това може да се тълкува като подобрения, необходими от страна на сървъра на сървъра и софтуера. За да изброите проблемите, които влияят отрицателно върху времето за отговор на сървъра:
- Споделянето, конфигурацията на сървъра (т.е. настройките на сървъра) и ресурсите на сървъра може да са проблемът. Капацитетът на вашия сървър трябва да се увеличи според трафика ви. В някои случаи зле написаните заявки към базата данни и много сложните софтуерни компоненти могат сериозно да повлияят на времето за отговор на сървъра.
- Неизползването на CDN (мрежа за доставка на съдържание) може да причини забавяне на достъпа до съдържание, което засяга FCP. Тъй като размерът на съдържанието се увеличава, например, ако голям анимиран GIF или видео се опита да бъде извикан без CDN и главният сървър е на различен континент, може да се наложи да обмислите CDN решения за разрешаване на FCP.
- Необслужването на статично съдържание с правилна и последователна политика за кеша може да претовари вашия сървър ненужно, тъй като броят на посетителите се увеличава. Например, ако не съхранявате логото си в дългосрочен кеш, докато го зареждате на всяка страница, ненужно ще навредите на времето за реакция на вашия сървър.
- Ненужни пренасочвания към страници докато достъпът до страницата може ненужно да засегне вашия FCP.
Например в миналото имаше такива настройки: когато потребител искаше да влезе в сайт, имаше пренасочване от HTTP към HTTPS, а след това, ако беше мобилно, пренасочване от HTTPS към мобилно устройство (напр. https:// www към https://m), и ако страницата беше премахната и пренасочена другаде с 301, се усещаше, че потребителят се прехвърля от бюро на бюро в данъчна служба. Това е екстремен пример за по-добро разбиране, но ако пренасочите страница към друг URL адрес с пренасочване 301 и след това пренасочите тази страница към друга с 301, може да правите същата нелогична настройка.
- Ако ти не използвайте предварително свързване или предварително извличане на DNS префикси, когато се свързвате с вашите услуги на трети страни и се свързвате с много услуги на трети страни, вие не правите нищо полезно за FCP.
Намалете ресурсите, блокиращи изобразяването
Трябва да призная, че разглеждането на тази единствена точка, написана като ред, може да отнеме месеци.
За да се постигне това, има метод на решение, при който всички JS, CSS и подобни ресурси, които блокират изобразяването на страницата, се зареждат след времето за създаване на страницата, но първоначално видимата част от сайта се зарежда първа, докато сайтът се зарежда. За да направите това обаче, всички JS, CSS и подобни ресурси трябва да бъдат изследвани и най-отнемащите време процеси трябва да бъдат отделени. Освен това използването на възможно най-малко услуги на трети страни помага за оптимизирането на FCP.