frissítve: 2022. 05. 15.
Olvasási idő: 16 perc
Vélemény

Mi a baj a WordPress-szel, avagy az Arany Kalapács problémája? #clickbait

A WordPress megítélése meglehetősen kontrasztos: ha valakit, aki weboldalak készítésével foglalkozik, megkérdezel arról, mi a véleménye róla, az esetek túlnyomó többségében két lehetséges álláspontot fogsz hallani. 


Az egyik szerint "A WordPress az egyik legjobb dolog, ami a weboldalkészítéssel történhetett, és mindent IS meg lehet vele oldani!", a másik oldal szerint "Egy használhatatlan hulladék, mégis, kinek jut eszébe élesben használni!?". A két oldalt összebékíteni valószínűleg lehetetlen, így ehelyett inkább próbáljuk meg megérteni a két oldalt és a WordPress helyét a web mai világában.

Fontos: az alábbi megállapítások a stock, core WordPress-re vonatkoznak. TIsztában vagyok azzal, hogy "van rá plugin", de pont az a baj, hogy plugin kell hozzá. Ez bizonyos funkcióknál (gondolok itt pl. a felhasználókezelésre) teljes mértékben védhetetlen helyzet.

Előzmények

Mielőtt nekikezdünk a téma kivesézésének, tisztában kell lennünk azzal, hogy milyen "szereplők" vannak azon a piacon, amelyre a WordPress megoldást "szállít" - ehhez kérlek, olvasd el az előző, webdesignerekről, weboldalkészítőkről és webfejlesztőkről szóló bejegyzésemet! Ha megvagy, mehetünk is tovább! Milyen szempontok, érvek szoktak elhangzani?

Érv #1: "Nem kell hozzá webfejlesztő"

Nem kell érteni a weboldalkészítéshez és látványosan lehet vele haladni: ahhoz, hogy egy működő oldalt elkészíts, gyakorlatilag nulla előképzettség szükséges. Elég, ha felhasználói szintű számítógépes ismeretekkel rendelkezel és "tudsz guglizni", illetve megnézel néhány WordPress-es oktatóvideót (ahol Barna részletesen elmagyarázza, mit hogyan érdemes csinálnod).

A telepítéstől számított néhány óra múlva már egy elkészült oldal birtokosa lehetsz, amit akár publikálhatsz is - ehhez csak fájlokat kellett másolnod, néhány helyen Ctrl-C-t és Ctrl-V-t nyomni, képeket feltöltened és a tartalmat megírnod (ha előzőleg az már megvolt, akkor még gyorsabban végeztél).

A különféle "oldalépítőknek" (page builderek, mint pl. az Elementor) köszönhetően a design prototipizálására is jól használható (akár a funkcionalitás prototipizálására is, viszont szinte biztos, hogy ez nem lesz jó ötlet): de léteznek erre céleszközök, mint amilyen pl. a Figma is.

Az már egy másik, fogasabb kérdéskör, hogy az elkészült oldal "jó" lesz-e: milyen lesz a sebessége, minden oda kerül-e, ahol a felhasználók "várják", hogyan fogod tudni karbantartani és mennyire lesz "skálázható", vagyis hosszútávon felhasználói és fejlesztői szemmel milyen lesz használni - lásd alább.

Érv #2: Pluginek és előre elkészített sablonok tömkelege

A WordPress egyik nagy előnye a hatalmas plugin választéka, ugyanis sokféle felhasználási esetre találhatunk egy vagy több, előre elkészített megoldást: webshop motortól kezdve fórumokon át széles a kínálat. Fontos szempont viszont, hogy ha az előre elkészített plugineket és a sablonokat használjuk, nem feltétlenül a leghatékonyabb megoldásra jutunk (hiszen olyan is lesz a "csomagban", amit mi egyáltalán nem használunk), illetve ha ezek nem 100%-ban fedik az igényeinket, plugintől/sablontól függően nehézkesen, vagy egyáltalán nem fogunk tudni változtatni a működésen.

Azt is fontos hozzátenni, hogy az ész nélküli plugin használat az álmoskönyvek szerint sem jó jel, így érdemes lehet "bepiszkolni" a kezünket, és az egyszerűbb funkcionalitást kóddal megvalósítani - pontosan azért is indítottam el a #plugout sorozatot, hogy ezeket a lehetőségeket bemutassam. Az összképet nézve azonban ilyenkor pont a WordPress egyik fő előnyét veszítjük el, hiszen kódhoz kellett nyúlnunk, nem egy már meglévő megoldást "emeltünk le a polcról".

Érv #3: "A web 37%-a WordPress-en fut"

A fenti érvet hallva azt gondolhatnánk, hogy egy abszolút sikertermékről beszélünk. Ez természetesen egy komoly fegyvertény, azt azonban fontos figyelembe venni, hogy nem mindegy, a web melyik egyharmada fut WordPress-en: az egyszerű, néhány aloldalból álló weboldalak havi néhány tíz/száz/ezer felhasználóval, vagy komoly, napi több százezer vagy millió látogatót kiszolgáló weboldalak? Beszédes az alábbi kép: beigazolódni látszik az a gyanú, amit a Gutenberg bevezetésével egyidejűleg többen felvetettek, hogy a komoly, high-profile weboldalak fejlesztői nem "mernek" majd WordPress alapokon újabb projektekkel indulni, ezt jól jelzi az alábbi ábrán látható "letörés" a Top 10.000 és Top 100.000 weboldal grafikonján (a TOP 1.000.000-ban ez a trend már/még nem látszik, lásd a gondolat első felét).

Mindezek ellenére az elgondolkodtató, hogy jelenleg az Interneten minden harmadik oldal WordPress - de minek köszönheti ezt az elsöprő sikert? Ebben - szerintem - kisebb jelentősége van annak, hogy ingyenes, vagy nyílt forráskódú, hiszen léteznek más, ingyenes és nyílt forrású tartalomkezelők. Sokkal fontosabb tényező a VÁLASZTÁS lehetősége. Az ígéret szerint ugyanis szó szerint néhány kattintással radikálisan átalakíthatjuk a már létező WordPress oldalunkat: teljesen más megjelenést tudunk kialakítani csak azzal, ha lecseréljük az oldal által használt sablont. Ez végülis nem újdonság - így működik a HTML és a CSS -, sőt, erre már láttunk szép példákat is, elég csak a CSS Zen Garden-re gondolnunk, ahol ugyanabból a HTML felépítésből hoznak ki teljesen eltérő megjelenést pusztán a CSS átírásával.

Az "oldalépítők" elterjedésével - és ez az egyik nagy szívfájdalmam velük kapcsolatban - azt azonban nem hagyhatjuk figyelmen kívül, hogy az egyes sablonok más és más "builderrel" kompatibilisek (Visual Composer, Elementor, Divi, Beaver Builder, stb.), így a cserénél könnyen belefuthatunk abba, hogy nem csak az oldal dizájnja változik meg radikálisan, de a tartalma is: eltűnik. A piac azonban láthatóan meghozta a döntését: a gyors és könnyű változtatás lehetőségéért cserébe inkább vállalják azt, hogy egy átalakításnál esetleg a teljes oldalt újra kelljen építeni, hiszen könnyen meglehet, hogy addigra már a tartalom nagy része irrelevánssá is válik.

Wordpress usage over time

Beigazolódni látszik az a gyanú, amit a Gutenberg bevezetésével egyidejűleg többen felvetettek, hogy a komoly, high-profile weboldalak fejlesztői nem "mernek" majd WordPress alapokon újabb projektekkel indulni.

A fenti érvek esetében inkább talán előnyösnek látszik a WordPress használata, miért jajonganak akkor mégis hangosan az ellenzők, amikor a WordPress szóba kerül? Ennek több oka is van.

Az ellenérvek egy jelentős része szakmai szempontokat feszeget. Ezek kívülállók számára valószínűleg lényegtelennek tűnhetnek, azonban amikor a WordPress-ben készült - komolyabb - oldalunk üzemeltetési költsége/nehézsége megközelíti, esetleg többszörösére nő, mint egy egyedileg készült, teljesen a mi igényeinkre szabott oldalénak, akkor már nem csak elefántcsonttoronyba való elmélkedésként tekintünk ezekre, hanem komoly üzleti következményeket magukban hordozó tényezőkként. Mik szoktak lenni ezek az ellenérvek?

A fejlesztő "életét" megnehezítő tényezők:

  • Nem követi az általánosan elfogadott kódolási mintákat (pl. objektumorientáltság), a "modern" fejlesztési "praktikákról" és PHP sztenderdekről nem is beszélve.
  • A kód formázása és logikája kusza, ezzel a szükségesnél nagyobb mentális terhet ró a fejlesztőre - növelve ezzel a hibázás lehetőségét.
  • Nem különíti el a megjelenítési és a logikai réteget.
  • Templating engine hiánya, mely például - igaz, egy teljesen más rendszer - a Webgalamb sérülékenységek esetében könnyűszerrel megakadályozta volna a tömeges adatlopást.
  • Hiányzik a környezeti változók támogatása: gyakran előfordul, hogy a környezettől függően eltérő értékeket szeretnénk használni a kód bizonyos részein. Ahelyett, hogy ezeket az értékeket "beégetnénk", használhatnánk környezeti változókat, amiket az adott környezet "tölt fel" értékkel.
  • "Hatékony" lekérdezések hiánya: eager-loading, n+1 probléma
  • Minden beállítást az adatbázisban tárol (a verzió-követhető fájlok helyett), így ha valamelyik globális beállítást módosítjuk fejlesztés közben, azt kézzel kell módosítani a fejlesztés élesítésével egyidejűleg ahelyett, hogy ez programozottan, automatizálható módon történne.

A nyújtott "szolgáltatások" gyenge minősége, vagy teljes hiánya:

  • Alapfokú felhasználókezelés, a jogosultságkezelés fapados: nincs beépített jogosultságkezelő és kiosztó felület, egy felhasználó csak egy felhasználói csoportba tartozhat.
  • A médiaelemek kezelése kusza: minden elemet egy közös helyre tölt fel a Médiatár ahelyett, hogy azokat szépen elrendezhetnénk (pl. mappákba - nem, az év/hónap/nap nem nagy segítség, ráadásul teljes mértékben kizárja, hogy a rendszer megtalálja a duplán feltöltött, ismétlődő képeket). Teljesen olyan érzés, mint amikor valaki a gépe asztalán tárolja a csillió dokumentumot a családi nyaralásról készült mappa mellett, rögtön az adóbevallás alatt kettővel.
  • Többnyelvűség támogatása gyenge, vagyis nincs. Az alap WordPress is csak pluginnel "okosítható fel".
  • Blogmotor hagyaték, előfeltevések a tartalomról és annak felépítéséről: nem minden weboldal csak oldalakból és bejegyzésekből áll, sőt, kategóriákat vagy címkéket sem feltétlenül fog minden oldal használni (a felhasználói szerepkörök előre létrehozásáról és elnevezéséről nem is beszélve), mégis csak ilyen tartalomtípusok érhetők el alapesetben, a bővítésükhöz plugin vagy "egyedi fejlesztés" szükséges.
  • Nagyon sok, alapból "bekapcsolva hagyott" funkció érkezik egy alap WordPress telepítésben, melyek így a szükségesnél nagyobb támadási felületet biztosítanak.
  • A sablonok/pluginek forrásai széttöredezettek: több versengő piactér van, a fejlesztői oldalakról nem is beszélve - ez azzal jár, hogy nem tudjuk egy központi helyen kezelni a fizetős plugineket (rosszabb esetben újabb pluginre van szükség ahhoz, hogy a fizetős pluginek frissítéseit telepíteni tudjuk). Több licenc ellenőrzési könyvtár verseng egymással, így újabb sebezhetőségeket behozva a rendszerre. A GPL licensz kikötéseit gyakran nem is tartják be.

Joggal merül fel tehát a kérdés, hogy akkor mi a jó megoldás, mit vegyünk figyelembe, mielőtt elköteleződünk?

Szempontok a döntéshez

Az első vagy sokadik oldalunkat készítjük?

Ha még új a weboldalak világa, nem volt még saját oldalad, egy esélyt mindenképpen érdemes adni a WordPress-nek: az elterjedt tartalomkezelők közül egyértelműen ezzel lehet a legszebb eredményeket elérni a kezdeti időszakban. A különféle builderek sokat segítenek, a pluginek is hasznosnak bizonyulnak majd: könnyen tudsz kipróbálni élesben új dolgokat anélkül, hogy folyamatosan fejlesztőre támaszkodnál. Persze fennáll a veszélye annak, hogy bármelyik kanyar után használhatatlan lesz az oldal, így mindenképpen teszt tárhelyen kísérletezz!

Ha már a sokadik oldaladon vagy túl, valószínűleg a fenti köröket lefutottad, esetleg kidolgoztad a koncepciót, ami szerint az oldal fel fog épülni, vizsgáld meg, hogy a WordPress "elég" lesz-e: ha korábban érezted azt, hogy bizonyos területeken csak útban van, vagy azt sejted, hogy ebben az esetben útban lesz, érdemes lehet egy hajlékonyabb CMS-t is kipróbálnod.

Mennyire vagy kompromisszumkész?

Ha kísérletezni szeretnél és nem ragaszkodsz egyfajta működési módhoz, akkor rugalmasabb tudsz lenni például a plugin választásban: ha van egy már elkészített plugin, ami működésében nagyon közel áll az elvárásaidhoz, akkor a maradék "10%"-hoz (l. 90-90-es szabály) szükséges anyagi erőforrást nem feltétlenül kell a projektbe locsolnod - főleg az elején, amikor amúgy is szűkösebbek a keretek. Ha viszont hajlíthatatlan vagy abban, hogy az oldalnak hogyan kell működnie - mert mondjuk már kikísérletezted -, akkor szintén érdemes egy egyedibb rendszerbe belevágni, ahol minden biztosan úgy fog működni, ahogyan elvárod.

Mennyire fontos a stabilitás?

Természetesen mindenkinek fontos, ez beugratós kérdés volt! :) Na jó, annyira azért mégsem: ha nem dől össze a világ, ha több órán keresztül áll a rendszered egy-egy karbantartás alkalmával (mert mondjuk érkezett egy "hibajavítás" az egyik pluginhez, ami "összeakadt" egy másikkal, vagy csak a hibajavításon túl mást is változtattak benne), akkor a WordPress megfelelő választás lehet - és félreértés ne essék, ez most nem beszólás volt. Számtalan olyan terület van, ahol egy néhány órás leállás nem okoz több milliós veszteséget. Ahol viszont igen, ott érdemes lehet olyan rendszer irányába nézelődnöd, ami pl. képes az globális adatbázis változásokat verziókövetni, ismeri a szemantikus verziózást és tud függőségeket feloldani és kezelni (pl. Composer-rel).

Összefoglalás

Mikor egyértelműen jó választás a WordPress?

Egyszerű bemutatkozó oldalakhoz, néhány aloldallal, vagy egy egyszerű webshop esetében, ahol néhány tíz, esetleg száz terméket értékesítünk. Akkor is jó választás lehet, ha "azonnal kell egy weboldal", hiszen nagyon gyorsan, akár nem hozzáértőként is hamar célhoz érünk, vagy akkor is, ha még nem tudod, hogy mit szeretnél, ezért gyorsan és könnyen szeretnél iterálni az egyes lehetőségek között anélkül, hogy bármilyen dizájnbeli megkötés akadályozna.

Mikor rossz választás WordPress-t használni?

A frontendes bejelentkezős felület és a rendes, natív jogosultságkezelés hiánya valamit elárul: egyértelműen nem javaslom akkor, ha felhasználókat és különféle jogosultsági szinteket kezelünk (pl. SaaS, fórumok, tagsági oldalak). Természetesen léteznek harmadik felektől származó kiegészítők ennek pótlására, ezek azonban sosem lesznek majd olyanok, mintha egy first-party megoldást szállítana a WordPress.

Akkor sem javaslom, ha egy olyan "bolondbiztos céleszközt" akarsz, ahol a tartalmat csak az előre elkészített blokkokba, különösebb formázás nélkül szeretnéd feldobálni, de nem akarsz/tudsz azzal egyesével törődni, hogy minden pontosan úgy nézzen ki, ahogy a dizájnban azt megálmodta a grafikus: egy erre a célra kifejlesztett oldal ebben az esetben jobb szolgálatot tesz.

Ezek alapján remélem, hogy a cikk végére már neked is egyértelművé vált, hogy valójában a címben feltett kérdéssel van baj, ami jobban hangzana így: Mi a baj azzal, ha mindenre WordPress-t akarunk használni? Azt ne felejtsük ugyanis, hogy mi választjuk meg az eszközeinket, azt pedig a feladathoz választjuk. Ha arra a WordPress nem alkalmas, ne erőltessük - ne mi legyünk a "kalapácsos ember"!