Skip to content

Optymalizacja aplikacji WordPress – konfiguracja bazowa i testy

WordPress to jedno z najczęściej wykorzystywanych rozwiązań do tworzenia stron internetowych i sklepów online. Mimo swoich zalet, w tym łatwości użycia i elastyczności, domyślna konfiguracja WordPressa rzadko kiedy jest zoptymalizowana pod kątem wydajności. Odpowiednia optymalizacja – zarówno na poziomie aplikacji, jak i serwera – może znacząco poprawić czas ładowania stron, wydajność backendu oraz ogólne doświadczenie użytkownika.


Przygotowanie środowiska testowego

Dla pokazania efektów pracy zostało przygotowane środowisko testowe z zainstalowanym WordPressem w panelu hostingowym.

Przygotowane środowisko testowe na współdzielonym koncie hostingowym posiadało wdrożone WooCommerce oraz zaimportowane dane dla przykładowego sklepu. W rezultacie powstała standardowa instalacja WordPress z kilkoma przykładowymi produktami i podstronamistronami (m.in. /cart, /shop, /product/*).

Na tym etapie nie była aktywna wtyczka LiteSpeed Cache


Testy wydajności – konfiguracja początkowa

Do przeprowadzenia testów obciążeniowych można wykorzystać narzędzie Locust, które pozwala na symulację ruchu wielu użytkowników na stronie. Skonfigurowano test dochący do 3000 równocześnie działających użytkowników, przy ramp-upie 100 użytkowników na sekundę.

Pomiar wydajności można uzyskać za pomocą narzędzia GTmetrix. Testy przeprowadzono dla trzech kluczowych podstron:

  • https://doku2.joton.dev/
  • https://doku2.joton.dev/index.php/cart/
  • https://doku2.joton.dev/index.php/product/beanie/

Locust – test wydajności

StronaŚredni czas (ms)Maksymalny czas (ms)
/ (Strona główna)77298
/cart/100210
/product/*~150–157~230
MetrykaWartość
Liczba użytkowników3000
Odsetek błędów~52%
Użytkownicy < 1s~50%

GTmetrix – szybkość ładowania

StronaLCP (ms)Fully Loaded (ms)Page SizeRequestsOcena
/588727249 KB22A
/index.php/cart/575647294 KB27A
/index.php/product/beanie/14001500277 KB29A

Wyniki pomiarów początkowych przedstawiają sie w powyższy sposób, aczkolwiek wprowadzając kilka zmian można przyspieszyć działanie strony.


Podstawowa optymalizacja WordPress

WordPress posiada kilka wbudowanych opcji, które pozwalają ograniczyć liczbę zapytań do serwera oraz przyspieszyć działanie panelu administracyjnego – bez potrzeby instalowania dodatkowych wtyczek.

Lokalizacja pliku wp-config.php na hostingu

Aby wprowadzić zmiany konfiguracyjne bezpośrednio w pliku wp-config.php, należy odnaleźć go w katalogu instalacyjnym WordPressa. Wygląda to następująco:

-Zalogować się do panelu klienta hostingu i przejść do Menadżera plików.

-W katalogu swojej strony wejść do folderu public_html

-W katalogu głównym public_html znajduje sie plik wp-config.php.

Optymalizacja przez wp-config.php

W pliku wp-config.php należy dodać następujące linie:

php
// Optymalizacja skryptów
define('CONCATENATE_SCRIPTS', true);
define('COMPRESS_SCRIPTS', true);
define('COMPRESS_CSS', true);

// Wyłączenie niepotrzebnych funkcji
define('DISABLE_WP_CRON', true);
define('AUTOMATIC_UPDATER_DISABLED', true);

Dzięki tym ustawieniom WordPress wykorzystuje mniej zasobów serwera i działa sprawniej – szczególnie w środowiskach z większym ruchem lub z wieloma wtyczkami.

Wyłączenie wbudowanego WP-Crona

Domyślnie WordPress uruchamia zaplanowane zadania przy każdym wejściu użytkownika na stronę, co może generować niepotrzebne opóźnienia.

Aby temu zapobiec, w pliku wp-config.php dodano:

define('DISABLE_WP_CRON', true);

Usunięcie nieużywanych wtyczek

W panelu WordPress (zakładka: Plugins) dezaktywowane i usunięte zostały wszystkie niepotrzebne wtyczki. Pozostawiono jedynie niezbędne komponenty, takie jak WooCommerce, niezbędny do działania sklepu.

Optymalizacja HTML, CSS i JS (Autoptimize)

Zainstalowano i skonfigurowano wtyczkę Autoptimize w celu minimalizacji kodu źródłowego strony:

  • Włączono optymalizację kodu JavaScript, CSS i HTML.
  • Aktywowano defer dla JS (opóźnienie ładowania).
  • Wyłączono agregację plików CSS i JS – z uwagi na możliwe problemy z kompatybilnością.
  • Wyłączono minifikację kodu inline oraz komentarzy HTML.

Konfiguracja została wykonana ostrożnie, z naciskiem na poprawność działania strony.

Optymalizacja obrazów (EWWW Image Optimizer)

Do kompresji i ładowania obrazów zastosowano wtyczkę EWWW Image Optimizer:

  • Włączono usuwanie metadanych EXIF.
  • Włączono Lazy Load (leniwe ładowanie) wraz z automatycznym skalowaniem.
  • Zdefiniowano maksymalne wymiary grafik (19201080px).
  • Włączono konwersję do formatu WebP.

Dodatkowo, w ustawieniach Media Settings WordPressa ograniczono domyślne rozmiary generowanych grafik:

  • Thumbnail: 150x150px
  • Medium: 300x300px
  • Large: 1024x1024px

Efekty po podstawowej optymaizacji

Po wykonaniu podstawowej optymalizacji WordPressa, możemy wykonać testy jescze raz.

GTmetrix

StronaLCP (ms)Fully Loaded (ms)RequestsOcena
/56969623A
/index.php/cart/55464328A
/index.php/product/beanie/61178930A

Locust

StronaŚredni czas (ms)Maksymalny czas (ms)Liczba żądań
/92.571721009
/cart/107.96213270
/product/beanie/118.23193122

Strona ładuje się szybciej, a czasy odpowiedzi utrzymują się na poziomie 100–160 ms. Brak błędów.


Optymalizacja krok 2: LiteSpeed Cache + Redis

W ramach zaawansowanej optymalizacji można się wdrożyć systemy buforowania na poziomie obiektów i zawartości za pomocą wtyczki LiteSpeed Cache oraz Redis Object Cache.

Włączenie LiteSpeed Cache

  1. Zainstalowano i aktywowano wtyczkę LiteSpeed Cache.
  2. W menu WordPressa → LiteSpeed Cache → General włączono opcję Enable LiteSpeed Cache.
  3. W zakładce Cache pozostawiono domyślne ustawienia.
  4. W zakładce Object:
    • Włączono Object Cache,
    • Ustawiono metodę: Redis,
    • Host: 127.0.0.1, port: 6379.

Konfiguracja Redis

  1. W panelu hostingu (Joton.io) włączono usługę Redis z poziomu ustawień strony (zakładka Zaawansowane → Redis).
  2. Redis został aktywowany jako serwer lokalny (127.0.0.1:6379), bez hasła, działający w kontenerze PHP.
  3. W WordPressie zainstalowano i aktywowano wtyczkę Redis Object Cache oraz należy kliknąć Enable Object Cache.
  4. Jeśli wszystko działa powinno być widać status jako Connected na zielono.

Testy końcowe

GTmetrix

StronaLCP (ms)Fully Loaded (ms)RequestsOcena
/40760123A
/index.php/cart/53760828A
/index.php/product/beanie/46059530A

Locust

StronaŚredni czas (ms)Maksymalny czas (ms)Liczba żądań
/56.061021039
/cart/105.96205276
/product/beanie/86.41141122

Przeprowadzone działania znacząco poprawiły szybkość działania strony opartej na WordPressie. Zoptymalizowany WordPress jest szybszy, stabilniejszy i bardziej efektywny – szczególnie w środowisku WooCommerce.