Nowości w Lighthouse 10

Brendan Kenny
Brendan Kenny

Lighthouse to narzędzie do kontroli witryn, które pomaga deweloperom korzystać z możliwości i diagnostyki, aby zwiększać wygodę użytkowników korzystających z ich witryn.

Narzędzie Lighthouse 10 jest dostępne bezpośrednio w wierszu poleceń za pomocą npm i w Chrome Canary. W najbliższych tygodniach znajdzie się ona w wersji stabilnej Chrome w wersji 112 oraz w PageSpeed Insights.

Zmiany punktacji

Z kolei znane dane Time To Interactive (TTI) są usuwane z Lighthouse 10 na potrzeby procesu wycofywania rozpoczętego w Lighthouse 8. Waga wskaźnika TTI na poziomie 10% zmieni się na skumulowane przesunięcie układu (CLS), które będzie teraz odpowiadać 25% całkowitego wyniku skuteczności.

TTI oznacza punkt w czasie, ale jego zdefiniowanie sprawia, że jest on zbyt wrażliwy na odstające żądania sieciowe i długie zadania. Największe wyrenderowanie treści (LCP) i indeks szybkości są zwykle lepszymi wskaźnikami heurystycznymi w przypadku, gdy treść strony jest wczytana niż liczba aktywnych żądań sieciowych. Całkowity czas blokowania (TBT) działa sprawniej i sprawniej obsługuje długie zadania i dostępność wątków głównych. Nie jest to bezpośredni serwer proxy, ale zazwyczaj lepiej koreluje z podstawowymi wskaźnikami internetowymi, które zostały zmierzone w terenie.

Wzrost wagi jest przypadkowy w przypadku usunięcia technologii TTI, ale lepiej odzwierciedla jej znaczenie jako podstawowy wskaźnik internetowy i lepiej odzwierciedli znaczenie witryn, w których nadal występują niepotrzebne przesunięcia układu.

Przewidujemy, że poprawi to skuteczność większości stron, ponieważ większość stron ma zwykle lepszy wynik w CLS niż na TTI. Podczas analizy 13 milionów wczytań stron w ostatnim uruchomieniu archiwum HTTP 90% z tych stron zauważy poprawę wydajności w Lighthouse, a 50% – w przypadku 50% – wzrost wydajności o ponad 5 punktów.

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

Jeśli z jakiegoś powodu nadal potrzebujesz wartości TTI narzędzia Lighthouse (na przykład w assercji CI), jest ona nadal dostępna w niezmienionej postaci w danych wyjściowych narzędzia Lighthouse w formacie JSON, ale ma wagę 0 i jest ukryta w raporcie HTML. Dostęp za pomocą skryptu do wartości JSON powinien nadal działać bez wprowadzania zmian.

Nowe kontrole

Lighthouse 10 wprowadza zupełnie nowy audyt wydajności i dużą zmianę.

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 dla faktycznych użytkowników. Poza standardową pamięcią podręczną strony strona wczytana z pamięci podręcznej stanu strony przywróci jej układ i stan działania niemal natychmiast. W dużej mierze znikają wszystkie działania związane z wczytywaniem strony i pokazują ją użytkownikom natychmiast, gdy będą przeglądać zawartość historii.

Strona może jednak uniemożliwić przeglądarce przywrócenie strony z pamięci podręcznej stanu strony na kilka sposobów. Nowy audyt Lighthouse faktycznie powoduje opuszczenie strony testowej i z powrotem w celu sprawdzenia, czy jest ona dostępna w pamięci podręcznej, oraz zawiera listę powodów niepowodzenia.

Przykładowy wynik kontroli bfcache, zawierający listę niepowodzeń spowodowanych otwartym połączeniem IndexDB i wyładowanie modułów obsługi na stronie

Więcej informacji znajdziesz w dokumentacji kontroli bfcache.

Dane wejściowe zapobiegające wklejaniu

Stara kontrola sprawdzonych metod „Pozwala użytkownikom na wklejanie w polach haseł” została rozszerzona i teraz można sprawdzić, czy wklejanie do dowolnego pola do wprowadzania danych (nie tylko do odczytu) działa. W przypadku większości witryn zapobieganie wklejaniu może mieć negatywny wpływ na komfort korzystania z witryny i uniemożliwia rzetelne procesy związane z bezpieczeństwem i ułatwieniami dostępu.

Nowa kontrola to „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 zauważysz kilka zmian powodujących niezgodność z automatyzacją, które być może musisz uwzględnić. Szczegółowe informacje znajdziesz w historii zmian 10.0.

W Lighthouse 10 są również deklarowane pełne deklaracje typu TypeScript. Teraz musisz wpisać wszystkie dane zaimportowane z lighthouse. Jest to szczególnie przydatne, jeśli tworzysz procesy działań użytkowników w Lighthouse.

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

Wypróbuj je i daj nam znać, jeśli napotkasz jakieś problemy.

Uruchomiona latarnia morska

Narzędzie Lighthouse jest dostępne w Chrome DevTools, npm (jako moduł węzłów i narzędzie interfejsu wiersza poleceń) oraz jako rozszerzenie do przeglądarki (w Chrome i Firefoksie). Jest też obsługiwany przez kilka usług Google, w tym PageSpeed Insights.

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

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

Skontaktuj się z zespołem Lighthouse

Żeby omówić nowe funkcje, zmiany w wersji Lighthouse 10 lub inne kwestie związane z Lighthouse: