W 3 sekundy do setki

38
W 3 sekundy do setki… WordUp Warszawa – 18.11.206 - Krzysztof Radzikowski

Transcript of W 3 sekundy do setki

Page 1: W 3 sekundy do setki

W 3 sekundy do setki…

WordUp Warszawa – 18.11.206 - Krzysztof Radzikowski

Page 2: W 3 sekundy do setki

https://blog.kissmetrics.com/loading-time/

Każda sekunda różnicy w ładowaniu strony przekłada się na 7-9 % zmniejszenia obrotu strony e-commerce

W przypadku Amazona wyliczono w testach A/B stratę ok 0,3 mln $ na każde 10ms opóźnienia

Response times limits (Usability Engineering - Jakob Nielsen, 1993)0-100 ms - Instant100-300 ms - Sluggish300 - 1000 ms - Is working1s+ - Mental context switch10s+ - I'll come back later...

Page 3: W 3 sekundy do setki

https://www.soasta.com/blog/page-bloat-average-web-page-2-mb/

Średnia wielkość strony internetowej

Page 4: W 3 sekundy do setki

Renderowanie strony

Page 5: W 3 sekundy do setki
Page 6: W 3 sekundy do setki
Page 7: W 3 sekundy do setki
Page 8: W 3 sekundy do setki
Page 9: W 3 sekundy do setki
Page 10: W 3 sekundy do setki
Page 11: W 3 sekundy do setki

Optymalizacja

Page 12: W 3 sekundy do setki

HIGH PERFORMANCE WEB SITES (2007)by Steve Souders:Rule 1 - Make Fewer HTTP RequestsRule 2 - Use a Content Delivery NetworkRule 3 - Add an Expires HeaderRule 4 - Gzip ComponentsRule 5 - Put Stylesheets at the TopRule 6 - Put Scripts at the BottomRule 7 - Avoid CSS ExpressionsRule 8 - Make JavaScript and CSS ExternalRule 9 - Reduce DNS LookupsRule 10 - Minify JavaScriptRule 11 - Avoid RedirectsRule 12 - Remove Duplicate ScriptsRule 13 - Configure ETagsRule 14 - Make AJAX Cacheable

Page 13: W 3 sekundy do setki

Narzędzia

Google Page SpeedGTMetrix.comPingdom.com

WebPageTest.org

Page 14: W 3 sekundy do setki

Google page speed https://developers.google.com/speed/pagespeed/insights/

Page 15: W 3 sekundy do setki
Page 16: W 3 sekundy do setki
Page 17: W 3 sekundy do setki
Page 18: W 3 sekundy do setki
Page 19: W 3 sekundy do setki

Waterfall

Insights

Page 20: W 3 sekundy do setki

Optymalizacja

Page 21: W 3 sekundy do setki

Podane niżej wskazówki należy stosować z zachowaniem ostrożności i testowaniem aplikacji po każdej wprowadzonej zmianie

W zależności od serwera część z przedstawionych metod może pomóc lub zawiesić stronę

AMAB – Always make a backup

Page 22: W 3 sekundy do setki

Critical Rendering Path

https://developers.google.com/web/fundamentals/performance/critical-rendering-path/

Page 23: W 3 sekundy do setki

Serwer

• Środowisko serwerowe odpowiednie do planowanego natężenia ruchu (shared/VPS/cloud)• Wersja PHP – preferowana 7.x z uwagi na wydajność względem wersji 5.6 • HTTP/2 opcja push – W przypadku braku zalecane Cloudflare

Page 24: W 3 sekundy do setki

CDN

Przeglądarki maja ograniczenie do ilości pobieranych zasobów per domena 6-14

CDN pozwala na szybsze pobieranie typowych skryptów (Boostrap/ Font Awesome)

Zamiast CDN można użyć subdomeny do wczytywania grafik i zasobów

Page 25: W 3 sekundy do setki

Grafiki

Page 26: W 3 sekundy do setki
Page 27: W 3 sekundy do setki
Page 28: W 3 sekundy do setki

• Nie używać rozdzielczości większych niż największy kontener występujący na stronie• Optymalizacja wielkości obrazków• Zmniejszenie ilości grafik – sprity, svg , ikonki • Lazyload zastosowany na doczytywane grafiki – nigdy na całość strony

Pluginy:

• EWWW Image Optimizer• WP Smush• Imsanity

Online

• https://tinypng.com/• https://kraken.io/

Page 29: W 3 sekundy do setki

CSS / JS

•Minifikacja• Łączenie•Asynchroniczne ładowanie JS•Umiejscowienie w kodzie

Page 30: W 3 sekundy do setki
Page 31: W 3 sekundy do setki
Page 32: W 3 sekundy do setki

Cache – pamięć podręczna

Serwer Przeglądarka

Page 33: W 3 sekundy do setki

Wykorzystanie cache pozwala na wydatne zmniejszenie ilości zasobów pobieranych za każdym pobraniem i przeładowaniem strony

Page 34: W 3 sekundy do setki

/*** Remove Query String from Static Resources ***/function remove_cssjs_ver( $src ) { if( strpos( $src, '?ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src;}add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 );add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );

Powyższa funkcja pozwala na usunięcie tzw wersjonowania z plików co zapobiega niepotrzebnym ponownym pobieraniu zasobów css/js na niektórych konfiguracjach serwera

Page 35: W 3 sekundy do setki

Wtyczki

•W3Total Cache•WP Super Cache •WP Fastest Cache

•WP Rocket

Page 36: W 3 sekundy do setki

Unikajmy

Nadmiernego ładowania zewnętrznych zasobów

• Facebook • Google Maps • Youtube Video

Nieumiejętna implementacja może doprowadzić do niepotrzebnego ładowania dodatkowych plików js/css

Sam player YT to ponad 640 KB niezbędno do otworzenia video

Page 37: W 3 sekundy do setki

Wybór theme

• Przeładowanie CSS/JS• Przeładowanie ilości wtyczek• Zbędne funkcje / CPT • Page Buildery

Page 38: W 3 sekundy do setki

Dzięki za uwagę

Krzysztof Radzikowski

[email protected]