Paweł "Otlet" Otlewski

Optymalizacja strony WWW

Blog Tworzenie WWW 383

Optymalizacja strony WWW to druga najważniejsza część tworzenia strony WWW (zaraz po bezpieczeństwie).

Nie wspominam na temat optymalizacji stron WWW pod kątem czysto marketingowym. Tylko wspominam o szybkości działania aplikacji.

Jesteśmy tylko ludźmi i to bardzo niecierpliwymi.

Optymalizacja a kreatory

Największym grzechem tworzenia oprogramowania dla stron WWW jest niedbalstwo i lenistwo programisty.

Brak zadbania o bezpieczeństwo strony i brak optymalizacji strony, by chodziła szybko. Strony aktualnie często tworzymy na bazie WordPress + wtyczki. Wtyczka elementary i/lub Divi skutecznie blokują szanse stworzenia wydajnej i bezpiecznej strony.

Kreatory to bardzo szybki sposób na stworzenie strony pozwalający również dokonywać szybko zmiany w wyglądzie strony bez wzrostu kosztów i czasu produkcji aplikacji, a także powiększanie interaktywnej ilości treści.

Szybkie tworzenie aplikacji powoduje, że nasza strona nie jest generowana z poziomu czystego kodu. Sam widok pierw ładujemy z bazy danych. Tym samym ilość koniecznych operacji dużo większa.

Chcą posiadać szybką stronę zrezygnujmy z kreatorów i miliona wtyczek. Jak już musimy z takiego narzędzia korzystać to ograniczmy jego wykorzystanie do niezbędnego minimum.

Optymalizacja i źle zaprojektowana aplikacja

Aplikacje tworzy się od zera. Blogi, sklepy, czy duże aplikacje mogą generować problem dla niewprawnego programisty. Najpopularniejsze problemy to:

  • Zbyt duży framework. Po co dla prostego API wykorzystywać Symfony lub Django. Można wykorzystać Slim lub Flaska?
  • Zbyt dużo bibliotek. Przykładowo korzystając z cURL, lepiej to napisać od zera, czy wykorzystać dużą bibliotekę typu Guzzle?
  • Złe wykorzystanie frameworka i bibliotek. Narzędzie Symfony ma wbudowaną bibliotekę Guzzle – po co korzystamy z kolejnej, a biblioteka nieużywana i tak jest importowana?
  • Niedostosowanie zapytań do potrzeb – złe zaprojektowanie bazy i wtedy tworzenie setek LIKE, CONCAT itp.? Brak indeksowania w tabeli?

To tylko kilka częstych błędów. Stworzą nam dług technologiczny, a sama aplikacja będzie wolnym kombajnem.

Optymalizacja strony a wolny serwer

Przyznam, że w 90% przypadków stron klientów – wolny serwer nie jest prawdą. Jak to się dzieje? Dwa sklepy uruchomione na PrestaShop tak bardzo działające inaczej i wolniej? Swego czasu próbowałem to wytłumaczyć pewnemu „Januszowi internetowej sprzedaży”, ale człowiek nietechniczny wie lepiej prawda? Stronę stworzył mu amator, strona jest tragicznie zaprojektowana. Nie sądziłem nigdy, że można tak bardzo zepsuć coś tak banalnego, szczególnie że nawet nic tam nie było „autorskiego”. Czysta Presta tylko tak źle przygotowane produkty, że błagało to o litość.

Faktem jest, że wolny serwer potrafi spowolnić stronę. Nawet bardzo często, patrząc po skali. Pierwszym powinna być optymalizacja aplikacji. Ostatecznie powiększanie infrastruktury.

Posiadając ruch w tysiącach odwiedzin każdego dnia to od razu pomyślmy o dedykowanej platformie. Serwer VPS, serwer dedykowany, load balancer, rozdzielenie na serwer aplikacji i bazodanowy, czy usługi chmurowe. Pozwoli to zaoszczędzić godziny pracy programistom, a Wam drodzy klienci nerwów i kosztów.

Przykładowo do prostego API można wykorzystać infrastrukturę serverless (Function as a Service). Dla dużej aplikacji najlepiej będzie zaprojektować u podstaw sposób wykorzystywania infrastruktury.

optymalizacja stron www

Optymalizacja a sztuka

W narzędziach typu GTMetrix, Google Page Insight, czy na web.dev często pokazywane są informacje o czysto front-end’owych problemach z optymalizacją stron (niestety potok – z ang. waterfall ładowania aplikacji wskaże, że serwer odpowie po 10 sekundach, co nie jest do końca prawdą).

Wielokrotne rozmowy z fotografami, artystami i osobami technicznie zacofanymi do okresu kamienia łupanego mówiły, że zdjęcia na ich stronie muszą być ładnej jakości. Pamiętajmy, że zdjęcie będzie można wydrukować sobie wtedy za darmo! Wrzucanie na stronę zdjęć po kilka megabajtów jest głupotą w rozumieniu tworzenia stron mobile-first.

Użytkownik przeciętnej strony WWW ma maksymalnie monitor 4k. Oznacza to jedynie fakt, że strona powinna posiadać maksymalnie zdjęcia rzędu kilku kilobajtów? Chyba do niepotrzebnego przedłużania czasu ładowania strony.

O informacji na temat kompresji fotografowie dostają piany na ustach. Nie zalecam o tym wspominać… Szkoda, że zrozumienie kompresji przesyłania plików na trasie serwer – klient jest takie trudne do wyjaśnienia…

Podsumowanie

Artykuł miał być większy, niestety nie chciałem podawać technik optymalizacyjnych. To temat na osobne studia.

Firmy tworzące strony WWW masowo nie dbają o optymalizację stron WWW. Te strony są wolne i robione na generatorach co tylko naraża nas na koszty i utratę klientów.

Drogi czytelniku, czy uważasz inaczej? Może coś powodujące inne popularne problemy optymalizacyjne?

Zaprasza do zapoznania się z innymi moimi wpisami: tutaj!
Oraz do mojego ukochanego JestemGraczem.pl

Paweł Otlewski

Programista, Webmaster, DevOps, Administrator - różnie się mnie nazywa. Ja po prostu jestem pasjonatem informatyki, uwielbiam gry komputerowe oraz tematykę bezpieczeństwa IT.

Wszelkie prawa zastrzeżone | Paweł Otlewski
%d bloggers like this: