Szybsze działanie strony Joomla! to wygoda i polepszone pozycje w wyszukiwarce. Dbając o szybkie działanie naszej strony internetowej zwiększamy prawdopodobieństwo, że spełni ona swój cel – sprzeda produkt lub nakłoni klienta do kontaktu.

Pośrednim efektem dbania o szybkość jest często jest często mniejsze zużycie zasobów serwera i tym samym niższy koszt hostingu dla właściciela. Szybka i wydajna strona zużywając dużo mniej zasobów w serwerowniach i mocy urządzeń, na których jest wyświetlana przyczynia się do ochrony środowiska i ogranicza emisję gazów cieplarnianych do atmosfery. Istnieje nawet specjalna aplikacja na której możesz sprawdzić ekologiczność własnej strony internetowej pisałem o tym w artykule strony internetowe przyjazne środowisku.

Trafną i przydatną diagnostykę dotyczącą szybkości wczytywania i wydajności strony internetowej można wykonać za pomocą narzędzia PageSpeed Insights. Pamiętaj, że realne wyniki Twojej strony z uwzględnieniem realnych wejść użytkowników twojej strony odzwierciedlają dane znajdujące się w Search Console w dziale Podstawowe Wskaźniki Internetowe.

Joomla jako profesjonalny CMS posiada natywnie kilka standardowych rozwiązań, umożliwiających przyspieszenie serwowania strony i skracających czas ich wczytywania. Do zrealizowanie bardziej wyszukanych optymalizacji potrzebne będą dodatkowe moduły aż w końcu ręczne działania konfiguracji serwera i edycje kodów źródłowych.

1. Cache po stronie CMSa

Cache czyli pamięć podręczna to mechanizm odciążający bazę danych. Mechanizm ten wykorzystuje fakt, że dynamicznie generowana strona internetowa powinna wyglądać za każdym razem identycznie jeżeli nie wprowadzono do niej żadnych zmian.

Jak już wielokrotnie podkreślałem, Joomla! natywnie posiada funkcje związane z przyspieszaniem i skalowaniem stron, których na próżno szukać w konkurencyjnych systemach. Ustawienia związane z Cache są dostępne w panelu administratora i nie trzeba instalować dodatkowych modułów. Przechodzimy do panelu System > Konfiguracja globalna > System i wybieramy preferowaną metodę pamięci podręcznej.

Ustawienia pamięci podręcznej w Joomla!

Joomla pozwala wybrać dwa poziomy pamięci podręcznej:

  • poziom konserwatywny – to standardowe działanie buforowania. Przy wejściu na stronę system sprawdza czy strona jest zapisana w folderze cache, jeżeli jest, kod strony jest pobierany z pliku cache jeżeli nie, generowany jest kod strony, wyświetlany użytkownikowi i zapisywany jest cache. Jest to standardowa, prosta i najczęstsza metoda buforowania na stronach internetowych. Ta metoda buforowania jest bardzo efektywna, skutecznie przyspiesza stronę i radykalnie obniża TTFB.
  • poziom progresywny – jest to buforowanie z uwzględnieniem konkretnego użytkownika. To buforowanie działa tylko wtedy kiedy ten sam użytkownik już odwiedził konkretną podstronę w przeszłości. Jest to zatem mniej efektywny mechanizm i szybko zapełnia miejsce na dysku. Mechanizm jest przydatny wtedy, kiedy treści są mocno personalizowane dla każdego użytkownika i kiedy użytkownicy często na nią powracają.

2. Kompresja GZIP

Nie inaczej jest w kwestii kompresji GZIP. Tutaj też bez ręcznych edycji konfiguracji serwera czy pliku .htaccess można włączyć lub wyłączyć tę podstawową technikę przyspieszenia ładowania stron. System > Konfiguracja globalna > Serwer:

Kompresja GZIP Joomla

Zaletą kompresji gzip jest znacznie mniejsza objętość transmitowanych danych – może dochodzić do zaoszczędzenia ponad 75% objętości czytaj więcej w artykule o kompresji Brotli, GZIP, deflate.

Optymalizacja zdjęć Joomla!

Zdjęcia mają ogromny wpływ na wydajność strony i szybkość wczytywania po stronie klienta. Dla systemu Joomla! istnieją moduły ułatwiające i automatyzujące optymalizację zdjęć. Na optymalizację zdjęć na stronach internetowych składają się konkretne techniki:

  • kompresowanie zdjęcia poprzez ponowną regeneracją z innym stopniem kompresji,
  • dostosować ich wielkości (w pikselach) do kontekstu strony internetowej,
  • dodać atrybuty srcset dla mechanizmu responsywnych zdjęć,
  • wykorzystać format graficzny nowej generacji WebP,
  • wykorzystać technikę lazy-load,
  • wykorzystać CDN dla zasobów statycznych.

Wiele z tych technik można optymalizować za pomocą modułów: EIR – Easy Image Resizer, ImageRecycle image optimizer, OptiPic Images optimization, JSpeed, PXLCompressor, jomCDN, DJWebP.

Optymalizacja CSS, JS i HTML w systemie Joomla!

Techniki optymalizacji CSS trudno zautomatyzować i tutaj – tak jak w przypadku innych CMSów i technologii tworzenia strony potrzebna jest już ręka doświadczonego dewelopera. System Joomla! też ma do zaoferowania kilka modułów, które są w stanie wykonać najprostsze działania tzn. zminimalizować, scalić pliki lub załączyć je do kodu HTML. Niektóre z nich to JCH Optimize czy JSpeed.

Nie zapomnij o podstawowej optymalizacji kodu CSS, która powinna być wykonana podczas tworzona szablonu lub strony możesz o nich przeczytać w artykułach o optymalizacji zasobów tekstowych i krytycznej ścieżce renderowania.

Nagłówki Expires i Cache Control

Każdy prawdziwy serwer HTTP, taki jak Apache lub Apache z akceleracją NGINX obsługuje nagłówki Cache Control i/lub Expires. Jeżeli serwer nie posiada domyślnie skonfigurowanych nagłówków na okres 1 roku należy dokonać ręcznej konfiguracji serwera. Jedną z alternatywnych możliwości jest edycja pliku .htaccess:

ExpiresActive On
ExpiresDefault "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/webp "access 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/html "access plus 1 year"
ExpiresByType application/xhtml+xml "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"

Czytaj więcej na czym polega ta optymalizacja i jak aktywować alternatywne techniki pamięci podręcznej w przeglądarkach: Pamięć podręczna Expires i Cache-Control.

Nie zapomnij o szybkim i kompatybilnym serwerze

Pamiętaj, że żadne działania optymalizacyjne i nakłady na optymalizacje nie będą w stanie nadrobić wolnych lub nawet lekko spóźnionych odpowiedzi serwera HTTP. Joomla! tak jak inne popularne systemy CMS potrzebuje sprawnego i zgodnego z dokumentacją serwera HTTP. W dokumentacji tego systemu są wymienione trzy serwery HTTP, które mogą stanowić fundament pod stronę internetową Joomla! Oczywiście, chodzi w tym momencie o serwer Apache i NGINX.

Wspierane serwery przez system Joomla!

Wybór innych serwerów takich jak IdeaWebServer, LiteSpeed lub innych eksperymentalnych i mało popularnych serwerów (niestety popularnych w naszym kraju) jest błędne z punktu widzenia utrzymywania strony. Strona taka może funkcjonować prawidłowo, ale w części przydatków będzie działać wolniej. My wówczas nie będziemy mogli wykorzystać wszystkich technik optymalizacyjnych wymienionych w tym artykule.

Podsumowanie

System Joomla! pozytywnie zaskakuje jeśli chodzi o możliwości optymalizacyjne dostępne w panelu administratora. Bez żadnych modułów możemy aktywować pamięć podręczną działającą w systemie plików lub w warstwie pamięci podręcznej Memcache lub Redis. Optymalizację zdjęć i zasobów tekstowych wykonamy za pomocą licznych modułów i standardowych działań optymalizacyjnych wykonywanych po stronie serwera lub w trakcie tworzenia strony.

Oceń artykuł na temat: Przyspieszanie strony Joomla
Średnia : 4.8 , Maksymalnie : 5 , Głosów : 5