Kritične točke WordPressa: perspektiva razvijalca

Kritične točke WordPressa: perspektiva razvijalca

Vedno več razvijalcev na koncu uporablja CMS, kot je WordPress, čeprav jim platforma ni všeč.

Izkušeni razvijalci pogosto raje uporabljajo rešitve po meri, še posebej, če ste razvijalec, ki je res dober v programiranju. Z rešitvijo po meri lahko ustvarite zelo elegantne aplikacije, ki delujejo zelo dobro. Vendar pa razvijalci na koncu uporabljajo CMS, kot je WordPress, tudi če jim platforma močno ni všeč.

Ta članek je namenjen tem razvijalcem in obravnava številne izzive, s katerimi se srečujete pri delu z WordPressom (WP). Pojasnili bomo, kaj so te težave, in dali tudi predlog: pomoč Pleska, ki ponuja komplet orodij WP, ki resnično pomaga upoštevati nekatere glavne kritične točke najbolj priljubljenega CMS na svetu: WordPress.

Zakaj razvijalci uporabljajo WordPress

Da ne bo pomote, WordPress je najbolj priljubljen CMS na trgu iz zelo dobrih razlogov. V tem razdelku opisujemo, zakaj je CMS tako priljubljen tudi med izkušenimi razvijalci, ki dejansko znajo napisati lastno kodo.

Prvič, WordPress je izjemno enostaven za namestitev. Vse, kar potrebujete, je standardno okolje LAMP/LEMP – ​​Linux, Apache/Nginx, PHP in MySQL/MariaDB kot DBMS. Če ga imate, lahko začnete nameščati WordPress.

Prilagoditev je prav tako enostavna, ker ima WP CMS veliko število dodatkov, vključno s temami za prilagoditev videza in občutka sprednjega dela ter vtičniki, ki dodajo funkcionalnost. Možno je tudi sestaviti lastno temo in izkušeni razvijalci lahko izdelajo tudi svoje vtičnike, vendar je ta postopek bolj zapleten.

Morda je največji razlog za priljubljenost WordPressa seveda dejstvo, da je dostopen netehničnim uporabnikom. Po namestitvi WP ne potrebuje izkušenj s kodiranjem ali razumevanja programske opreme za dobro delovanje; uporabniki začetniki lahko objavijo spletno mesto in nastavijo primerek WordPress takoj po delu.

Kaj točno je težava z WordPressom?

No, najbolj priljubljen CMS na svetu ima veliko težav, ki jih je treba upoštevati. Ne nameravamo delati hrupa glede težav z WordPressom, toda to je odkrita razprava in upamo, da bo razvojna ekipa, ki stoji za tem neverjetno priljubljenim CMS, naslednje točke vzela kot pozitivno kritiko. Tukaj je razlog, zakaj menimo, da je WordPress frustrirajoč za razvijalce:

Široko sposoben, a nikoli odličen

Začetek WordPressa je bil preprost. WP je bil rojen kot platforma za tiste, ki so želeli pisati in objavljati blog. CMS se je z leti popolnoma spremenil in zdaj ni nič podoben svojim skromnim začetkom. Nekateri ga uporabljajo kot osnovni sistem za upravljanje celotnega spletnega mesta, kot platformo za spletne trgovine in celo kot način za ustvarjanje statičnih spletnih mest (noro, vendar smo tudi to videli v preteklih letih)

Nekako poudarja, kako prilagodljiv je CMS, in strinjamo se s to izjavo, vendar je težava s tako prilagodljivostjo v tem, da postane težko blesteti v kateri koli posamezni vlogi. Eden od načinov, kako to spoznati, je, da pokukamo skozi lečo vtičnikov: na tisoče razpoložljivih vtičnikov WordPress prikazuje, kako ljudje poskušajo WordPress prisiliti, da postane nekaj, kar preprosto ni, ali še huje, da naredi nekaj, česar ni sposoben ali če že, to počne slabo. Iz tega razloga, ko uporabljamo WordPress in ga uporabljamo pogosto in voljno, ga nikoli ne naložimo z vtičniki, ki niso nujno potrebni. Takrat jih raje naredimo sami.

Jasno je, da je WordPress ustvarjen za ta "sam-made" pristop in očitno ima prilagodljivost številne prednosti, brez dvoma. Toda brez močne osredotočenosti na določeno nalogo se CMS zelo trudi ponuditi jasno rešitev. Ta osredotočenost na to, da bi bili vsem vse, povzroča velike težave. Vendar moramo to poudariti: WordPress še vedno dobro deluje kot platforma za ustvarjanje blogov in nezapletenih spletnih mest in spletnih mest za e-trgovino.

Vdori in razpoke: WordPress je lahko odprta vrata

Skratka, vdor v WordPress je neprekinjen in to je največja pritožba, ki smo jo slišali v svetu razvijalcev. Tega ne moremo zanikati, CMS je poln varnostnih lukenj, nikoli konca. Je kot kratka odeja: na eni strani jo prilagodiš, na drugi pa se odkrije. Deloma je število vdorov posledica priljubljenosti WordPressa, pa tudi zaradi tega, kako odprtokoden je WordPress.

Ker si lahko kdorkoli ogleda odprtokodno kodo CMS, to hekerjem omogoča, da najdejo slabosti v kodi. Ne mislimo reči, da je odprtokodna koda slab pristop, vendar menimo, da odprtokodna narava sistema WordPress CMS prispeva k njegovim neskončnim varnostnim težavam.

Analiza kaže, da spletna mesta WordPress predstavljajo več kot četrtino interneta. Ekipa WordPress se tega zaveda in poskuša storiti vse, kar je v njeni moči, da bi zagotovila varnost CMS, vendar je zaradi današnjih tako hitrih razvojnih ciklov težko popolnoma zaščititi kompleksno aplikacijo. In ko varnostna prizadevanja ne uspejo, je lahko ogroženih na milijone spletnih mest.

Nimamo očitne rešitve za varnostne izzive WordPressa, razen seveda očitne »posodobite svoj primerek WordPressa«. Tudi takrat cikel izdaje WordPressa prinaša edinstvene in neskončne težave.

Veliko ljudi pravi, da je skrb za varnost WordPressa preprosta, in to je v veliki meri res, toda vprašanje je, zakaj bi morali lastniki spletnih mest narediti seznam opravil, da zagotovijo, da je WordPress varen? Zakaj ta varnostni del WordPressa ni takoj pripravljen?

  • Nekomu je enostavno naložiti izvedljivo datoteko v WordPress, ta možnost pa mora biti privzeto omejena. Dovolj je, da malo pameten človek naloži datoteko z zlonamerno kodo v skript PHP in vaše spletno mesto je ogroženo.
  • Trenutno je mogoče konfigurirati možnosti v datotečnem sistemu. Namesto tega bi moral WordPress to odstraniti in predpostaviti, da je datotečni sistem »samo za branje«. Čeprav to počne jedro WordPressa, vtičniki ne sledijo temu vzorcu obnašanja. Če naletite na vtičnik, ki spremeni svojo konfiguracijsko datoteko, medtem ko je aktivno v produkciji, ga prenehajte uporabljati. To pomeni zapisljiv datotečni sistem in posledično preprost način za izvajanje zlonamernih sprememb. Ena od rešitev je odstranitev datoteke wp-config.php iz korena sistema (WordPress vseeno deluje), vendar to ni popolno jamstvo za varnost in v vsakem primeru preprečuje pravilno delovanje številnih vtičnikov, ki so jih napisali nezavedni razvijalci.
  • WordPress privzeto dovoljuje uporabnikom toliko poskusov prijave, kolikor želijo. To odpre vrata napadu s surovo silo, kjer hekerji poskušajo vnesti naključna gesla, dokler prijava ni uspešna. WordPress CMS bi moral po namestitvi onemogočiti neomejene poskuse prijave.

To ni izčrpen seznam, je le nekaj točk. Očitno velika programska rešitev, zlasti odprtokodna rešitev, ne more biti popolnoma neranljiva za napad. Toda naša poanta je, da resni razvijalci neradi uporabljajo WordPress prav zato, ker je tako ranljiv. Izkušeni razvijalci bi raje zgradili popolnoma novo aplikacijo, ki elegantno izpolnjuje njihove potrebe in jo je mogoče strogo zaščititi – brez skrbi zaradi neznanih prihodnjih ranljivosti.

Če kar najbolje izkoristite nastavitve PLESK in ne naložite WordPressa z »nepriporočljivimi« ali še huje »brezplačnimi« ali še huje, še vedno slabo napisanimi vtičniki (potrebujete izkušnje na tem področju, da lahko presodite o tem), lahko še vedno naredite WordPress odlično platformo tudi v smislu varnosti. A to ni več "naredi sam" upravljanje, potrebna je strokovna roka.

Vtičniki kot vir težav

Dober razvijalec se ne zateče k vtičniku, ko se prvič zatakne. Namesto tega poskušajo dobri razvijalci zgraditi preprosto in elegantno rešitev. Nasprotno, vedno zanašanje na vtičnike z iskanjem po internetu ali zanašanje na tiste, ki jih predlaga Skupnost, je zelo napačen način razmišljanja.

Navsezadnje vtičnik olajša dodajanje določenih funkcij v WordPress, zaradi česar je širok nabor vtičnikov, ki so na voljo za WP, moč CMS – vendar je tudi tveganje. Kolikor lahko vtičniki naredijo stvari lažje in hitrejše, vtičniki prinašajo tudi številna tveganja v smislu varnosti, hkrati pa vas prisilijo, da izberete različico WP, ki jo lahko uporabljate, hkrati pa napihnejo vaš WordPress instanco čez vsako vzdržno mero, izničijo ali spodkopajo vašo spletno prisotnost, hitrost odpiranja strani in s tem dosegljivost in posledično pravilno indeksiranje v iskalnikih.

Vtičniki in varnost

Najprej si oglejmo varnostne težave, ki jih ustvarjajo vtičniki. Eno poročilo kaže, da več kot polovica znanih varnostnih težav WordPress izvira iz vtičnikov. Za razvijalce veljajo vse dobre prakse, ki jih izdelovalec vtičnikov upošteva – kar morda ni tako dobro. Zato morate kot razvijalec vtičnik pred uporabo temeljito preizkusiti. Do neke mere lahko ta postopek preverjanja odstrani čas, ki ga prihranite z vtičniki, tako da lahko na tej točki prav tako razmislite o razvoju potrebne funkcije iz nič, ki jo želite dodati na spletno mesto.

Omejitve različic WP

Vtičniki, znani kot »omejitev različice«, lahko omejijo, katero različico WP CMS lahko izvajate. Zdaj je WordPress zelo agresiven s svojim ciklom izdaj, zato redno izdaja nove posodobitve in pravzaprav se pogosto zgodi, da platforma v katerem koli mesecu izda več manjših različic ali popravkov. To je razumljivo, saj skupina WP nenehno popravlja vektorje napadov. Vendar imajo vse te posodobitve težavo: posodobitev WP lahko prekine vtičnik, kar povzroči, da vaše spletno mesto preneha delovati ali se zruši.

Seveda morate svoj CMS posodabljati, vendar lahko omejitve različic, ki jih nalagajo vtičniki, otežijo to delo. Nekateri razvijalci vtičnikov vedno preizkušajo in posodabljajo svoje vtičnike, toda ta mali "svet". premium vtičniki ne predstavlja večine. Zunaj teh premium vtičnikov obstaja resnično tveganje, da bi nadgradnja različice WP dobesedno zlomila spletno mesto.

Napihnjenost vtičnikov

Predpostavimo, da večina razvijalcev ve, da je pomembno graditi vitke projekte, ki ne uporabljajo odvečne kode. Zdaj so nekateri vtičniki v skladu s tem načelom, vendar je veliko vtičnikov zelo napihnjenih, ker ti vtičniki poskušajo rešiti vsako težavo, ki bi jo lahko imel uporabnik. Običajno je, da razvijalec ugotovi, da vtičnik reši eno težavo, medtem ko ponuja rešitev za petdeset drugih težav, ki niso pomembne za njegovo spletno mesto. (Da ne omenjam tem in "graditeljev").

Vtičniki prekinejo vaš potek dela WordPress

Nazadnje, še ena pogosta težava, ki jo ustvarjajo številni vtičniki, je dejstvo, da lahko vtičnik ovira uporabniško izkušnjo v WordPressu, to je žal odvisno od učinka vtičniki za napenjanje WordPress. Na primer, vtičnik lahko popolnoma spremeni način ustvarjanja in razširjanja objave po spletnem mestu.

Posledica tega je težava, s katero se zelo pogosto srečujejo razvijalci WP, saj se jim zdi, da se morajo preveč ukvarjati z vtičnikom, namesto da bi le uporabljali vtičnik. Neizogibno razvijalci prevzamejo ta postopek obhoda vtičnikov, ker se zdi, da ta vtičnik rešuje problem procesa (ki ga neizogibno ni).

Spletna arhitektura se je razvila

Omenili smo že, da WordPress obstaja že kar nekaj časa. Ko je bilo zgrajeno, so razvijalci domnevali, da bo spletno mesto vedno uporabljalo en sam strežnik poleg enega datotečnega sistema. Vendar pa razvijalci vedno bolj uporabljajo tako imenovano arhitekturo mikrostrežnikov, ki uporablja več vozlišč. To počnejo, ker je tak način dela bolj razširljiv in prilagodljiv. Toda uporaba WordPressa na zapleteni arhitekturi lahko povzroči težave, na primer skoraj izključna uporaba FTP za posodobitve WP CMS.

Sodobni razvijalci bi očitno mislili, da je posodabljanje kode prek FTP zgolj arhaično. Razvijalci običajno uporabljajo poseben delovni tok, tako da se morebitne težave lahko ustavijo, preden koda začne delovati. To pomeni, da se razvoj izvaja lokalno, koda je pod nadzorom različic in ta koda se tudi samodejno testira – vse skozi neprekinjen proces integracije. Torej samo nalaganje nove kode v okolje, ki izvaja kratke zanke, kar pomeni, da obstaja velika verjetnost, da gre kaj narobe.

Večja od težave s popravki je preprosto predpostavka, da delamo z enim datotečnim sistemom na enem vozlišču. Grozd spletnih strežnikov z več vozlišči izboljša napake strojne opreme in zmogljivost, zato se ta pristop vse pogosteje uporablja. Vendar ima WP oviro, saj namestitev teme ali posodobitve vtičnika prek FTP pomeni, da je mogoče hkrati posodobiti samo en datotečni sistem. Pri gruči z več vozlišči se torej soočate s to posodobitvijo za vsako vozlišče.

Razvijalci se lahko rešijo te težave, vendar ostaja težava, ki je ni enostavno rešiti. Poleg tega postopek zahteva, da je datotečni sistem zapisljiv, kar posledično predstavlja veliko varnostno skrb za podatkovno zbirko, ki je utripajoče srce WordPressa.

Osiroteli podatki in struktura podatkov na splošno

Sprva je struktura podatkov WordPress preprosta. Vendar se kmalu izkaže, da so v bazi podatkov WP odvečne tabele. Na primer, zakaj je treba metapodatke ločiti v dve tabeli: eno z imenom "wp_posts" in drugo z imenom "wp_postmeta"? Ali ni bolje vse podatke vključiti v eno tabelo? Enako velja za tabelo s komentarji, ki ima drugo povezano tabelo za svoje metapodatke.

Posledica tega je, da v zbirki podatkov ostanejo dodatni podatki. Da, WP vključuje nekatere funkcije, ki pomagajo zmanjšati učinek osirotelih podatkov, vendar funkcije odpovejo, ko morate manipulirati s številom več tisoč vrstic. V bistvu funkcije WordPress povzročajo časovne omejitve strežnika in vodijo do uhajanja pomnilnika ter preprosto niso učinkovite.

Seveda se lahko odločite za preprosto zmanjšanje osirotelih podatkov z neposrednim pisanjem poizvedb SQL, da to storite. Vendar morate temeljito razumeti, kako so tabele povezane, da lahko pišete pravilne poizvedbe SQL. Stopnja ločenosti podatkov v bazi WordPress se preprosto izkaže za odveč.

Kaj naredi Plesk Toolkit za WordPress, da izboljša stvari

Pleskovo orodje WordPress Toolkit je preprost način za nastavitev in prilagoditev primerka WordPress, vse z ene same nadzorne plošče. Uporabljate ga lahko, dokler je nameščen na vašem spletnem mestu. Tukaj je nekaj področij, kjer WordPress Toolkit pomaga skrbeti za WP:

Upravljanje varnosti

S kompletom orodij lahko samodejno zaprete najbolj očitne varnostne luknje. Na primer, XML lahko preklopite nazaj na RPC ping, zagotovite, da je mapa »wp-content« varna, in še veliko več. Zbirka orodij prikaže varnostni status vašega spletnega mesta in težave označi z »nevarnostjo« ali »opozorilom«, kar je priporočilo za izboljšanje varnosti.

Posodabljanje vašega primerka WP

Funkcija pametnih posodobitev, ki je na voljo kot dodatek v kompletu orodij 3.x in novejših, vam omogoča, da produkcijsko spletno mesto deluje in ga hkrati posodabljate, ne da bi pri tem prišlo do zloma spletnega mesta. Orodje preveri težave, ki se lahko pojavijo zaradi posodobitve, in vam bo povedalo, ali obstaja kakšno tveganje.

Kloniranje

Obstaja ogromno razlogov, zakaj bi morda želeli narediti kopijo svojega spletnega mesta WordPress. Morda imate na primer uprizoritveno mesto, kjer lahko preizkusite spremembe, preden jih objavite. Ko ste pripravljeni, želite kopirati vsebino spletnega mesta.

Lahko pa imate javno spletno mesto in morda želite narediti njegovo kopijo, za katero ne želite, da ima javnost dostopa. Drug primer so profesionalni razvijalci, ki imajo vzorčno kopijo namestitve WordPressa in jo želijo samodejno klonirati, vključno s temami in vtičniki.

Imamo tudi stranke, ki želijo samo narediti nekaj kopij spletnega mesta iz različnih razlogov, na primer, da pokažejo, kako lahko spletno mesto z nekaj spremembami izgleda drugače.

Ne glede na vaš razlog orodje za kloniranje v kompletu orodij WordPress olajša kopiranje vsega, vključno z datotekami spletnega mesta, bazo podatkov spletnega mesta in vsemi nastavitvami WP CMS.

Sinhronizacija

Zaradi različnih razlogov boste morda želeli zagotoviti, da se dve spletni strani WordPress ujemata. WP Toolkit vam omogoča samodejno sinhronizacijo baze podatkov WP in vseh datotek WP.

Če imate uprizoritveno kopijo svojega mesta, medtem ko se vaša javna kopija izvaja drugje, boste morda želeli sinhronizirati strani, ker želite kopirati spremembe, ki ste jih naredili na uprizoritvenem mestu, na spletno mesto WP live.

Podobno boste morda želeli kopirati nekaj podatkov iz produkcijskega mesta v svoj uprizoritveni primerek, da boste lahko preverili, ali se spremembe, narejene v uprizoritveni različici, dobro ujemajo s podatki v živo. Ali pa so spremembe, ki ste jih naredili na uprizoritvenem mestu, povzročile spremembo v tabelah vaše zbirke podatkov; v tem primeru vam komplet orodij omogoča samo sinhronizacijo teh sprememb z vašo bazo podatkov, če želite.

Drug primer uporabe funkcije sinhronizacije orodja WP Toolkit je, ko je razvijalec posodobil uprizoritveno spletno mesto na maloprodajno različico WordPressa in želi spremembe zrcaliti na spletnem mestu v živo.

Imate možnost sinhronizirati celoten WP CMS ali le nekatere njegove dele. Torej lahko zrcalite datoteke svojega WP, njegovo zbirko podatkov ali oboje. Na voljo je dodatna razdrobljenost, saj lahko izbirate med sinhronizacijo celotne zbirke podatkov ali samo tabel ali celo tabel, ki so v izvoru, vendar niso prisotne v cilju. Možno je tudi zrcaljenje posameznih tabel.

Lov na hrošče v WP

Plesk WordPress Toolkit prav tako omogoča razvijalcem, da samodejno zaznajo in popravijo napake v viru spletnega mesta, tako da omogočijo njegov način za odpravljanje napak.

Zaključek.

Po vsem zgoraj navedenem je jasno, da postane izjemno pomembno izbrati ne samo razvijalca, s katerim boste sodelovali ali agencijo, ki vam lahko sledi, ampak predvsem gostovanje, na katerem boste gostili svojo stran v WordPressu. Tudi iz teh stvari razumemo, kaj pomeni imeti temno spletno mesto na profesionalnem gostovanju ali ne.

WordPress ni "predmet", ki ga je enostavno obvladati. Seveda se počutiš svobodnega, misliš, da ne potrebuješ razvijalca ali da nisi vezan na agencijo, misliš, da je čudovito, da lahko to narediš sam, a v resnici resnica govori drugače in danes varnost ni več sekundarna, temveč primarna tema tudi zaradi obveznosti in odgovornosti do tretjih oseb.