Błąd „Fatal error: Allowed memory size of X bytes exhausted” w WordPress

Przyczyny i rozwiązanie dla błędu „Fatal error: Allowed memory size of X bytes exhausted” w WordPress

6 min. czytania

Błąd „Fatal error: Allowed memory size of X bytes exhausted” to sygnał, że Twoja instalacja WordPress przekracza limit pamięci PHP ustawiony na serwerze. Najczęściej dotyczy to tanich hostingów współdzielonych, gdzie limity są sztucznie niskie. Najtrwalszym rozwiązaniem jest migracja na lepszy hosting z adekwatnymi zasobami, dopasowanymi do realnych potrzeb WordPressa.

Natura i charakterystyka błędu pamięci w WordPress

Błąd może objawiać się jako komunikat o błędzie krytycznym w przeglądarce lub szczegółowy wpis w logach serwera. Oto typowe komunikaty, które możesz zobaczyć:

There has been a critical error on your website

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes)

Ta notacja informuje o dwóch kluczowych elementach: ustawionym limicie pamięci oraz próbie przydzielenia dodatkowej pamięci w momencie błędu. Gdy żądanie przekracza limit, silnik PHP natychmiast przerywa wykonywanie skryptu w ramach mechanizmu ochrony zasobów.

WordPress potrafi próbować podnieść limit, gdy wykryje wartości poniżej 64 MB (single) lub 40 MB (multisite), ale ostateczny limit zawsze narzuca konfiguracja serwera. Jeśli host wymusza 128 MBwp-config.php go nie przeskoczy.

Przyczyny wyczerpywania się pamięci PHP

Najczęstsze źródła problemu to:

  • zbyt wiele lub ciężkie wtyczki – buildery stron (np. Elementor, Divi), WooCommerce, backupy i skanery bezpieczeństwa podnoszą zużycie pamięci; zdarzają się też wycieki pamięci w źle napisanych wtyczkach;
  • ciężkie multimedia – obrazy w wysokiej rozdzielczości i wideo wymagają wczytania i przetworzenia w RAM (skalowanie, generowanie miniaturek, kompresja);
  • nieefektywne zapytania do bazy – brak indeksów, pobieranie tysięcy rekordów naraz, cache’owanie dużych zbiorów (np. „cache_users”);
  • stara wersja PHP – wydania 5.x i wczesne 7.x są mniej wydajne niż PHP 8.x, zużywają więcej pamięci na te same operacje;
  • limity hostingu współdzielonego – celowo niskie wartości (32–128 MB) dla utrzymania stabilności setek kont na jednym serwerze;
  • skoki ruchu – nagły wzrost jednoczesnych procesów PHP i zapytań szybko wyczerpuje pulę pamięci;
  • procesy w tle – backupy, skanowanie bezpieczeństwa, czyszczenie cache uruchomione równocześnie sumują zapotrzebowanie na RAM.

Procesy wyzwalające błąd

Najczęściej błąd pojawia się przy konkretnych akcjach:

  • instalacja lub aktywacja nowej wtyczki – inicjalizacja i hooki działające globalnie potrafią natychmiast podnieść zużycie pamięci;
  • upload/przetwarzanie dużych plików – generowanie wielu rozmiarów obrazów wymaga jednorazowego załadowania pliku do RAM;
  • operacje na dużych bazach danych – hurtowe pobrania (np. tysiące produktów z atrybutami) i złożone joiny;
  • masowa synchronizacja z usługami zewnętrznymi – import tysięcy rekordów (np. Stripe, Shopify, ERP) w jednej sesji;
  • indeksowanie i zaawansowane wyszukiwanie – reindeksacja WooCommerce, analizy SEO na dużych witrynach.

Tymczasowe rozwiązania techniczne i ich ograniczenia

Poniższe metody mogą szybko podnieść dostępny limit pamięci, ale ich skuteczność ogranicza konfiguracja serwera:

  • wp-config.php – dodaj definicję limitu (linia tuż przed komentarzem „That’s all, stop editing! Happy blogging”);

That’s all, stop editing! Happy blogging

define('WP_MEMORY_LIMIT', '256M');

Uwaga: serwerowy limit PHP nadal ma pierwszeństwo.

  • php.ini – edycja parametru memory_limit w panelu hostingu (cPanel, Plesk) na wyższą wartość;
  • .htaccess (Apache z mod_php) – ustawienie wartości bezpośrednio w konfiguracji katalogu;

php_value memory_limit 256M

  • kontakt z dostawcą – prośba o podniesienie limitu per konto/instalację;
  • redukcja wtyczek – dezaktywacja i usunięcie zbędnych rozszerzeń realnie obniża zapotrzebowanie na RAM;
  • optymalizacja mediów – kompresja i skalowanie (np. EWWW Image Optimizer, ShortPixel) przed i po przesłaniu;
  • włączenie cache – W3 Total Cache, WP Super Cache, LiteSpeed Cache ograniczają koszty generowania stron.

To wszystko są doraźne „plastery”. Jeśli barierą jest sam hosting (np. limit 128M), problem będzie wracał wraz z rozwojem witryny.

Dlaczego limity hostingu współdzielonego stanowią rzeczywisty problem

Model współdzielenia zasobów wymusza ostre limity na pojedyncze konta. Oto najważniejsze ograniczenia:

  • agresywne limity zasobów – by chronić setki witryn na jednym serwerze, limity pamięci to zwykle 32–128 MB na instalację;
  • limity „miękkie” – deklarowane „256 MB” bywa warunkowe (Fair Use), a przekroczenia skutkują throttlingiem;
  • infrastruktura dla „średniej” strony – nowoczesny WordPress (WooCommerce, buildery, zaawansowane security) znacząco wykracza ponad tę średnią;
  • brak elastyczności – często nie da się „dokupić pamięci”; jedyną drogą jest wyższy plan lub migracja.

Oficjalne rekomendacje WordPress mówią o minimum 512 MB RAM na serwer i 256 MB limitu PHP dla komfortowej pracy – wiele planów współdzielonych oferuje mniej.

Hosting wyższej jakości jako podstawowe rozwiązanie

Najpewniejszą metodą trwałego wyeliminowania błędu pamięci jest migracja na hosting zaprojektowany pod WordPress. Poniżej najważniejsze opcje:

  • Zarządzany WordPress hosting – infrastruktura optymalizowana pod WordPress (cache, backupy, aktualizacje, bezpieczeństwo) i limity 256–512+ MB z elastycznym skalowaniem;
  • VPS (Virtual Private Server) – gwarantowane zasoby (2–4+ GB RAM), pełna kontrola i znacznie większa stabilność niż współdzielony;
  • cloud hosting – zasoby z puli wielu serwerów, automatyczne skalowanie w górę/dół adekwatnie do ruchu;
  • serwer dedykowany – pełna moc maszyny wyłącznie dla Ciebie (16–64 GB RAM), rozwiązanie dla dużych sklepów i portali.

Dla szybkiego porównania najważniejszych parametrów zobacz tabelę:

Typ hostinguPamięć/RAMSkalowanieKoszt/mies.Ryzyko błędu pamięci
Współdzielony32–128 MB (limit PHP)brak lub minimalne8–50 złwysokie
Zarządzany WordPress256–512+ MB (limit PHP)automatyczne10–60 złbardzo niskie
VPS2–8+ GB RAMręczne/pół-automatyczne12–200 złniskie
Cloudelastyczne (wg obciążenia)automatycznezależne od użycianiskie
Dedykowany16–64+ GB RAMręczne50–300+ złbardzo niskie

Specyficzne rekomendacje dla różnych scenariuszy

Dobierz typ hostingu do wielkości i dynamiki witryny:

  • małe blogi i strony firmowe – Zarządzany WordPress za 10–60 zł/mies. zapewni wydajność, bezpieczeństwo i spokój;
  • sklepy i witryny średniej wielkości – VPS za 12–200 zł/mies. daje dedykowane zasoby i elastyczność konfiguracji;
  • duże e‑commerce, portale, serwisy o wysokim ruchu – cloud (skoki ruchu) lub serwer dedykowany (maksymalna kontrola i moc).

Optymalizacja jako uzupełniająca strategia

Nawet na świetnym hostingu zła konfiguracja potrafi „zjeść” pamięć. Wdrożenie poniższych praktyk znacząco obniża ryzyko błędu:

  • przegląd wtyczek – usuwaj nieużywane; zwracaj uwagę na ciężkie (np. Wordfence, Broken Link Checker, rozbudowane backupy);
  • optymalizacja bazy – czyszczenie rewizji, osieroconych tabel i planowanie indeksów (np. WP-Optimize, Advanced Database Cleaner);
  • kompresja obrazów – zmniejszaj rozmiary bez utraty jakości (EWWW Image Optimizer, ShortPixel);
  • cache aplikacyjny i przeglądarkowy – zmniejsza zapotrzebowanie na pamięć o 20–50% dla typowych witryn;
  • CDN – offload statycznych zasobów (obrazy, CSS, JS) odciąża serwer źródłowy;
  • aktualizacja PHP – przejście na PHP 8.x zwykle obniża zużycie pamięci o 10–20% bez zmian w kodzie;
  • monitoring – Query Monitor, WP Memory Check wskażą strony i wtyczki o najwyższym zużyciu.

Strategia migracji i przejścia na lepszy hosting

Proces migracji jest prosty, a wielu dostawców oferuje go bezpłatnie. Przejdź przez te kroki:

  1. wybierz dostawcę;
  2. wykonaj pełną kopię zapasową plików i bazy danych;
  3. utwórz konto i środowisko na nowym hostingu;
  4. prześlij pliki WordPress przez FTP/SFTP;
  5. zaimportuj bazę danych do nowego środowiska;
  6. zaktualizuj wp-config.php o dane dostępu do nowej bazy;
  7. przetestuj stronę na domenie tymczasowej/staging;
  8. zaktualizuj rekordy DNS, aby wskazywały nowy serwer;
  9. poczekaj do 48 godzin na pełną propagację DNS.

Ważne: Niektórzy dostawcy sami wykonują migrację stron WWW i poczty za darmo, przy zakupie hostingu na rok z góry!

Analiza kosztów i zwrotu z inwestycji

Wyższy koszt hostingu szybko się zwraca, gdy porównasz go z realnymi stratami i oszczędnościami:

  • utracony ruch i przychody – nawet jednodniowe błędy miesięcznie to potencjalne 3–5% mniej sesji i sprzedaży;
  • koszt czasu administratora – mniej gaszenia pożarów, więcej pracy nad rozwojem (automaty aktualizacji, backupy, zabezpieczenia);
  • łatwiejsza skalowalność – wzrost ruchu i funkcji bez ryzyka „wysypania się” na limicie pamięci;
  • lepsze SEO i konwersje – szybsze ładowanie i stabilność przekładają się na wyższe pozycje i przychody.

Problemy specyficzne na dużych instalacjach

W dużych sklepach (np. WooCommerce z 14 000+ użytkowników) nawet wysokie limity potrafią nie wystarczyć bez głębokiej optymalizacji. Potrzebne są warstwy cache, optymalizacja bazy (repliki odczytu), przepisanie ciężkich procesów CRON i profilowanie zapytań. To obszar dla Managed WP i VPS z możliwością niestandardowej konfiguracji.

Wnioski i rekomendacje

Błąd „Allowed memory size exhausted” to skutek ograniczeń infrastruktury, a nie „kaprys” WordPressa. Doraźne podnoszenie limitów pomaga na chwilę, ale nie rozwiązuje przyczyny.

Trwałym rozwiązaniem jest migracja na hosting wyższej jakości (Managed WP lub VPS) z 256–512+ MB limitem PHP i możliwością skalowania, uzupełniona o podstawową optymalizację wtyczek, bazy, mediów, cache i PHP 8.x. Nawet dodatkowe 10–30 zł/mies. szybko zwraca się w stabilności, czasie i przychodach.

Ranking TOP 7 najlepszych hostingów dla WordPressa 2026
Sprawdź i wybierz najlepszy dla siebie:

Porównanie i ranking →