Nowości w Lighthouse 10

Brendan Kenny
Brendan Kenny

Lighthouse to narzędzie do przeprowadzania audytów witryn, które pomaga deweloperom w zwiększaniu wygody użytkowników witryn.

Lighthouse 10 jest już dostępny w wierszu poleceń za pomocą npm oraz w Chrome Canary. W najbliższych tygodniach funkcja ta zostanie udostępniona w Chrome 112, a w PageSpeed Insights – w kolejnych.

Zmiany w punktacji

W Lighthouse 10 usuwamy metrykę Czas do interakcji (TTI), kończąc proces wycofywania rozpoczęty w Lighthouse 8. Waga 10% wyniku TTI jest przenoszona na skumulowane przesunięcie układu (CLS), które będzie teraz stanowić 25% ogólnego wyniku skuteczności.

TTI oznacza określony moment, ale sposób jego definiowania powoduje, że jest on nadmiernie wrażliwy na nietypowe żądania sieciowe i długie zadania. Największe wyrenderowanie treści (LCP)indeks szybkości są zwykle lepszymi heurystycznymi wskaźnikami wczytania treści strony niż liczba aktywnych żądań sieciowych. Całkowity czas blokowania (TBT) lepiej obsługuje długie zadania i dostępność głównego wątku. Chociaż nie jest to bezpośredni wskaźnik zastępczy, ma on tendencję do lepszej korelacji z podstawowymi wskaźnikami internetowymi, jak wynika z danych zebranych w polu.

Większy udział CLS jest związany z usunięciem TTI, ale lepiej odzwierciedla znaczenie tego wskaźnika jako podstawowego wskaźnika internetowego. W idealnej sytuacji zwiększy on skupienie uwagi w przypadku witryn, które nadal powodują niepotrzebne zmiany układu.

Spodziewamy się, że dzięki temu poprawi się skuteczność większości stron, ponieważ większość z nich ma lepszy wynik CLS niż TTI. W ramach najnowszego uruchomienia archiwum HTTP przeanalizowaliśmy 13 mln wczytanych stron. Okazało się, że 90% z nich zyskało wyższą ocenę skuteczności w Lighthouse, a w przypadku 50% z nich wzrost ten wyniósł ponad 5 punktów.

wskaźnik Lighthouse, podzielony według danych (FCP, SI, LCP, TBT i CLS), które składają się na łączną ocenę;

Jeśli z jakiegoś powodu nadal potrzebujesz wartości TTI Lighthouse (np. w założeniu CI), jest ona nadal dostępna w pliku wyjściowym JSON Lighthouse, ale ma wagę 0 punktów i jest ukryta w raporcie HTML. Dostęp do wartości JSON za pomocą skryptu powinien działać bez zmian.

Nowe audyty

Lighthouse 10 wprowadza zupełnie nowy audyt wydajności i znaczną zmianę w innym audycie.

Pamięć podręczna stanu strony internetowej

Pamięć podręczna stanu strony internetowej (bfcache) to jedno z najskuteczniejszych narzędzi dostępnych do poprawy wydajności strony dla rzeczywistych użytkowników. Oprócz zwykłej pamięci podręcznej przeglądarki strona wczytana z pamięci BFCache przywróci układ strony i stan wykonania niemal natychmiast, pomijając większość czynności związanych z wczytywaniem strony i natychmiast wyświetli ją użytkownikom, gdy ci będą przechodzić do tyłu i do przodu w swojej historii.

Istnieje kilka sposobów, na które strona może uniemożliwić przeglądarce przywrócenie strony z pamięci podręcznej. Nowy audyt Lighthouse przekierowuje z strony testowej na inną stronę, a potem z powrotem, aby sprawdzić, czy można ją przechowywać w pamięci podręcznej, i wyświetla powody, jeśli nie.

Przykładowy wynik audytu bfcache, który wylicza błędy spowodowane otwartym połączeniem z IndexDB i obsługami wyładowywania na stronie

Więcej informacji znajdziesz w dokumentacji dotyczącej audytu bfcache.

Dane wejściowe zapobiegające wklejaniu

Stara kontrola najlepszych praktyk „Pozwala wklejać tekst w polach haseł” została rozszerzona, aby sprawdzać, czy wklejanie w dowolnym polu do wprowadzania danych (nie tylko w czytaniu tylko) będzie działać. W przypadku większości witryn zapobieganie wklejaniu ma negatywny wpływ na wrażenia użytkowników i uniemożliwia prawidłowe działanie procesów związanych z bezpieczeństwem i dostępnością.

Nowa weryfikacja to „Zezwala użytkownikom na wklejanie w polach do wprowadzania danych” (paste-preventing-inputs).

Użytkownicy węzła

Jeśli używasz Lighthouse jako biblioteki Node, w tej wersji może być kilka zmian programistycznych, które mogą wymagać uwzględnienia. Więcej informacji znajdziesz w dziennik zmian wersji 10.0.

Lighthouse 10 zawiera też pełne deklaracje typów TypeScript. Wszystkie dane zaimportowane z lighthouse powinny być teraz wpisywane, co powinno być szczególnie przydatne, jeśli tworzysz skrypty dróg użytkownika Lighthouse.

Skrypt Node importujący Lighthouse jako funkcję, który pokazuje, że obiekt options przekazywany do funkcji jest teraz sprawdzany pod kątem typu przez TypeScript

Wypróbuj te typy i daj nam znać, jeśli napotkasz jakiekolwiek problemy.

Uruchamianie Lighthouse

Lighthouse jest dostępny w Narzędziach deweloperskich w Chrome, npm (jako moduł Node i narzędzie CLI) oraz jako rozszerzenie do przeglądarki (w ChromeFirefox). Jest też używany w kilku usługach Google, m.in. w PageSpeed Insights.

Aby wypróbować interfejs wiersza poleceń Lighthouse Node, użyj tych poleceń:

npm install -g lighthouse
lighthouse https://www.example.com --view

Kontakt z zespołem Lighthouse

Aby omówić nowe funkcje, zmiany w wersji Lighthouse 10 lub inne kwestie związane z tym narzędziem: