Zbyt duży rozmiar pliku w WordPressie to komunikat, który potrafi wytrącić z rytmu nawet doświadczonych twórców stron. Pojawia się nagle w Bibliotece mediów, gdy próbujesz dodać film, duży PDF albo zdjęcie w pełnej rozdzielczości. Dobra wiadomość? W 99% przypadków to nie jest „awaria”, tylko kwestia limitów, które można bezpiecznie podnieść lub obejść. Poniżej znajdziesz przejrzyste wyjaśnienie, skąd bierze się to ostrzeżenie, jak je zdiagnozować i jak naprawić problem bez ryzyka dla stabilności witryny.
Zbyt duży rozmiar pliku — co właściwie oznacza w WordPressie?
Komunikat informuje, że plik przekracza dozwolony rozmiar uploadu ustawiony na serwerze lub w samej instalacji.
WordPress korzysta z limitów narzuconych przez PHP i serwer WWW. Jeśli Twój plik jest większy niż konfiguracja na to pozwala, upload zostaje przerwany, a Ty widzisz ostrzeżenie. Co istotne, to nie jest błąd treści pliku — zwykle z JPG, MP4 czy PDF jest wszystko w porządku. Po prostu przekracza dopuszczalną wielkość.
Warto rozumieć, że limit dotyczy nie tylko pojedynczego pliku, ale czasem całego żądania (np. kilku plików na raz) oraz pamięci dostępnej w trakcie przetwarzania.
Najczęstsze przyczyny komunikatu
Źródła problemu leżą w konfiguracji PHP, serwera WWW, samego WordPressa albo w ograniczeniach hostingu.
Poniżej najczęściej spotykane scenariusze:
Ograniczenia PHP: upload_max_filesize i post_max_size
To dwie najważniejsze dyrektywy PHP kontrolujące maksymalny rozmiar uploadu i całego żądania HTTP.
- upload_max_filesize — maksymalna wielkość pojedynczego pliku (np. 64M).
- post_max_size — maksymalna wielkość całej „paczkowanej” zawartości przesyłanej w żądaniu (musi być równa lub większa niż upload_max_filesize).
- memory_limit — musi być na tyle duży, by PHP poradziło sobie z przetworzeniem przesyłanych danych (np. generowanie miniatur).
Jeśli np. upload_max_filesize=64M, a Ty wrzucasz plik 80 MB, zobaczysz komunikat o przekroczeniu limitu.
Ograniczenia serwera WWW (Nginx/Apache)
Serwer może blokować upload niezależnie od PHP.
- Nginx: dyrektywa client_max_body_size określa maksymalny rozmiar ciała żądania (domyślnie bywa niska).
- Apache: LimitRequestBody może ograniczać przesyłane dane na poziomie katalogu lub całej witryny.
Nawet jeśli w PHP ustawisz wysokie wartości, te limity potrafią wszystko zatrzymać.
Limity w WordPressie i Multisite
WordPress może mieć własny limit uploadu, zwłaszcza w trybie Multisite.
- W jednosite WordPressie zwykle „dziedziczy” wartości z PHP, ale w panelu Media możesz zobaczyć komunikat z konkretną wartością (np. „Maksymalny rozmiar przekazywanych plików: 32 MB”).
- W Multisite administrator sieci może ustawić limit na poziomie całej sieci, np. 50 MB na plik lub limit przestrzeni per witryna.
Typ i kompresja pliku
Niektóre formaty naturalnie „puchną”.
- Obrazy TIFF/PNG prosto z aparatu potrafią ważyć setki MB.
- Wideo z telefonu w 4K bez kompresji to szybka droga do komunikatu o limicie.
- PDF z osadzonymi fontami i grafiką w wysokiej rozdzielczości potrafi być nieoczekiwanie ciężki.
Często prostsze jest zmniejszenie pliku, niż podbijanie limitów.
Konflikty wtyczek i zabezpieczenia
WAF, reguły bezpieczeństwa lub wtyczki optymalizujące upload mogą wprowadzać dodatkowe blokady.
- Wtyczki bezpieczeństwa ograniczają rozmiary uploadu lub typy plików.
- CDN/WAF (np. Cloudflare) może mieć własny próg dla przesyłanej zawartości.
- Niektóre wtyczki optymalizujące obrazy odrzucają pliki większe niż ustawiony próg.
Jak sprawdzić bieżący limit w swojej instalacji
Najpierw zweryfikuj, ile naprawdę możesz wgrać — to skraca drogę do rozwiązania.
- W panelu WordPress: Media > Dodaj nowy. Pod polem uploadu zwykle widnieje wartość „Maksymalny rozmiar przekazywanych plików”.
- Narzędzia > Stan witryny > Informacje > Serwer — sprawdzisz wersję PHP i czasem kluczowe limity.
- Plik phpinfo: jeśli masz dostęp, utwórz tymczasowo plik z funkcją phpinfo() i sprawdź upload_max_filesize, post_max_size, memory_limit.
- Zapytaj hosting: w panelu klienta często widać aktualne parametry środowiska albo masz opcję ich edycji.
Jeśli wartości są niskie (np. 2M lub 8M), nic dziwnego, że większe pliki się nie wgrają.
Skuteczne sposoby na zwiększenie limitu
Wybierz metodę odpowiednią dla Twojego hostingu i poziomu dostępu. Zmiany rób ostrożnie i testuj.
Panel hostingu (najbezpieczniej)
W wielu firmach możesz podnieść limity z poziomu panelu bez dotykania plików.
- Szukaj sekcji: PHP Settings, PHP Selector, Ustawienia PHP, MultiPHP, Opcje PHP.
- Ustaw: upload_max_filesize, post_max_size, memory_limit (zachowując sensowne proporcje, np. 128M/128M/256M).
- Zapisz i odczekaj minutę, po czym sprawdź w WordPressie.
Plik php.ini
Jeśli masz dostęp do php.ini, ustaw limity bezpośrednio.
- Przykład:
- upload_max_filesize = 128M
- post_max_size = 128M
- memory_limit = 256M
- max_execution_time = 120
- Upewnij się, że php.ini ładuje się dla Twojego katalogu (czasem wymaga to konfiguracji handlera PHP).
.htaccess (Apache)
Dla hostingu z Apache możesz nadpisać wartości w .htaccess.
- Dodaj:
- php_value upload_max_filesize 128M
- php_value post_max_size 128M
- php_value memory_limit 256M
- Uwaga: na serwerach z PHP-FPM te dyrektywy mogą nie działać lub wywołają błąd 500. Wtedy użyj panelu hostingu lub php.ini.
wp-config.php
Nie jest to standardowe miejsce dla tych limitów, ale bywa pomocne.
- Czasem zadziała:
- @ini_set(‘upload_max_filesize’, ‘128M’);
- @ini_set(‘post_max_size’, ‘128M’);
- Traktuj to jako obejście — preferuj ustawienia na poziomie serwera.
functions.php lub mu-plugin
Metoda doraźna, gdy nie masz dostępu do serwera.
- Dodaj do motywu (lepiej do wtyczki mu-plugin, by przetrwało aktualizacje):
- @ini_set(‘upload_max_filesize’, ‘128M’);
- @ini_set(‘post_max_size’, ‘128M’);
- Pamiętaj, że nie na każdym hostingu to zadziała.
Nginx (client_max_body_size)
Na serwerze z Nginx ustaw limit w konfiguracji i zrestartuj usługę.
- W sekcji http, server lub location:
- client_max_body_size 128M;
- Po zmianach: restart Nginx. Często równolegle trzeba dopasować limity PHP.
Kontakt z hostingiem
Najprostsza droga, jeśli nie chcesz grzebać w konfiguracji.
- Napisz, jaki plik chcesz wgrać (np. 95 MB MP4) i poproś o ustawienie upload_max_filesize/post_max_size.
- Dopytaj o ewentualne limity WAF/CDN po stronie dostawcy.
Gdy podniesienie limitu to zły pomysł
Większy limit nie zawsze jest najlepszym remedium — czasem zwiększa ryzyko.
- Wideo: nie trzymaj ciężkich filmów w Mediach. Lepsze są platformy typu YouTube/Vimeo lub dedykowany hosting wideo, a na stronie wstawiasz tylko embed.
- Backupy: wgrywanie ogromnych archiwów zip przez przeglądarkę bywa zawodne. Bezpieczniej użyć SFTP/SSH lub narzędzi migracyjnych.
- Wiele dużych uploadów naraz: może spowolnić stronę, zapchać RAM i wywołać timeouty. Lepiej działać etapami lub poza godzinami szczytu.
Dobre praktyki pracy z dużymi plikami
Optymalizacja pliku często rozwiązuje problem bez tykania serwera.
- Obrazy:
- Skaluje rozdzielczość do realnych potrzeb (np. 2560 px szerokości).
- Kompresuj z zachowaniem jakości (WebP/AVIF zamiast PNG/JPG, gdzie to możliwe).
- Usuń EXIF i nieużyte metadane.
- PDF:
- Spłaszcz warstwy, zmniejsz DPI grafik, osadź lżejsze fonty.
- Eksportuj w trybie „PDF do internetu”.
- Wideo:
- Konwertuj do H.264/HEVC lub VP9/AV1, ustaw bitrate adekwatny do rozdzielczości.
- Skróć materiał, usuń zbędne fragmenty przed uploadem.
- Transfer:
- Duże pliki przenieś przez SFTP i połącz z WordPressem wtyczką, która indeksuje istniejące media.
- Rozważ „dzielenie” uploadu na części (chunked upload), jeśli korzystasz z narzędzi deweloperskich lub wtyczek, które to wspierają.
- Porządek:
- Regularnie czyść Bibliotekę mediów z nieużywanych plików.
- Monitoruj wykorzystanie miejsca na hostingu — pełny dysk także potrafi przerwać upload.
FAQ: najczęstsze pytania o „zbyt duży rozmiar pliku”
Krótko i konkretnie: odpowiedzi na problemy, które pojawiają się najczęściej.
Nie mogę wgrać pliku 30 MB, a panel pokazuje limit 64 MB — co jest nie tak?
- Sprawdź post_max_size (może być niższe niż upload_max_filesize) oraz limity serwera WWW (client_max_body_size/LimitRequestBody). Upewnij się też, że wtyczka bezpieczeństwa nie nakłada własnych limitów.
Zwiększyłem limity, a komunikat nadal się pojawia.
- Pamięć podręczna OPCache lub FPM mogła jeszcze nie załadować nowych ustawień. Zrestartuj usługę (jeśli masz dostęp) lub odczekaj kilka minut. Zweryfikuj aktualne wartości w phpinfo().
Czy muszę podnosić memory_limit, jeśli zwiększam upload_max_filesize?
- Zwykle tak, przynajmniej do poziomu wyższego niż upload_max_filesize. Generowanie miniatur dużych obrazów potrafi zjeść dużo pamięci.
Jak bezpiecznie wgrać ogromny plik (np. 500 MB backup)?
- Użyj SFTP/SSH lub narzędzia dostarczonego przez hosting. Przeglądarka i biblioteka mediów to kiepski wybór do tak dużych plików.
Czy WordPress Multisite ma własne limity?
- Tak. Administrator sieci może ustawić maksymalny rozmiar pliku i przydział przestrzeni. Zgłoś się do admina, jeśli nie możesz podnieść limitu lokalnie.
Czy Cloudflare lub inny CDN/WAF może blokować upload?
- Tak, szczególnie w darmowych planach istnieją limity rozmiaru żądania. Sprawdź dokumentację lub poproś o podniesienie progu.
Podsumowanie: jak szybko pozbyć się problemu
Najpierw sprawdź aktualny limit, potem wybierz właściwą metodę podniesienia — lub odchudź plik.
- Zweryfikuj limity w panelu i phpinfo().
- Jeśli plik jest „ciężki bez powodu”, zoptymalizuj go (kompresja, konwersja do WebP/MP4).
- Podnieś upload_max_filesize i post_max_size (najlepiej przez panel hostingu), a w razie potrzeby memory_limit.
- Nie zapomnij o client_max_body_size (Nginx) lub LimitRequestBody (Apache).
- Gdy wgrywasz gigabajty — wybierz SFTP/SSH lub zewnętrzne platformy (np. dla wideo).
Dzięki temu podejściu unikniesz frustrującego komunikatu i zyskasz stabilny, przewidywalny proces dodawania mediów. W praktyce wystarczy kilka minut, by wszystko wróciło do normy — a przy okazji zyskasz lepiej zoptymalizowaną, szybszą stronę.