A technikai adósság az a felhalmozott különbség, ami a weboldal jelenlegi állapota és aközött feszül, ahol egy karbantartható, mai szabványok szerinti oldalnak lennie kellene. Nem hibalista, hanem kamat: minden új fejlesztés annyival drágább, amennyit a régi döntések ráraknak.
Hogyan keletkezik
Ritkán egyetlen rossz döntésből. Jellemzően apró, ésszerűnek tűnő lépések sorából:
- a sablon gyors testreszabása frissítésbiztos gyerektéma helyett
- egy plugin telepítése egyetlen funkcióért, aztán még egy a hiányzó részéért
- PHP- vagy CMS-frissítés halasztása, mert "most nincs rá keret"
- kód közvetlen szerkesztése éles oldalon, verziókövetés nélkül
Egyik sem katasztrófa önmagában. Együtt viszont olyan rendszert adnak, amit senki nem mer megbolygatni. A riportokban ez a leggyakoribb minta a 6-10 éves magyar KKV-oldalakon.
Mit jelent a kamat
A kamat konkrét számokban jelentkezik. Egy félórás módosítás fél napos lesz, mert előbb ki kell deríteni, melyik plugin írja felül a sablont. Egy frissítés után szétesik a főoldal, tehát senki nem frissít. Az elavult PHP- és plugin-verziók miatt nő a biztonsági kitettség, és ez már nem árajánlat kérdése.
Miért számít az AI-nak is
A nyelvi modellek a kiszolgált HTML-ből dolgoznak. A toldozott oldalakon a fő tartalom elvész a sablontörmelékben, a címhierarchia összecsúszik, a strukturált adatokat három plugin írja egymásra. Ilyenkor az AI-értelmezhetőség romlik, pedig a szöveg tartalmilag rendben van. A technikai adósság tehát nem csak fejlesztői kényelmi kérdés.
Röviden: a technikai adósság nem attól veszélyes, hogy az oldal rossz, hanem attól, hogy minden jövőbeli javítás drágább lesz tőle.
Miért fontos
Költségoldal
A technikai adósság a fejlesztési órákban látszik meg először. Ugyanaz a feladat az egyik oldalon 2 óra, a másikon 8. A különbség nem a fejlesztő képessége, hanem az, hogy mennyi mindent kell megkerülni.
Kockázati oldal
A nem frissíthető rendszer előbb-utóbb támadási felület lesz. A WordPress-ökoszisztéma sérülékenységeinek nagy része ismert és foltozott, csak épp az adott oldalon nincs telepítve a folt. Innen vezet az út a SEO-spam feltöréshez és az index-szennyezéshez.
Sebesség
Minden réteg hozzáad. A 12 plugin együtt 30 CSS- és JS-fájlt tölt be, ebből 20 az adott oldalon feleslegesen fut. Ez közvetlenül látszik az LCP és a TBT értékeiben, és a Core Web Vitals mérésében.
Üzleti oldal
A legdrágább következmény nem technikai. Az adósság miatt a marketing ötletei lassabban valósulnak meg. Ha egy landing oldal két hét helyett hat hét, akkor a kampány csúszik. Ez a lassulás a legtöbb helyen soha nem kerül be a költségvetésbe.
Technikai példa
A futó verziók és a betöltött erőforrások gyorsan kiderülnek parancssorból.
# Mit árul el a szerver a technológiáról
curl -sI https://pelda.hu | grep -Ei 'server|x-powered-by|x-generator'
# WordPress-verzió a generator metából
curl -s https://pelda.hu | grep -i 'name="generator"'
# Hány CSS- es JS-fajlt tolt be egy aloldal
curl -s https://pelda.hu/szolgaltatasok | grep -oE '(href|src)="[^"]+\.(css|js)' | wc -l
Tipikus kimenet egy elhanyagolt oldalon:
Server: Apache/2.4.29 (Ubuntu)
X-Powered-By: PHP/7.4.33
<meta name="generator" content="WordPress 5.8.2" />
41
A PHP 7.4 és a WordPress 5.8 is jóval a támogatott verziók mögött van. A 41 külön erőforrás-kérés a plugin-rétegek biztos jele. Ugyanez a devtools Network fülén is látszik, ha a szűrőt CSS-re és JS-re állítod.
{
"cms": "WordPress",
"php": "7.4.33",
"aktiv_pluginok": 27,
"gyerektema": false,
"staging": false,
"dontesi_jelzes": "ujraepites_merlegelendo"
}
Ez a fajta összegzés az, amiből a döntés megszületik. Egyetlen sor sem önmagában súlyos, a kombináció az.