Otvoríte FTP, vstúpite do /images a nájdete tam 3 400 súborov.
Z toho polovica sú logá z roku 2016, tri verzie toho istého banneru a banner-kopia-kopia2.jpg. Presne to je stav, ktorý po každom bezpečnostnom incidente začína ako prvý - a presne tam sa dá urobiť poriadok rýchlo a bez rizika, ak viete, kam nesiahate.
Prečo to nie je kozmetika
Menšia útočná plocha je najkonkrétnejší argument. Každý súbor, ktorý na serveri leží a nikto ho nesleduje, je kandidát na to, aby sa doň raz zapísalo niečo, čo tam nepatrí - a vy si to všimnete až pri kontrole. Toto nie je strašenie, je to prevádzková skúsenosť: čím menej mŕtvych súborov, tým menej miest, kde treba hľadať.
Druhý argument je praktický. Záloha webu s 8 GB obrázkov sa nahráva inak ako záloha s 1,5 GB a pri obnove po havárii je každá minúta cítiť.
Kde je poriadok bezpečný a kde nie
Toto je najdôležitejšia časť celého článku. Rozdeľte si súbory na tri skupiny a kým neprejdete prvú, do druhej nechoďte.
Skupina A - bezpečné na čistenie: /images, /images/banners, /images/stories, /media, /tmp, /cache, /administrator/cache, /logs. Toto sú vaše vlastné nahraté súbory a vygenerované medzivýsledky. Tu sa čistí.
Skupina B - čistite len s vedomím, čo robíte: /templates, /components, /modules, /plugins, /libraries. Súbor tu patrí konkrétnemu rozšíreniu. Keď ho zmažete, rozšírenie sa rozbije - a to sa prejaví až o týždeň pri nejakej podstránke.
Skupina C - nikdy nemažte ručne: /includes, /libraries/vendor, /libraries/joomla, /administrator/includes. Toto je jadro. Joomla má na opravu integrity vlastný nástroj a ručný zásah tu znamená, že ďalšia aktualizácia jadra prejde cez rozbité prostredie.
Čo si zazálohovať pred zásahom
Bez tohto kroku nerobte nič z nasledujúcich odsekov.
- Kompletnú zálohu súborov aj databázy - nie len databázy, nie len
images. Celý priestor. - Overte, že záloha sa dá obnoviť. Záloha, ktorú ste nikdy neskúšali rozbaliť, nie je záloha. Rozbaľte ju na staging alebo aspoň overte veľkosť a počet súborov voči pôvodnému stavu.
- Poznačte si stav pred zásahom: verziu Joomly (konkrétne číslo si overte v administrácii v Systém → Systémové informácie, mení sa priebežne), zoznam použitých šablón a doplnkov.
- Ak máte staging, robte to tam. Ak nie, aspoň zálohu, ktorú viete vrátiť do 15 minút.
Cesta späť: obnova celej zálohy priestoru a databázy. Pri skupine A to zvládnete aj bez stagingu, pri skupine B už bez zálohy nechoďte.
Ako nájsť duplikáty rozumne
Ručné porovnávanie názvov je strata času - logo.jpg a logo-final.jpg môžu byť ten istý súbor a banner.jpg v dvoch priečinkoch môže byť úplne iný obrázok. Porovnávajte obsah, nie názov.
Postup, ktorý sa dá odsledovať:
- Stiahnite
/imagesa/medialokálne. Na serveri nič nemažte, kým nemáte prehľad. - Nájdite súbory s rovnakým hashom - na to stačí nástroj na porovnávanie duplikátov podľa obsahu (na Windows aj Linux je takých nástrojov viacero, vyberte si ten, ktorý zvládne rekurzívne porovnanie a export zoznamu). Výsledkom je zoznam skupín identických súborov.
- Overte, ktorý z duplikátov sa naozaj používa. Toto je krok, ktorý väčšina ľudí preskočí. Otvorte databázu a vyhľadajte názov súboru v tabuľkách
#__content,#__modules,#__template_stylesa v parametroch doplnkov. Súbor, ktorý sa nikde nespomína, je kandidát na zmazanie; súbor, ktorý sa spomína, nechajte, aj keď je duplicitný. - Mažte po dávkach a po každej dávke skontrolujte web. Nie 500 súborov naraz.
Pozor na jednu pascu: editori (TinyMCE, JCE) často vkladajú obrázky s absolútnou cestou a staré články môžu odkazovať na súbory, ktoré sa v aktuálnej šablóne už nezobrazujú, ale v archíve sú. Pred hromadným mazaním prejdite aspoň #__content fulltextovým vyhľadaním na názvy mazaných súborov.
Súbory, ktoré vyzerajú ako odpad, ale nie sú
/tmpa/cache- áno, čistite, ale najprv cez Systém → Vymazať cache v administrácii. Ručné mazanie za behu môže nechať nekonzistentný stav./logs- logy sa dajú zmazať, ale najprv si ich prečítajte. Ak v nich vidíte opakované pokusy o prihlásenie alebo chyby 500, máte iný problém než neporiadok.index.htmlv priečinkoch - to nie je odpad, to je ochrana proti výpisu adresára. Nemažte./administrator/logs- to isté.- Súbory
.htaccess- nikdy nie sú duplikát „na zmazanie“. Každý má svoju funkciu.
Opustené doplnky ako zdroj neporiadku
Toto je najčastejší dôvod, prečo má web v /components a /plugins desiatky priečinkov, ktoré nikto nepoužíva. Doplnok, ktorý ste pred tromi rokmi odinštalovali „naoko“ (vypnutím), po sebe nechal súbory. Tie sa pri ďalšej veľkej verzii Joomly môžu stať zdrojom chýb - a v horšom prípade dierou.
Postup pri odinštalácii:
- Najprv odinštalujte cez správcu rozšírení (Systém → Rozšírenia → Spravovať → Odinštalovať). Joomla po sebe uprace, čo vie.
- Potom skontrolujte zvyšky v
/components,/modules,/pluginsa/language. Priečinok, ktorý po odinštalovaní ostal a nič ho nepoužíva, môžete zmazať - ale overte, že ho nespomína iná šablóna alebo doplnok. - Pred odinštaláciou zistite, či doplnok nie je závislý od iného. Pri komplexnejších rozšíreniach (e-shop, rezervačný systém) to platí dvojnásobne.
Ako spoznať mŕtvy doplnok skôr, než na ňom postavíte web: pozrite sa na dátum poslednej verzie a či vývojár komunikuje. Ak posledná verzia vyšla pred viac ako dvoma rokmi a web beží na Joomle 5, je to signál, nie dôkaz - overte si to v dokumentácii vývojára, nie podľa dohadov.
Praktický výsledok
Po jednom cykle čistenia (images, media, cache, tmp, odinštalované doplnky) sa pri bežnom firemnom webe dá dostať na zlomok pôvodnej veľkosti priestoru. Konkrétne číslo neuvádzam - závisí od toho, koľko rokov a koľko ľudí do obsahu zasahovalo. Podstatné je, že záloha sa nahráva rýchlejšie, obnova je kratšia a v images sa dá prehľadať, čo tam leží.
Čo si vybrať: ak máte len jednu vec urobiť dnes, urobte poriadok v /images a /media - je to najbezpečnejšia časť a najčastejšie najväčšia. Zvyšok (templates, components) plánujte na staging, nie na piatok popoludní.
Pavlov servisný tip: pred každým hromadným mazaním si spravte zoznam mazaných súborov do textového súboru a ten si odložte mimo servera. Keď sa o mesiac niečo rozbije, máte presne to, čo treba vrátiť - a nemusíte obnovovať celý web.
Zdroje
- Joomla! Documentation - Security Checklist, docs.joomla.org (citované 26. 10. 2026)
- Joomla! Documentation - Installing, Updating and Uninstalling Extensions, docs.joomla.org (citované 26. 10. 2026)
- Joomla! Documentation - How to check the Joomla version, docs.joomla.org (citované 26. 10. 2026)