Kritické aspekty WordPressu: Pohľad vývojára

Kritické aspekty WordPressu: Pohľad vývojára

Vývojári čoraz častejšie používajú CMS ako WordPress, aj keď sa im táto platforma nepáči.

Kvalifikovaní vývojári často uprednostňujú používanie vlastných riešení, najmä ak ste vývojár, ktorý je skutočne dobrý v programovaní. Pomocou vlastného riešenia môžete vytvárať veľmi elegantné aplikácie, ktoré fungujú veľmi dobre. Vývojári však nakoniec používajú CMS, ako je WordPress, aj keď sa im táto platforma veľmi nepáči.

Tento článok je zameraný na týchto vývojárov a venuje sa mnohým problémom, s ktorými sa stretávate pri práci s WordPress (WP). Vysvetlíme, aké sú tieto ťažkosti, a tiež navrhneme: pomoc Plesk, ktorá poskytuje súpravu nástrojov WP, ktorá skutočne pomáha zohľadniť niektoré z hlavných kritických bodov najobľúbenejšieho CMS na svete: WordPress.

Prečo vývojári používajú WordPress

Nenechajte sa pomýliť, WordPress je najpopulárnejší CMS na trhu z veľmi dobrých dôvodov. V tejto časti popíšeme, prečo je CMS taký populárny aj medzi skúsenými vývojármi, ktorí si skutočne dokážu napísať svoj vlastný kód.

Po prvé, WordPress sa veľmi ľahko inštaluje. Všetko, čo potrebujete, je štandardné prostredie LAMP/LEMP – Linux, Apache/Nginx, PHP a MySQL/MariaDB ako DBMS. Ak ho máte, môžete začať inštalovať WordPress.

Prispôsobenie je rovnako jednoduché, pretože WP CMS prichádza s veľkým množstvom doplnkov vrátane tém na prispôsobenie vzhľadu a vzhľadu front-endu a doplnkov, ktoré pridávajú funkcie. Je tiež možné vytvoriť si vlastnú tému a skúsení vývojári môžu tiež vytvoriť svoje vlastné pluginy, ale tento proces je zložitejší.

Snáď najväčším dôvodom popularity WordPressu je, samozrejme, skutočnosť, že je prístupný aj pre netechnických používateľov. Po nainštalovaní WP nevyžaduje na správne fungovanie žiadne skúsenosti s kódovaním ani pochopenie softvéru, noví používatelia môžu publikovať webovú stránku a nastaviť inštanciu WordPress hneď po práci.

Aký je presne problém s WordPress?

Najpopulárnejší CMS na svete má veľa problémov, ktoré treba zvážiť. Nemáme v úmysle robiť rozruch ohľadom problémov s WordPress, ale nasledujúca diskusia je úprimná a dúfame, že vývojový tím stojaci za týmto neuveriteľne populárnym CMS berie nasledujúce body ako pozitívnu kritiku. Tu je dôvod, prečo si myslíme, že WordPress je pre vývojárov frustrujúci:

Široko schopný, ale nikdy nie vynikajúci

Začiatok WordPressu bol jednoduchý. WP sa zrodila ako platforma pre tých, ktorí chceli písať a publikovať blog. CMS sa v priebehu rokov úplne zmenil a teraz nie je podobný svojim skromným začiatkom. Niektorí ľudia ho používajú ako základný systém na správu celej stránky, ako platformu pre online obchody a dokonca ako spôsob generovania statických stránok (šialené, ale aj to sme už roky videli)

Zdôrazňuje to, aký prispôsobivý je CMS a my s týmto tvrdením súhlasíme, ale problém s takou flexibilitou je v tom, že je ťažké vyniknúť v akejkoľvek jednej úlohe. Jedným zo spôsobov, ako si to uvedomiť, je nahliadnuť cez optiku doplnkov: tisíce dostupných doplnkov WordPress ukazujú, ako sa ľudia snažia prinútiť WordPress, aby bol niečím, čím jednoducho nie je alebo ešte horšie, aby robil niečo, čoho nie je schopný. robí to, bolí to. Z tohto dôvodu, keď používame WordPress a používame ho často a radi, nikdy ho nezaťažujeme pluginmi, ktoré nie sú nevyhnutne potrebné. Vtedy si ich radšej vyrábame sami.

Je zrejmé, že WordPress je stvorený pre tento „vlastný“ prístup a flexibilita má nepochybne veľa výhod. Ale bez silnej koncentrácie na konkrétnu úlohu má CMS veľa problémov, aby ponúklo jasné riešenie. Toto zameranie sa na snahu byť všetkým pre každého spôsobuje obrovské problémy. Musíme však upozorniť: WordPress stále funguje dobre ako platforma na vytváranie blogov a nekomplexných webov a stránok elektronického obchodu.

Hacky a cracky: WordPress môže byť otvorenými dverami

Stručne povedané, WordPress je hacknutý nepretržite a je to najväčšia sťažnosť, ktorú sme od vývojárskeho sveta počuli. Nedá sa to poprieť, CMS je plný bezpečnostných dier, nikdy nekončí. Je to ako krátka prikrývka: na jednej strane ju upravíte a na druhej sa odkryje. Čiastočne je počet hackov spôsobený popularitou WordPress, ale aj tým, aký open source je WordPress.

Keďže každý môže zobraziť open source kód CMS, hackerom to umožňuje nájsť slabé miesta v kóde. Nechceme povedať, že open-source kód je zlý prístup, ale myslíme si, že open-source povaha WordPress CMS prispieva k jeho nekonečným bezpečnostným problémom.

Analýza ukazuje, že stránky WordPress tvoria viac ako štvrtinu internetu. Tím WordPress to vie a snaží sa urobiť všetko pre to, aby bol CMS bezpečný, ale keďže vývojové cykly sú dnes také rýchle, môže byť ťažké plne zabezpečiť komplexnú aplikáciu. A keď bezpečnostné opatrenia zlyhajú, milióny webových stránok môžu byť ohrozené.

Nemáme jasné riešenie bezpečnostných výziev WordPress okrem, samozrejme, zrejmého „aktualizujte svoju inštanciu WordPress“. Aj potom cyklus vydávania WordPress so sebou prináša jedinečné a nekonečné problémy.

Veľa ľudí hovorí, že postarať sa o zabezpečenie WordPressu je jednoduché, a to je do značnej miery pravda, no otázkou je, prečo by sa od vlastníkov stránok malo vyžadovať, aby robili zoznam úloh, aby sa uistili, že WordPress je bezpečný? Prečo táto bezpečnostná časť WordPressu nie je pripravená?

  • Pre niekoho je ľahké nahrať spustiteľný súbor na WordPress a táto možnosť by mala byť štandardne obmedzená. Stačí trochu inteligentnému človeku, ktorý nahrá súbor so škodlivým kódom do PHP skriptu a vaša stránka je napadnutá.
  • V súčasnosti je možné konfigurovať možnosti v systéme súborov. Namiesto toho by to mal WordPress odstrániť a predpokladať, že súborový systém je „len na čítanie“. Zatiaľ čo jadro WordPressu to robí, pluginy sa neriadia týmto vzorcom správania. Ak narazíte na doplnok, ktorý zmení svoj konfiguračný súbor, keď je aktívne vo výrobe, prestaňte ho používať. Znamená to zapisovateľný súborový systém a následne jednoduchý spôsob vykonania škodlivých zmien. Jedným z riešení je odstrániť súbor wp-config.php z koreňového adresára systému (WordPress funguje aj tak), ale nie je to úplná záruka bezpečnosti a v každom prípade to bráni správnemu fungovaniu mnohých pluginov, ktoré napísali nevedomí vývojári. .
  • V predvolenom nastavení WordPress umožňuje používateľom vykonať toľko pokusov o prihlásenie, koľko chcú. To otvára dvere útoku hrubou silou, pri ktorom hackeri skúšajú náhodné heslá, kým sa nepodarí prihlásiť. CMS WordPress by mal po inštalácii zakázať neobmedzené pokusy o prihlásenie.

Toto nie je úplný zoznam, je to len pár bodov. Je zrejmé, že veľké softvérové ​​riešenie, najmä open-source riešenie, nemôže byť úplne nezraniteľné voči útoku. Ide nám však o to, že seriózni vývojári sa zdráhajú používať WordPress práve preto, že je taký zraniteľný. Skúsení vývojári by radšej vytvorili úplne novú aplikáciu, ktorá by elegantne vyhovovala ich potrebám a mohla byť prísne chránená – bez obáv z neznámych budúcich zraniteľností.

Alebo tým, že čo najlepšie využijete nastavenia PLESK a nenačítate WordPress s pluginmi typu „neodporúčané“ alebo horšie „zadarmo“ alebo horšie, ale zle napísané (potrebujete skúsenosti v danej oblasti, aby ste si o tom vedeli urobiť úsudok) urobiť z WordPressu výbornú platformu aj z hľadiska bezpečnosti. Ale to už nie je „urob si sám“ manažment, treba ruku odborníka.

Pluginy ako zdroj problémov

Dobrý vývojár sa neuchýli k doplnku, keď sa prvýkrát zasekne. Namiesto toho sa dobrí vývojári snažia vytvoriť jednoduché a elegantné riešenie. Naopak, vždy sa spoliehať na doplnky pri ich vyhľadávaní na internete alebo spoliehať sa na tie, ktoré navrhuje Spoločenstvo, je veľmi nesprávny spôsob myslenia.

Doplnok v konečnom dôsledku uľahčuje pridávanie špecifických funkcií do WordPress, vďaka čomu je široká škála doplnkov dostupných pre WP silnou stránkou CMS – je to však aj riziko. Tak ako pluginy dokážu veci zjednodušiť a zrýchliť, pluginy predstavujú aj množstvo bezpečnostných rizík a zároveň vás nútia vybrať si, ktorú verziu WP môžete použiť a zároveň neskutočne nafúknu vašu inštanciu WordPress. merať frustráciou alebo aj uvedením vašej online prítomnosti do krízy, rýchlosť otvárania stránky a tým aj dostupnosť a následne správne indexovanie vo vyhľadávačoch.

Pluginy a bezpečnosť

Najprv sa pozrime na bezpečnostné problémy, ktoré doplnky vytvárajú. Jedna správa naznačuje, že viac ako polovica známych bezpečnostných problémov WordPress pochádza z doplnkov. Vývojári podliehajú všetkým osvedčeným postupom, ktoré výrobca doplnkov dodržiava – čo nemusí byť také dobré. Preto by ste ako vývojár mali doplnok pred použitím dôkladne otestovať. Tento proces kontroly môže do určitej miery odstrániť čas, ktorý ušetríte pomocou doplnkov, takže v tomto bode môžete tiež zvážiť vývoj úplne od nuly potrebnej funkcie, ktorú pridáte na stránku.

Obmedzenia verzií WP

Doplnky, známe ako „obmedzenie verzie“, môžu obmedziť, ktorú verziu WP CMS môžete spustiť. Teraz je WordPress veľmi agresívny s cyklom vydávania, takže pravidelne vydáva novú aktualizáciu a v skutočnosti sa často stáva, že platforma vydá niekoľko malých verzií alebo záplat v ktoromkoľvek mesiaci. Je to pochopiteľné, pretože tím WP neustále opravuje vektory útokov. Všetky tieto aktualizácie však majú problém: aktualizácia WP môže poškodiť doplnok, čo spôsobí, že váš web prestane fungovať alebo zlyhá.

Samozrejme, že musíte udržiavať svoj CMS aktuálny, ale obmedzenia verzie uložené zásuvnými modulmi môžu túto prácu sťažiť. Niektorí vývojári doplnkov neustále testujú a aktualizujú svoje doplnky, ale tento malý „svet“. prémiové doplnky nepredstavuje väčšinu. Mimo týchto prémiových doplnkov existuje reálne riziko, že aktualizácia verzie WP môže stránku doslova rozbiť.

Plugin nafúknutý

Predpokladajme, že väčšina vývojárov vie, že je dôležité vytvárať štíhle projekty, ktoré nepoužívajú nadbytočný kód. Teraz niektoré pluginy spĺňajú tento princíp, ale mnohé pluginy sú veľmi nafúknuté, pretože tieto pluginy sa snažia vyriešiť každý problém, ktorý môže mať používateľ. Je bežné, že vývojár zistí, že doplnok rieši jeden problém a zároveň ponúka riešenie na päťdesiat ďalších problémov, ktoré nie sú pre jeho stránku relevantné. (Nehovoriac o témach a "staviteľoch").

Pluginy prerušujú váš pracovný postup WordPress

Napokon, ďalším bežným problémom, ktorý vytvára veľa doplnkov, je skutočnosť, že doplnok môže brániť používateľskej skúsenosti vo WordPress, čo, bohužiaľ, závisí od účinku nadúvacie pluginy programu WordPress. Doplnok môže napríklad úplne zmeniť spôsob vytvárania a šírenia príspevku na webe.

To má za následok problém, s ktorým sa vývojári WP veľmi bežne stretávajú, majú pocit, že musia príliš veľa „obchádzať“ doplnok, namiesto toho, aby ho len používali. Vývojári nevyhnutne preberajú tento proces obchádzania doplnkov, pretože sa môže zdať, že tento doplnok rieši problém s procesom (ktorý tam nevyhnutne nie je).

Webová architektúra sa vyvinula

Už sme spomenuli, že WordPress existuje už nejaký čas. Keď bola vytvorená, vývojári si mysleli, že webová stránka bude vždy používať jeden server spolu s jedným súborovým systémom. Vývojári však čoraz viac využívajú takzvanú architektúru mikroserverov, ktorá využíva viacero uzlov. Robia to preto, lebo tento spôsob práce je škálovateľnejší a flexibilnejší. Používanie WordPress na komplikovanej architektúre však môže spôsobiť problémy, napríklad takmer výlučné spoliehanie sa na FTP pri aktualizáciách WP CMS.

Moderní vývojári by si zrejme mysleli, že aktualizácia kódu cez FTP je len archaická. Vývojári zvyčajne používajú špecifický pracovný postup, aby sa potenciálne problémy dali zastaviť skôr, ako bude kód funkčný. To znamená, že vývoj prebieha lokálne, kód je kontrolovaný verziou a tento kód sa tiež testuje automaticky – to všetko prostredníctvom kontinuálneho integračného procesu. Takže stačí načítať nový kód do prostredia, ktoré spúšťa krátke cykly, čo znamená, že existuje vysoká pravdepodobnosť, že sa veci môžu pokaziť.

Väčší ako problém záplatovania je jednoducho predpoklad, že pracujeme s jedným súborovým systémom na jednom uzle. Viacuzlový klaster webových serverov zlepšuje zlyhania hardvéru aj výkon, a preto sa tento prístup čoraz viac využíva. WP má však prekážku v tom, že inštalácia aktualizácie témy alebo doplnku cez FTP znamená, že naraz je možné aktualizovať iba jeden súborový systém. Takže s viacuzlovým klastrom musíte túto aktualizáciu vykonať pre každý uzol.

Vývojári môžu tento problém obísť, ale stále zostáva problémom, ktorý sa nedá ľahko vyriešiť. Okrem toho proces vyžaduje, aby bol súborový systém zapisovateľný, čo zase prináša hlavný bezpečnostný problém do databázy, ktorá je srdcom WordPress.

Osirelé údaje a štruktúra údajov vo všeobecnosti

Na začiatku je dátová štruktúra WordPress jednoduchá. Čoskoro sa však ukáže, že v databáze WP sú nadbytočné tabuľky. Prečo je napríklad potrebné rozdeliť metadáta do dvoch tabuliek: jednej s názvom „wp_posts“ a druhej „wp_postmeta“? Nie je lepšie zahrnúť všetky údaje do jednej tabuľky? To isté platí pre tabuľku komentárov, ktorá má druhú priradenú tabuľku pre svoje metadáta.

Výsledkom je, že v databáze zostali ďalšie údaje. Áno, WP obsahuje niektoré funkcie, ktoré pomáhajú znižovať účinok osirelých údajov, ale funkcie zlyhajú, keď potrebujete manipulovať s počtom riadkov s tisíckami riadkov. Funkcie WordPress v podstate spôsobujú časové limity servera a vedú k úniku pamäte a jednoducho nie sú efektívne.

Samozrejme, môžete sa rozhodnúť jednoducho zredukovať osirotené údaje priamym napísaním SQL dotazov. Musíte však dôkladne pochopiť, ako sú tabuľky prepojené, aby ste mohli písať správne SQL dotazy. Stupeň oddelenia údajov v databáze WordPress sa jednoducho ukazuje ako nadbytočný.

Čo robí Plesk Toolkit pre WordPress, aby veci boli lepšie

Plesk's WordPress Toolkit predstavuje jednoduchý spôsob, ako nastaviť a prispôsobiť inštanciu WordPress, a to všetko z jedného ovládacieho panela. Môžete ho používať, pokiaľ je nainštalovaný na vašom webe. Tu je niekoľko oblastí, v ktorých súprava nástrojov WordPress pomáha starať sa o WP:

Riadenie bezpečnosti

Pomocou súpravy nástrojov môžete automaticky uzavrieť najviditeľnejšie bezpečnostné diery. Môžete napríklad prepnúť XML na RPC ping späť, uistiť sa, že priečinok „wp-content“ je bezpečný a oveľa viac. Sada nástrojov zobrazuje stav zabezpečenia vašej lokality a označuje problémy ako „nebezpečenstvo“ alebo „varovanie“, čo je odporúčanie na zlepšenie bezpečnosti.

Aktualizácia vašej inštancie WP

Funkcia Smart Updates, ktorá je dostupná ako doplnková funkcia v Toolkit 3.xa novších verziách, vám umožňuje udržiavať produkčnú lokalitu v prevádzke a zároveň ju aktualizovať bez rizika narušenia lokality. Nástroj skontroluje problémy, ktoré sa môžu vyskytnúť v dôsledku aktualizácie, a povie vám, či existuje nejaké riziko.

Klonovanie

Existuje veľa dôvodov, prečo by ste si mohli chcieť vytvoriť kópiu svojej stránky WordPress. Môžete mať napríklad skúšobnú stránku, kde môžete testovať zmeny pred uvedením do prevádzky. Po dokončení by ste chceli skopírovať obsah stránky.

Alebo môžete mať verejnú stránku a možno si budete chcieť vytvoriť jej kópiu, ku ktorej nechcete, aby mala verejnosť prístup. Ďalším príkladom sú profesionálni vývojári, ktorí majú vzorovú kópiu inštalácie WordPress a chcú ju len automaticky naklonovať, vrátane tém a doplnkov.

Máme aj klientov, ktorí chcú z rôznych dôvodov urobiť len pár kópií stránky, napríklad ukázať, ako môže stránka vyzerať inak s niekoľkými zmenami.

Bez ohľadu na váš dôvod, klonovací nástroj v súprave nástrojov WordPress uľahčuje kopírovanie všetkého, vrátane súborov lokality, databázy lokality a všetkých nastavení WP CMS.

Synchronizácia

Z rôznych dôvodov sa možno budete chcieť uistiť, že dve webové stránky WordPress sa zhodujú. WP Toolkit vám umožňuje automaticky synchronizovať databázu WP a všetky súbory WP.

Ak máte skúšobnú kópiu svojej lokality, zatiaľ čo vaša verejná kópia beží inde, možno budete chcieť synchronizovať lokality, pretože chcete skopírovať zmeny, ktoré ste vykonali na pracovnej lokalite, na webovú lokalitu WP live.

Podobne možno budete chcieť skopírovať niektoré údaje z produkčnej lokality do vašej skúšobnej inštancie, aby ste mohli skontrolovať, či zmeny vykonané v skúšobnej verzii dobre fungujú so živými údajmi. Alebo zmeny, ktoré ste vykonali na svojej pracovnej lokalite, spôsobili zmenu vo vašich databázových tabuľkách, v takom prípade vám súprava nástrojov umožňuje synchronizovať tieto zmeny s databázou iba vtedy, ak si to želáte.

Ďalším prípadom použitia funkcie synchronizácie nástroja WP Toolkit je situácia, keď vývojár aktualizoval pracovnú stránku na maloobchodnú verziu WordPress a chce zrkadliť zmeny na živej stránke.

Máte možnosť synchronizovať celý WP CMS, alebo len niektoré jeho časti. Takže môžete zrkadliť súbory vášho WP, jeho databázu alebo oboje. V ponuke je ďalšia granularita v tom, že si môžete vybrať medzi synchronizáciou celej databázy alebo iba tabuliek, alebo dokonca tabuliek, ktoré sú v zdroji, ale nie sú prítomné v cieli. Taktiež je možné zrkadliť jednotlivé tabuľky.

Lov chrobákov vo WP

Plesk WordPress Toolkit tiež umožňuje vývojárom automaticky zisťovať a opravovať chyby v zdroji webových stránok povolením režimu ladenia.

Záver.

Po všetkom vyššie uvedenom je jasné, že je mimoriadne dôležité vybrať si nielen vývojára, s ktorým budete spolupracovať, alebo agentúru, ktorá vás môže sledovať, ale predovšetkým hosting, na ktorom budete svoje stránky vo WordPresse hostiť. Aj z týchto vecí chápeme, čo to znamená mať temnú stránku na profesionálnom hostingu alebo nie.

WordPress nie je jednoduchý „objekt“ na zvládnutie. Iste, cítite sa slobodne, myslíte si, že nepotrebujete vývojára alebo nie ste viazaní na agentúru, myslíte si, že je úžasné, že to dokážete sami, ale v skutočnosti pravda hovorí niečo iné a bezpečnosť je dnes témou, ktorá je už nie druhoradé, ale primárne aj z titulu povinností a zodpovednosti voči tretím stranám.