Nowości w Lighthouse 10

Brendan Kenny
Brendan Kenny

Lighthouse to narzędzie do kontroli witryn, które pomaga deweloperom w diagnostyce i wykorzystywaniu możliwości, aby poprawić wygodę użytkowników.

Narzędzie Lighthouse 10 jest dostępne natychmiast w wierszu poleceń przez npm i w Chrome Canary. W najbliższych tygodniach trafi ona do stabilnej wersji Chrome w Chrome 112 oraz w narzędziu PageSpeed Insights.

Zmiany punktacji

Znane dane Czas do interakcji (TTI) są usuwane w Lighthouse 10, kończąc proces wycofywania rozpoczęty w Lighthouse 8. Waga wyniku TTI na poziomie 10% zostanie zastąpiona skumulowanym przesunięciem układu (CLS), która będzie stanowić 25% ogólnego wyniku skuteczności.

Funkcja TTI oznacza punkt w czasie, ale sposób jego zdefiniowania sprawia, że jest on zbyt czuły na odstające żądania sieciowe i długie zadania. Największe wyrenderowanie treści (LCP) i indeks szybkości zwykle uzyskują lepsze wyniki heurystyczne w przypadku poczucia wczytywania treści strony niż liczba aktywnych żądań sieciowych. Całkowity czas blokowania (TBT) zapewnia sprawniejsze działanie długich zadań i dostępności wątku głównego. Chociaż nie jest to bezpośredni serwer proxy, zwykle lepiej koresponduje z podstawowymi wskaźnikami internetowymi.

Zwiększenie wagi w CLS jest przypadkowe związane z usunięciem TTI, ale lepiej odzwierciedla jego znaczenie jako podstawowy wskaźnik internetowy i w miarę możliwości skoncentruje się na witrynach, które nadal powodują niepotrzebne zmiany układu.

Spodziewamy się, że pozwoli to poprawić wynik Wyniki wydajności, ponieważ większość stron ma zwykle lepsze wyniki w CLS niż TTI. Jak wynika z analizy 13 milionów wczytań stron podczas ostatniego uruchomienia archiwum HTTP, 90% tych stron odnotowało poprawę wyniku wydajności w Lighthouse, a 50% – o ponad 5 punktów.

Wskaźnik wyniku Lighthouse podzielony według danych (FCP, SI, LCP, TBT i CLS), które składają się na łączny wynik

Jeśli z jakiegoś powodu nadal potrzebujesz wartości Lighthouse TTI (np. w potwierdzeniu CI), jest ona wciąż dostępna w niezmienionych postaciach w danych wyjściowych JSON z Lighthouse, tylko z wagą wyniku 0 i ukrytą w raporcie HTML. Dostęp skryptowy do wartości JSON powinien nadal działać bez wprowadzania zmian.

Nowe audyty

Lighthouse 10 wprowadza zupełnie nowy audyt skuteczności i wprowadza istotną zmianę w innej.

Pamięć podręczna stanu strony internetowej

Pamięć podręczna stanu strony internetowej (bfcache) to jedno z najpotężniejszych narzędzi pozwalających poprawić wydajność strony u prawdziwych użytkowników. Poza normalną pamięcią podręczną przeglądarki strona wczytywana z pamięci podręcznej stanu strony internetowej niemal natychmiast przywróci jej układ i stan wykonania. W dużej mierze cały proces ładowania strony zostaje pominięty, a użytkownicy od razu widzą Twoją stronę w trakcie przeglądania historii.

Strona może jednak uniemożliwić przeglądarce przywrócenie strony z pamięci podręcznej stanu strony internetowej na kilka sposobów. Nowy audyt Lighthouse opuszcza stronę testową, a potem ponownie sprawdza, czy można ją umieścić w pamięci podręcznej stanu witryny, i wskazuje przyczyny niepowodzenia.

Przykładowy wynik kontroli bfcache z listą błędów spowodowanych otwartym połączeniem IndexDB i wyładowanymi modułami obsługi na stronie

Więcej informacji znajdziesz w dokumentacji audytu bfcache.

Dane wejściowe uniemożliwiające wklejenie

Stary audyt Sprawdzone metody „Zezwalaj użytkownikom na wklejanie w polach haseł” została rozszerzona i teraz można sprawdzić, czy wklejanie w dowolnym polu do wprowadzania danych (nietylko do odczytu) będzie działać. W przypadku większości witryn zapobieganie wklejaniu przynosi negatywne wrażenia użytkowników i uniemożliwia prawidłowe działanie funkcji związanych z bezpieczeństwem i ułatwieniami dostępu.

Nowa kontrola to teraz „Zezwalaj użytkownikom na wklejanie w polach do wprowadzania danych” (paste-preventing-inputs)

Użytkownicy węzła

Jeśli używasz Lighthouse jako biblioteki węzłów, w tej wersji wprowadziliśmy kilka automatycznych zmian powodujących niezgodność, które być może musisz wziąć pod uwagę. Więcej informacji znajdziesz w historii zmian 10.0.

Narzędzie Lighthouse w wersji 10 udostępnia też pełne deklaracje typu TypeScript. Teraz trzeba wpisać wszystkie elementy zaimportowane z lighthouse, co powinno być szczególnie przydatne, jeśli tworzysz skrypty z Lighthouse.

Skrypt węzła importujący Lighthouse jako funkcję, co pokazuje, że obiekt opcji przekazywany do funkcji jest teraz sprawdzany przez TypeScript

Wypróbuj je i daj nam znać, jeśli podczas korzystania z nich wystąpią jakieś problemy.

Uruchomiona latarnia morska

Narzędzie Lighthouse jest dostępne w Narzędziach deweloperskich w Chrome, npm (jako moduł węzła i narzędzie wiersza poleceń) oraz jako rozszerzenie przeglądarki (w Chrome i Firefoksie). Obsługuje również kilka usług Google, w tym PageSpeed Insights.

Aby wypróbować interfejs wiersza poleceń węzła w Lighthouse, użyj tych poleceń:

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

Skontaktuj się z zespołem Lighthouse

Jeśli chcesz porozmawiać o nowych funkcjach, zmianach w wersji Lighthouse 10 lub innych kwestiach związanych z Lighthouse: