SlideShare a Scribd company logo
1 of 38
W 3 sekundy do setki…
WordUp Warszawa – 18.11.206 - Krzysztof Radzikowski
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 - Instant
100-300 ms - Sluggish
300 - 1000 ms - Is working
1s+ - Mental context switch
10s+ - I'll come back later...
https://www.soasta.com/blog/page-bloat-average-web-page-2-mb/
Średnia wielkość strony internetowej
Renderowanie strony
Optymalizacja
HIGH PERFORMANCE WEB SITES (2007)
by Steve Souders:
Rule 1 - Make Fewer HTTP Requests
Rule 2 - Use a Content Delivery Network
Rule 3 - Add an Expires Header
Rule 4 - Gzip Components
Rule 5 - Put Stylesheets at the Top
Rule 6 - Put Scripts at the Bottom
Rule 7 - Avoid CSS Expressions
Rule 8 - Make JavaScript and CSS External
Rule 9 - Reduce DNS Lookups
Rule 10 - Minify JavaScript
Rule 11 - Avoid Redirects
Rule 12 - Remove Duplicate Scripts
Rule 13 - Configure ETags
Rule 14 - Make AJAX Cacheable
Narzędzia
Google Page Speed
GTMetrix.com
Pingdom.com
WebPageTest.org
Google page speed https://developers.google.com/speed/pagespeed/insights/
Waterfall
Insights
Optymalizacja
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
Critical Rendering Path
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/
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
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
Grafiki
• 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/
CSS / JS
• Minifikacja
• Łączenie
• Asynchroniczne ładowanie JS
• Umiejscowienie w kodzie
Cache – pamięć podręczna
Serwer Przeglądarka
Wykorzystanie cache pozwala na wydatne zmniejszenie ilości zasobów
pobieranych za każdym pobraniem i przeładowaniem strony
/*** 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
Wtyczki
• W3Total Cache
• WP Super Cache
• WP Fastest Cache
• WP Rocket
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
Wybór theme
• Przeładowanie CSS/JS
• Przeładowanie ilości wtyczek
• Zbędne funkcje / CPT
• Page Buildery
Dzięki za uwagę
Krzysztof Radzikowski
krzysztof@radzikow.ski

More Related Content

Viewers also liked

Zalety i wady WooCommerce
Zalety i wady WooCommerceZalety i wady WooCommerce
Zalety i wady WooCommerceMaciej Swoboda
 
Duży sklep na WooCommerce
Duży sklep na WooCommerceDuży sklep na WooCommerce
Duży sklep na WooCommerceMaciej Swoboda
 
Working with an enterprise client - a case study of creating a WooCommerce pl...
Working with an enterprise client - a case study of creating a WooCommerce pl...Working with an enterprise client - a case study of creating a WooCommerce pl...
Working with an enterprise client - a case study of creating a WooCommerce pl...Maciej Swoboda
 
Revanta smart residency, l zone, delhi dwarka
Revanta smart residency, l zone, delhi dwarkaRevanta smart residency, l zone, delhi dwarka
Revanta smart residency, l zone, delhi dwarkaUniversal Prop world LLP.
 
76-79 Pullman low res
76-79 Pullman low res76-79 Pullman low res
76-79 Pullman low resIndrajit Sen
 
الشعلة الثانية-..-عودي-يا-ليالي-..1986
الشعلة الثانية-..-عودي-يا-ليالي-..1986الشعلة الثانية-..-عودي-يا-ليالي-..1986
الشعلة الثانية-..-عودي-يا-ليالي-..1986Mahmoud Elfeky
 
5 Apps That Help Us Give Back
5 Apps That Help Us Give Back 5 Apps That Help Us Give Back
5 Apps That Help Us Give Back John Partilla
 
Ugandan Global Health Profile_MackenzieWright_2015
Ugandan Global Health Profile_MackenzieWright_2015Ugandan Global Health Profile_MackenzieWright_2015
Ugandan Global Health Profile_MackenzieWright_2015Mackenzie Wright
 
الشعلة الخامسة-..-ميال..ميال-..1988
الشعلة الخامسة-..-ميال..ميال-..1988الشعلة الخامسة-..-ميال..ميال-..1988
الشعلة الخامسة-..-ميال..ميال-..1988Mahmoud Elfeky
 
ふとしの部屋1.5年間の生き様
ふとしの部屋1.5年間の生き様ふとしの部屋1.5年間の生き様
ふとしの部屋1.5年間の生き様デジ太郎 アクア
 
материнская плата
материнская плата материнская плата
материнская плата yadykinvladuslav
 
Apresentacao plano
Apresentacao planoApresentacao plano
Apresentacao planoFael Lopes
 

Viewers also liked (18)

Zalety i wady WooCommerce
Zalety i wady WooCommerceZalety i wady WooCommerce
Zalety i wady WooCommerce
 
Duży sklep na WooCommerce
Duży sklep na WooCommerceDuży sklep na WooCommerce
Duży sklep na WooCommerce
 
Working with an enterprise client - a case study of creating a WooCommerce pl...
Working with an enterprise client - a case study of creating a WooCommerce pl...Working with an enterprise client - a case study of creating a WooCommerce pl...
Working with an enterprise client - a case study of creating a WooCommerce pl...
 
Strategy-Brief
Strategy-Brief Strategy-Brief
Strategy-Brief
 
Revanta smart residency, l zone, delhi dwarka
Revanta smart residency, l zone, delhi dwarkaRevanta smart residency, l zone, delhi dwarka
Revanta smart residency, l zone, delhi dwarka
 
76-79 Pullman low res
76-79 Pullman low res76-79 Pullman low res
76-79 Pullman low res
 
الشعلة الثانية-..-عودي-يا-ليالي-..1986
الشعلة الثانية-..-عودي-يا-ليالي-..1986الشعلة الثانية-..-عودي-يا-ليالي-..1986
الشعلة الثانية-..-عودي-يا-ليالي-..1986
 
5 Apps That Help Us Give Back
5 Apps That Help Us Give Back 5 Apps That Help Us Give Back
5 Apps That Help Us Give Back
 
Ugandan Global Health Profile_MackenzieWright_2015
Ugandan Global Health Profile_MackenzieWright_2015Ugandan Global Health Profile_MackenzieWright_2015
Ugandan Global Health Profile_MackenzieWright_2015
 
الشعلة الخامسة-..-ميال..ميال-..1988
الشعلة الخامسة-..-ميال..ميال-..1988الشعلة الخامسة-..-ميال..ميال-..1988
الشعلة الخامسة-..-ميال..ميال-..1988
 
UPDATED PLANS BOOK CMYK
UPDATED PLANS BOOK CMYKUPDATED PLANS BOOK CMYK
UPDATED PLANS BOOK CMYK
 
G Hillstrom Resume
G Hillstrom ResumeG Hillstrom Resume
G Hillstrom Resume
 
ふとしの部屋1.5年間の生き様
ふとしの部屋1.5年間の生き様ふとしの部屋1.5年間の生き様
ふとしの部屋1.5年間の生き様
 
Deck lumber
Deck lumberDeck lumber
Deck lumber
 
материнская плата
материнская плата материнская плата
материнская плата
 
abstract
abstractabstract
abstract
 
Apresentacao plano
Apresentacao planoApresentacao plano
Apresentacao plano
 
50-55
50-5550-55
50-55
 

Similar to W 3 sekundy do setki

Optymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NETOptymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NETBartlomiej Zass
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015Tomasz Dziuda
 
Responsive Web Design - co z tego wynikło?
Responsive Web Design - co z tego wynikło?Responsive Web Design - co z tego wynikło?
Responsive Web Design - co z tego wynikło?Tomasz Dziuda
 
Zwiększ szybkość! Optymalizacja serwisów internetowych
Zwiększ szybkość! Optymalizacja serwisów internetowychZwiększ szybkość! Optymalizacja serwisów internetowych
Zwiększ szybkość! Optymalizacja serwisów internetowychWydawnictwo Helion
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierciDivante
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówArkadiusz Stęplowski
 
Joomla a responsywność
Joomla a responsywnośćJoomla a responsywność
Joomla a responsywnośćTomasz Dziuda
 
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...PROIDEA
 
Responsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądziResponsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądziJakub Wiśniewski
 
W3 Total Cache - skuteczne przyśpieszanie WordPressa
W3 Total Cache - skuteczne przyśpieszanie WordPressaW3 Total Cache - skuteczne przyśpieszanie WordPressa
W3 Total Cache - skuteczne przyśpieszanie WordPressaBartosz Romanowski
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )GOG.com dev team
 
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytaćWszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytaćMaciej Swoboda
 
Optymalizacja pracy front-end developera
Optymalizacja pracy front-end developeraOptymalizacja pracy front-end developera
Optymalizacja pracy front-end developeraSzymon Kadzielawa
 
Optymalizacja pracy front-end developera
Optymalizacja pracy front-end developeraOptymalizacja pracy front-end developera
Optymalizacja pracy front-end developeraWordCamp Polska
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaWojciech Lichota
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGBart Zaremba
 

Similar to W 3 sekundy do setki (20)

Optymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NETOptymalizacja aplikacji ASP.NET
Optymalizacja aplikacji ASP.NET
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
 
Responsive Web Design - co z tego wynikło?
Responsive Web Design - co z tego wynikło?Responsive Web Design - co z tego wynikło?
Responsive Web Design - co z tego wynikło?
 
Responsive Web Design - Michał Rachowski Squiz
Responsive Web Design - Michał Rachowski SquizResponsive Web Design - Michał Rachowski Squiz
Responsive Web Design - Michał Rachowski Squiz
 
Zwiększ szybkość! Optymalizacja serwisów internetowych
Zwiększ szybkość! Optymalizacja serwisów internetowychZwiększ szybkość! Optymalizacja serwisów internetowych
Zwiększ szybkość! Optymalizacja serwisów internetowych
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
 
Pocałunek śmierci
Pocałunek śmierciPocałunek śmierci
Pocałunek śmierci
 
TGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert CharewiczTGT#20 - Ataki XSS - Robert Charewicz
TGT#20 - Ataki XSS - Robert Charewicz
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderów
 
Joomla a responsywność
Joomla a responsywnośćJoomla a responsywność
Joomla a responsywność
 
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
Marcin Mazurek - High Scalability: Building bigger, faster, more reliable web...
 
Responsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądziResponsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądzi
 
W3 Total Cache - skuteczne przyśpieszanie WordPressa
W3 Total Cache - skuteczne przyśpieszanie WordPressaW3 Total Cache - skuteczne przyśpieszanie WordPressa
W3 Total Cache - skuteczne przyśpieszanie WordPressa
 
Feo w-joomla
Feo w-joomlaFeo w-joomla
Feo w-joomla
 
The story of GOG.com Cache - PHPers 2014 ( PL )
 The story of GOG.com Cache - PHPers 2014 ( PL ) The story of GOG.com Cache - PHPers 2014 ( PL )
The story of GOG.com Cache - PHPers 2014 ( PL )
 
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytaćWszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
Wszystko, co chciałbyś wiedzieć 
o WooCommerce, ale bałeś się zapytać
 
Optymalizacja pracy front-end developera
Optymalizacja pracy front-end developeraOptymalizacja pracy front-end developera
Optymalizacja pracy front-end developera
 
Optymalizacja pracy front-end developera
Optymalizacja pracy front-end developeraOptymalizacja pracy front-end developera
Optymalizacja pracy front-end developera
 
Apache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użyciaApache http server - proste i zaawansowane przypadki użycia
Apache http server - proste i zaawansowane przypadki użycia
 
Websites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUGWebsites vs Cloud Services - OLMUG
Websites vs Cloud Services - OLMUG
 

W 3 sekundy do setki

  • 1. W 3 sekundy do setki… WordUp Warszawa – 18.11.206 - Krzysztof Radzikowski
  • 2. 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 - Instant 100-300 ms - Sluggish 300 - 1000 ms - Is working 1s+ - Mental context switch 10s+ - I'll come back later...
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 12. HIGH PERFORMANCE WEB SITES (2007) by Steve Souders: Rule 1 - Make Fewer HTTP Requests Rule 2 - Use a Content Delivery Network Rule 3 - Add an Expires Header Rule 4 - Gzip Components Rule 5 - Put Stylesheets at the Top Rule 6 - Put Scripts at the Bottom Rule 7 - Avoid CSS Expressions Rule 8 - Make JavaScript and CSS External Rule 9 - Reduce DNS Lookups Rule 10 - Minify JavaScript Rule 11 - Avoid Redirects Rule 12 - Remove Duplicate Scripts Rule 13 - Configure ETags Rule 14 - Make AJAX Cacheable
  • 14. Google page speed https://developers.google.com/speed/pagespeed/insights/
  • 15.
  • 16.
  • 17.
  • 18.
  • 21. 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
  • 23. 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
  • 24. 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
  • 26.
  • 27.
  • 28. • 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/
  • 29. CSS / JS • Minifikacja • Łączenie • Asynchroniczne ładowanie JS • Umiejscowienie w kodzie
  • 30.
  • 31.
  • 32. Cache – pamięć podręczna Serwer Przeglądarka
  • 33. Wykorzystanie cache pozwala na wydatne zmniejszenie ilości zasobów pobieranych za każdym pobraniem i przeładowaniem strony
  • 34. /*** 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
  • 35. Wtyczki • W3Total Cache • WP Super Cache • WP Fastest Cache • WP Rocket
  • 36. 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
  • 37. Wybór theme • Przeładowanie CSS/JS • Przeładowanie ilości wtyczek • Zbędne funkcje / CPT • Page Buildery
  • 38. Dzięki za uwagę Krzysztof Radzikowski krzysztof@radzikow.ski