LiteSpeed: Przyśpiesz WordPress na Coolify – 100/100 PageSpeed

Cześć! 👋
Jeśli kiedykolwiek zastanawiałeś się, jak sprawić, by Twoja strona WordPress ładowała się błyskawicznie, to jesteś we właściwym miejscu. Wiele osób myśli, że trzeba kupić płatną wtyczkę, np. WP Rocket, a prawda jest taka, że LiteSpeed Cache jest darmowy, zintegrowany bezpośrednio z serwerem LiteSpeed i przy dobrej konfiguracji potrafi bić na głowę płatne rozwiązania.

W tym poradniku pokażę Ci krok po kroku, jak przyśpieszyłem własnego WordPressa działającego na Coolify. Połączymy OpenLiteSpeed, wtyczkę LiteSpeed Cache, uporządkowaną strukturę plików, sensowne logowanie i zoptymalizowaną konfigurację serwera, żeby uzyskać środowisko nie tylko szybkie, ale też stabilne i łatwe w utrzymaniu.

Na końcu będziesz wiedział, jak osiągnąć magiczne 100/100 w PageSpeed, poprawić SEO i przygotować serwer na większy ruch. Zaczynajmy! 🚀

Zrzut ekranu pokazujący wynik 100/100 w narzędziu PageSpeed od Google

Cel jest prosty — 100/100 w PageSpeed (w szczególności mobile) i lepsze SEO. Zaczynamy. 🚀

Masz już WordPress na Coolify?

Świetnie, w tym poradniku nie tworzymy strony WordPress na Coolify od zera.
Jeśli jednak nie skonfigurowałeś jeszcze WordPressa na Coolify to zajrzyj tu: Właściwy sposób instalacji WordPressa i MySQL na Coolify w 2025 – hasto.pl
Tutaj skupiamy się już wyłącznie na optymalizacji. 😉


Zanim zaczniesz!

  • Zrób backup. Zrzut bazy + kopia katalogu WordPressa.
  • Zapisz aktualną konfigurację. Jeśli masz zmapowane wolumeny — skompresuj je przed zmianami.
  • Miej dostęp do SSH na serwer z Coolify. 🙂

1) Porządna struktura katalogów

Załóżmy, że obecnie pliki masz w:

Bash
/var/wordpress-sites/website.com

Docelowo chcemy, żeby WordPress leżał w html/, a OpenLiteSpeed miał osobne katalogi na config i logi:

Bash
/var/wordpress-sites/<YOUR_SITE>/
├── html/        # pliki WordPressa
├── conf/        # konfiguracja OpenLiteSpeed
├── admin-conf/  # konfiguracja panelu OLTS
├── logs/        # logi OLTS

Zatem działamy:

Bash
# 1) Tymczasowe przeniesienie
sudo mkdir -p /var/wordpress-sites/temp
sudo rsync -a /var/wordpress-sites/<YOUR_SITE>/ /var/wordpress-sites/temp/

# 2) Docelowa struktura
sudo mkdir -p /var/wordpress-sites/<YOUR_SITE>/{html,conf,admin-conf,logs}

# 3) WordPress do html/
sudo rsync -a /var/wordpress-sites/temp/ /var/wordpress-sites/<YOUR_SITE>/html/

# 4) Sprzątamy
sudo rm -rf /var/wordpress-sites/temp

Podmień <YOUR_SITE> na swoją domenę, np. website.com. 😉


2) Coolify: stop usługi + domeny

W Coolify otwórz swój resource WordPressa → Stop.
Potem przejdź do Services → Settings i ustaw domeny.

Jeśli masz skonfigurowane przekierowanie z www na bez www, wystarczy:

Bash
https://website.com:80

Jeśli chcesz obsługiwać obie wersje (z www i bez):

Bash
https://website.com:80,https://www.website.com:80

:80 oznacza, że ruch po HTTPS na zewnątrz zostanie przekierowany do portu 80 (HTTP) wewnątrz kontenera z LiteSpeed. Zapisz. ✅

Zrzut ekranu pokazujący dashboard Coolify z konfiguracją resource WordPress+LiteSpeed

3) Zmień obraz na OpenLiteSpeed

Przejdź do Coolify, następnie do twojego resource z WordPressem i kliknij na Configuration → Edit compose file. Podmień zawartość na:

Bash
services:
  wordpress:
    image: 'litespeedtech/openlitespeed:1.8.4-lsphp84'
    volumes:
      - '/var/wordpress-sites/<YOUR_SITE>/html:/var/www/vhosts/localhost/html'
      - '/var/wordpress-sites/<YOUR_SITE>/conf:/usr/local/lsws/conf'
      - '/var/wordpress-sites/<YOUR_SITE>/admin-conf:/usr/local/lsws/admin/conf'
      - '/var/wordpress-sites/<YOUR_SITE>/logs:/usr/local/lsws/logs'
    environment:
      - SERVICE_FQDN_WORDPRESS
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://127.0.0.1']
      interval: 10s
      timeout: 10s
      retries: 10
    labels:

4) (Opcjonalnie) CrowdSec

Jeśli twardziłeś Coolify zgodnie z moim poradnikiem o CrowdSec, dodaj do serwisu WordPress:

Bash
    labels:
      - coolify.traefik.middlewares=crowdsec@file

Jeśli używasz hCaptcha bouncer — pamiętaj o jego konfiguracji. 🧢

Darmowe bonusowe treści

Chcesz moje dokładne konfigi i ustawienia, żeby wbić 100/100 szybciej i za darmo? Zapisz się do mojego newslettera!
Przygotowałęm specjalną sekcję tylko dla subskrybentów “Coolify OLTS Kit” z poradnikiem aktualizacji, całym httpd_config.conf + docker.conf i moimi przetestowanymi ustawieniami OpenLiteSpeed Cache.
Zasubskrybuj newsletter i odbierz link do bonusowej strony! 🚀


5) .htaccess: szybko i bez bólu

OpenLiteSpeed odczytuje plik.htaccess, ale z pewnymi limitami:

  • Możesz używać reguł takich jak rewrite czy dyrektywy LSCache (CacheEnable, CacheDisable, CacheLookup, E=Cache-Control).
  • Nie możesz włączyć silnika od cache’u globalnie w .htaccess — to się konfiguruje w konfiguracji OLTS.
  • Reguły LSCache muszą znajdować się przed regułami WordPress, w przeciwnym razie po prostu nie zadziałają.

Jeśli twój plik html/.htaccess ma już reguły od innych pluginów (W3TC, WP Super Cache, etc.), usuń je. Najlepiej po prostu zrób kopię html/.htaccess i usuń ten plik — OpenLiteSpeed (wraz z wtyczką LiteSpeed Cache) odtworzy go sam. Dzięki temu unikniesz konfliktów z innymi pluginami cache, starymi wpisami i błędną kolejnością reguł. ✂️


6) HTTPS z Coolify (Traefik), a HTTP w kontenerze

Traefik w Coolify obsługuje HTTPS automatycznie, więc w środku kontenera WordPress/OLTS będziemy rozmawiamy po HTTP.
To oznacza, że wyłączymy HTTPS wewnątrz kontenera OLTS, żeby nie wprowadzać niepotrzebnego zamieszania:🔧

Edit OpenLiteSpeed configs on the host (they’re mapped to your conf/ path):

Bash
# Główny config serwera
sudo nano /var/wordpress-sites/<YOUR_SITE>/conf/httpd_config.conf
  • Na dole zakomentuj/usuń każdy listener na 443.
  • W vhTemplate docker { ... } usuń/wyłącz powiązania HTTPS.

Then:

Bash
# Szablon vhost
sudo nano /var/wordpress-sites/<YOUR_SITE>/conf/templates/docker.conf
  • Zakomentuj całą sekcję vhssl.

Proste — TLS robi Traefik, a OLTS działa po porcie 80. 🔒


7) Naprawiamy potencjalne timeouty pod obciążeniem (LSAPI)

Jeśli w stderr.log widzisz:

Bash
[UID:33][40] Reached max children process limit: 10, extra: 0, current: 10, busy: 10, please increase LSAPI_CHILDREN.

zwiększ liczbę procesów PHP:

Bash
sudo nano /var/wordpress-sites/<YOUR_SITE>/conf/httpd_config.conf

I zaktualizuj ten blok tekstu:

Bash
extProcessor lsphp {
    maxConns                        50
    env                             PHP_LSAPI_CHILDREN=50
}

To zapobiegnie nam błędom 504 podczas zwiększonego ruchu. 🏎️
Polecam zrobić już to prewencyjnie – teraz.


8) Start i szybki sanity check

Wróć do Coolify i Start/Deploy resource.
Jeśli coś nie gra — zerknij w logi OLTS:

Bash
tail -f /var/wordpress-sites/<YOUR_SITE>/logs/error.log
tail -f /var/wordpress-sites/<YOUR_SITE>/logs/stderr.log

Ewentualnie chwilowo włącz debug w WordPress (nie zostawiaj na produkcji):

PHP
// wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
define('SAVEQUERIES', false);

Daj usłudze chwilę i sprawdź stronę. Powinna wstać. ✅


9) WordPress: wtyczka LiteSpeed Cache (LSC)

Zrzut ekranu pokazujący instalację wtyczki LiteSpeed

W panelu WP:

  1. Zainstaluj i aktywuj LiteSpeed Cache.
  2. Preset optymalizacji: Wybierz jeden z listy i sprawdź czy wszystko działa
  3. Połącz z QUIC.cloud — dostaniesz optymalizację obrazów, CSS/JS itp.
  4. Ustaw IP serwera w LSC → General (ważne za reverse proxy).
  5. Skonfiguruj CDN
    • Cloudflare?
      • Wygeneruj token. W Cloudflare → API Tokens użyj szablonu WordPress ze scope na Account i konkretnym Zone.
      • Wklej token w integrację Cloudflare w LiteSpeed, żeby automatycznie purge’ować cache po publikacji.

Ja osobiście polecam preset Advanced jako punkt startowy. Minifikacje (HTML/JS/CSS) i optymalizacje obrazów możesz włączać etapami i testować jak wszystko działa. ⚙️


10) Szybkie strzały do 100/100

  • Wywal zbędne pluginy i ciężkie buildery.
  • Serwuj obrazy w formacie WebP (LSC z QUIC.cloud to ogarnie sam).
  • Wykonuj lazy-load obrazów „below-the-fold”.
  • Wykonaj preload CSS + defer dla JS (LSC).
  • Lekki motyw + mniej zewnętrznych skryptów (piksele, chaty, embedy).
  • Włącz CDN (QUIC.cloud CDN lub Cloudflare). 🌍

11) Rotacja logów (nie pozwól logom zjeść ci dysku)

Logi z OpenLiteSpeed potrafią urosnąć. Dodaj rotację na ~10MB z 5 ostatnimi kopiami:

Bash
sudo nano /etc/logrotate.d/<YOUR_SITE>-litespeed

Wklej:

Plaintext
/var/wordpress-sites/<YOUR_SITE>/logs/localhost.access.log \
/var/wordpress-sites/<YOUR_SITE>/logs/error.log \
/var/wordpress-sites/<YOUR_SITE>/logs/stderr.log \
/var/wordpress-sites/<YOUR_SITE>/logs/lsrestart.log {
  size 10M
  rotate 5
  missingok
  notifempty
  copytruncate
  extension .log
  maxage 14
}

I przetestuj:

Bash
sudo logrotate -f /etc/logrotate.d/<YOUR_SITE>-litespeed

To tyle, dysk pod kontrolą. 🧹


12) Test PageSpeed

Odpal PageSpeed Insights i sprawdź mobile + desktop. Przy poprawnie działającym LSC, QUIC.cloud i rozsądnym motywie 100/100 powinno pojawić się od razu.
Jeśli brakuje paru punktów — zwykle winne są zewnętrzne skrypty (analytics, chat, pixel), brak lazy loadu obrazów lub ciężkie sekcje strony. 📈


Podsumowanie

Przestawiliśmy WordPressa na OpenLiteSpeed, wyczyściliśmy .htaccess, przenieśliśmy HTTPS/TLS na Coolify (Traefik), podkręciliśmy PHP workers i mamy rotację logów.
Do tego skonfigurowaliśmy LiteSpeed Cache + QUIC.cloud.
Efekt? Lekka, szybka i stabilna strona gotowa na wyniki 100/100 w PageSpeed i lepsze CWV.
Teraz wracaj do tworzenia treści — reszta działa w tle. 🙌

Dołącz do newslettera

Subskrybuj po bonusowe treści. Nie przegap nowych artykułów.

    We won’t send you spam. Unsubscribe at any time.

    Zostaw komentarz

    Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

    Przewijanie do góry