Wyeliminuj zasoby blokujące renderowanie. Numer 1 poradnik krok po kroku – Wordpress.

W tym artykule dowiesz się jak przyspieszyć stronę internetową poprzez wyeliminowanie zasobów blokujących renderowanie oraz poznasz narzędzia niezbędne do lokalizacji krytycznego i niekrytycznego kodu JavaScript i CSS.
Podczas przetwarzania kodu witryny przeglądarka analizuje kod HTML, JavaScript i CSS, a następnie na tej podstawie buduje strukturę strony, czyli tak zwany DOM (Document Object Model) i CSSOM (CSS Object Model). Oba modele są reprezentowane jako drzewo, w którym każdy węzeł reprezentuje dany element lub jego style na stronie. Dzięki temu za pomocą języka JavaScript oraz API udostępnionego przez przeglądarkę uzyskujemy dostęp do tych elementów i możemy dokonywać z nimi interakcji.
Niestety niesie to za sobą duże konsekwencje. Gdy na stronie pojawi się źle osadzony kod JavaScript, to budowa drzewa strony zostaje przerwana na czas wykonania kodu!
Podobnie jest w przypadku CSS, osadzone style muszą zostać pobrane i przetworzone, zanim przeglądarka zacznie malować jakikolwiek pixel w oknie. Konsekwencją tego są kolejne opóźnienia.
Zatem jak zlokalizować i wyeliminować zasoby blokujące renderowanie na stronie i czym jest w ogóle krytyczny i niekrytyczny kod?

Krytyczny i niekrytyczny kod JavaScript i CSS
Rozwiązanie jest proste. Trzeba podzielić kod na krytyczny i niekrytyczny, a następnie zastosować na obu z nich odpowiednie metody ładowania.
Krytyczny kod JavaScript i CSS powinien zostać załadowany synchronicznie na samym początku. Jest niezbędny do poprawnego załadowania widocznej części strony (Above The Fold).
Zalecana objętość kodu do wygenerowania treści widocznych dla użytkownika wynosi 14 KB i nie powinna jej przekraczać.
Niekrytyczny kod JavaScript i CSS powinien zostać załadowany asynchronicznie i powinien być przetwarzany dopiero po załadowaniu widocznej części strony.

Lokalizacja krytycznych oraz niekrytycznych zasobów – Coverage Tool
Coverage jest narzędziem, pozwalającym dokładnie zbadać ile z ładowanych zasobów na stronie jest tak naprawdę przez nią wykorzystywane. Pozwala ono również zidentyfikować krytyczne i niekrytyczne zależności. Otrzymane w ten sposób informacje pozwolą na odpowiednie załadowanie zasobów na stronie.

Wyodrębnienie krytycznego i niekrytycznego kodu CSS (dla zaawansowanych)
Na początek zajmijmy się stylami CSS i zadowolmy tych, którzy oczekują najlepszych efektów. Oczywiście wiadomo, będzie wiązało się to z dużo większą pracą. Dlatego, aby nie zniechęcać wszystkich, to osoby zainteresowane automatyzacją tego procesu zapraszam do kolejnych akapitów tego artykułu.
Ceny za stronę internetową zaczynają się już od 499 złotych!
Skorzystaj z darmowej wyceny strony www. W ciągu 48 godzin skontaktuję się z Tobą i przedstawię Ci moją ofertę.
Wyodrębnienie krytycznego i niekrytycznego kodu JavaScript (dla zaawansowanych)
Zapewnienie nam użytkownika gamy różnych funkcjonalności często wiąże się z problemami. Jednym z nich jest blokowanie renderowania strony przez skrypy JavaScript. Niestety rozwiązania, które często lekkomyślnie wykorzystywane są na stronach, zazwyczaj nie są dobrze zoptymalizowane. Warto jest już na etapie projektowania strony przejrzeć dostępne szablony, wtyczki i wybrać najlepiej te lekkie, które są projektowane modularnie. Wszystkie niepotrzebne funkcje można wtedy wyłączyć, a potrzebne zostawić.
Potrzebujesz pomocy z optymalizacja witryny?
Najlepsze narzędzia i wtyczki Wordpress do automatycznego generowanie krytycznego kodu CSS
Automatyzacja tego procesu jeszcze szczególnie przydatna w witrynach opartych o system Wordpress. Strony oparte o CMS takie jak ten dynamicznie się zmieniają. Wtyczki i szablony wymagają nieraz stałych aktualizacji, właściciele stron wdrażają nowe podstrony, instalują nowe wtyczki albo wprowadzają różne zmiany, na stale rozbudowując witrynę. Każdy taki zabieg bez odpowiedniej automatyzacji wiązałby się z ogromnymi kosztami. Na szczęście jest wiele dostępnych wtyczek i rozwiązań pozwalających na automatyczne wygenerowanie krytycznego CSS i odpowiednie załadowanie niekrytycznych styli.
Najlepszymi z nich są FlyingPress, LiteSpeed Cache i Perfmatters. Osobiście korzystam z ostatniej opcji, ponieważ zapewnia mi ona wszystkie najpotrzebniejsze funkcje. Wtyczki wymienione powyżej dają możliwość wybrania metody osadzania niekrytycznego CSS. Posiadają one znaczną przewagę nad wtyczkami takimi jak WP-Rocket, które domyśle osadzają cały wyodrębniony kod metodą inline, czyli bezpośrednio w kodzie HTML.
Zrzuty z ekranu wyżej wymienionych wtyczek:
Zastosowanie oddzielnych plików jest znacznie szybsze, ponieważ nie zwiększa rozmiarów HTML i wszystkie pliki mogą być przechowywane w pamięci cache – bezpośrednio na urządzeniach użytkowników odwiedzających stronę. Dzięki czemu znacznie skraca czas ładowania strony, jak i ilość wysyłanych zapytań do serwera.
Podsumowując
Budując stronę zawsze wybieraj lekkie szablony oraz wtyczki! Korzystaj z tych projektowanych modularnie. Sprawdzaj czy autorzy wtyczek lub szablonów kładą jawny nacisk na optymalizacje ich oprogramowania. Ogranicz używanie niepotrzebnych wtyczek i zrezygnuj z nadmiarowych funkcjonalności – staraj się uzyskać we wszystkim złoty środek.
Zadbaj o to, aby wyodrębnić możliwe jak najwięcej krytycznego kodu i ładuj go synchronicznie najszybciej jak to tylko możliwe. Niekrytyczny kod usuń lub załaduj asynchronicznie, jeżeli zajdzie taka potrzeba.
W celu ograniczenia kosztów skorzystaj z narzędzi, które pomogą Ci zautomatyzować proces wyodrębniania krytycznych i niekrytycznych zasobów.
Pamiętaj!
Optymalizacja strony internetowej jest to wieloetapowy proces. Jeżeli twoja strona mimo starań nadal działa wolno to zachęcam do zainteresowania się innymi poradami na moim blogu.