Otvaraš sajt, a umjesto stranice dočeka te bijela ili siva stranica s tekstom "503 Service Unavailable" ili "Service Temporarily Unavailable". Posjetitelji nestaju, narudžbe staju, klijent te zove. Ovaj post objašnjava što ta poruka stvarno znači, kako brzo dijagnostikirati uzrok, i kako spriječiti da se ponovi.
Što znači 503 Service Unavailable
HTTP status kod 503 znači da je tvoj web server privremeno nedostupan — primio je request, ali ga ne može obraditi baš sada. Razlika od 500 (Internal Server Error) je suštinska: kod 500 nešto je puknulo u tvom kodu, kod 503 server kaže "zauzet sam, pokušaj kasnije".
Najčešći scenariji koji generiraju 503:
- Server je preopterećen (previše simultanih zahtjeva)
- PHP-FPM nije dostupan ili je crashed
- Sajt je u WordPress maintenance modu (
.maintenancefile) - WAF (Imunify360, Cloudflare, Wordfence) blokira request
- Resource limit dosegnut (CPU, memory, processes)
- cPanel/LiteSpeed napravio rate-limit
- Plugin ili tema napravila beskonačnu petlju
Brzi check u 60 sekundi
- Otvori sajt s mobilne mreže (ne WiFi). Ako radi tamo, problem je na tvojoj strani — DNS cache, firewall, ili IP block.
- Provjeri drugi browser (incognito). Ako u Chromeu ne radi a u Firefoxu radi — browser cache ili extension blokira.
- Otvori drugi sajt na istom hostingu. Ako i taj ne radi — server-side problem. Ako radi samo problemski sajt — sajt-specifični problem.
- Provjeri uptime monitor (UptimeRobot, ako koristiš). Vidi se vrijeme kada je počelo padati.
- Otvori cPanel — ako se logiraš normalno, server radi, samo specifični sajt je problem.
7 najčešćih uzroka i kako fix-ati
1. WordPress maintenance mode zaglavio
Kada nadograđuješ WP core ili plugin, sustav privremeno stvori file .maintenance u root direktoriju i prikazuje 503. Ako update padne ili browser zatvoriš mid-update, file ostane i sajt ostaje "zaglavljen" u maintenance modu.
Fix: spoji se preko FTP/SFTP ili cPanel File Managera, otiđi u root sajta, obriši file .maintenance. Učitaj sajt — radi.
2. PHP-FPM pao ili zaustavljen
Na novijim cPanel/LiteSpeed serverima, PHP-FPM proces može pasti pod opterećenjem ili nakon neke OOM (out of memory) greške. Sajt prima request, ali ga ne može processirati.
Fix: u cPanel-u → Select PHP Version → Reset PHP. Ili kontaktirati support koji će restartati PHP-FPM. Na WMD upravljanim paketima to radi automatski monitoring.
3. Resource limit (CPU / Memory / EP) dosegnut
cPanel ti dodjeljuje kvotu CPU/memorije i broj entry processa. Ako sajt prima špicu prometa (oglasi, viral članak, scraper bot) — kvota se popunjava i sljedeći request dobiva 503.
Provjera: cPanel → Metrics → Resource Usage. Vidi se da li si pao u "Faults" zonu.
Fix:
- Aktiviraj page caching (AccelerateWP, LiteSpeed Cache, WP Rocket) — smanji PHP requeste 90%
- Blokiraj bot promet preko .htaccess ili Cloudflare
- Provjeri slow query log u MariaDB — neki query usisava CPU
- Ako često udaraš limit — vrijeme za veći paket
4. Plugin u beskonačnoj petlji
Neki plugin (najčešće cache, security, ili custom) napravi rekurziju ili nekontrolirani API call. PHP proces blokiran, server vraća 503.
Fix: preko FTP preimenuj folder wp-content/plugins u plugins-off. Sajt učita bez ikakvih pluginova. Ako sad radi, problem je u jednom od pluginova. Vraćaj jedan po jedan dok ne nađeš krivca.
5. Imunify360 / Wordfence / mod_security blokira request
Server-side WAF ponekad legitimne korisnike označi kao prijetnju (false positive). Tipično se događa nakon update-a WAF pravila.
Provjera: u cPanel-u → ModSecurity (ako dostupno) → vidi tablicu rule hit-ova. Ili u Imunify360 panelu → Incidents.
Fix: ako je legitiman request, dodaj IP u whitelist. Ako je rule premoćan, support može ga isključiti za tvoj sajt.
6. Cron job blokira procese
Tipičan WP-Cron sa puno schedule task-ova može pojesti sve dostupne PHP procese. Sljedeći legitiman request dobiva 503 jer nema slobodnog procesa.
Fix:
- Isključi WP-Cron default i koristi sistemski cron preko cPanel-a (svaka 5 minuta dovoljno)
- Ukloni nepotrebne scheduled task-ove (WP Crontrol plugin za pregled)
- Provjeri da li imaš neki plugin koji bombardira cron — Yoast indexable rebuild, WooCommerce action scheduler znaju imati problem
7. Cloudflare ili CDN sloj vraća 503
Ako koristiš Cloudflare, origin server može biti zdrav, ali Cloudflare ne može komunicirati s njim. Tada Cloudflare vraća svoju 503 stranicu.
Provjera: u 503 HTML stranici provjeri tko ju je servirao — Cloudflare-ova 503 stranica je vizualno različita od standardne hosting 503.
Fix:
- Provjeri origin server status
- U Cloudflare panelu → Analytics vidi 5xx errors source
- Privremeno isključi Cloudflare proxy (sivi oblak) i učitaj sajt direktno — ako sad radi, problem je u Cloudflare layer-u
Kako prevenirati 503 u budućnosti
- Aktiviraj server-side page caching — AccelerateWP na WMD smanji 90% requesta koji idu do PHP-a
- Redis ili Memcached object cache — manje DB query-ja, manje CPU upotrebe
- Image optimization — WebP/AVIF + lazy load smanji bandwidth
- Cloudflare ili sličan CDN — apsorbira spike-ove prije origin servera
- Pravilno postavljen WAF bez over-aggressive pravila
- Monitoring — uptime check svake 5 minuta da znaš odmah
- Backup s lakim restore-om — ako se sve dogodi, vraćaš stanje od jučer u 5 minuta
WMD pristup 503 problemima
Na WMD upravljanim paketima:
- Proaktivno monitoriramo PHP-FPM, MariaDB, resource usage — vidimo kada sajt ide prema 503 prije nego krene
- Auto-restart PHP-FPM ako padne — tipično se sajt vraća u rad u 30-60 sekundi
- AccelerateWP + Max Web Server kao standard — server-side cache smanji opterećenje
- Imunify360 sa carefully tuned pravilima — ne previše agresivno, ne previše permissivno
- 24/7/365 hrvatski support — ako sajt padne u 23:00, dobivaš nekog u 15 minuta
- JetBackup s 30 dana retencije i restore-on-demand — ako fix ne pomaže, vraćamo backup
Kad zvati support
Probao si brze check-ove i prvih nekoliko fix-ova s liste, a sajt još uvijek vraća 503? Pošalji nam:
- Domenu
- Vrijeme kada je počelo (točno koliko sati natrag)
- Što si zadnje napravio prije nego se pojavilo (update plugina? promijenio temu? deploy?)
- Screenshot 503 stranice (otkriva tko ju je servirao)
Ako si na WMD upravljanom paketu — provjeravamo, restartamo, fix-amo. Tipično u 15-30 minuta. Ako si na drugom hostingu pa hitnoj migraciji — i to radimo, full restore + fix paralelno bez downtime-a.