WordPressin kriittiset kohdat: Kehittäjän näkökulma

WordPressin kriittiset kohdat: Kehittäjän näkökulma

Yhä useammin kehittäjät päätyvät käyttämään WordPressin kaltaista sisällönhallintajärjestelmää, vaikka he eivät pidä alustasta.

Taitavat kehittäjät käyttävät usein mieluummin mukautettuja ratkaisuja, varsinkin kun olet kehittäjä, joka on todella hyvä koodaamassa. Mukautetulla ratkaisulla voit luoda erittäin tyylikkäitä sovelluksia, jotka toimivat erittäin hyvin. Kehittäjät päätyvät kuitenkin käyttämään WordPressin kaltaista sisällönhallintajärjestelmää, vaikka he eivät pidä alustasta voimakkaasti.

Tämä artikkeli on suunnattu näille kehittäjille ja käsittelee monia WordPressin (WP) kanssa työskentelyn haasteita. Selitämme, mitä nämä vaikeudet ovat, ja annamme myös ehdotuksen: Pleskin apu, joka tarjoaa WP-työkalupakin, joka todella auttaa ottamaan huomioon joitakin maailman rakastetuimman sisällönhallintajärjestelmän tärkeimpiä kriittisiä tekijöitä: WordPress.

Miksi kehittäjät käyttävät WordPressiä

Älä erehdy, WordPress on markkinoiden suosituin sisällönhallintajärjestelmä erittäin hyvistä syistä. Tässä osiossa kuvataan, miksi CMS on niin suosittu jopa kokeneiden kehittäjien keskuudessa, jotka voivat itse kirjoittaa oman koodinsa.

Ensinnäkin WordPress on erittäin helppo asentaa. Tarvitset vain standardin LAMP/LEMP-ympäristön – Linux, Apache/Nginx, PHP ja MySQL/MariaDB DBMS:nä. Jos sinulla on se, voit aloittaa WordPressin asennuksen.

Räätälöinti on yhtä helppoa, koska WP CMS sisältää valtavan valikoiman lisäosia, mukaan lukien teemoja käyttöliittymän ulkoasun ja tuntuman mukauttamiseen sekä toimintoja lisääviä laajennuksia. On myös mahdollista rakentaa oma teema, ja kokeneet kehittäjät voivat myös tehdä omia laajennuksiaan, mutta tämä prosessi on monimutkaisempi.

Ehkä suurin syy WordPressin suosioon on tietysti se, että se on muiden kuin teknisten käyttäjien saatavilla. Kun WP on asennettu, ei vaadi koodauskokemusta tai ohjelmiston ymmärtämistä toimiakseen hyvin, aloittelevat käyttäjät voivat julkaista verkkosivuston ja määrittää WordPress-esiintymän heti töiden jälkeen.

Mikä tarkalleen ottaen on WordPressin ongelma?

No, maailman suosituimmalla sisällönhallintajärjestelmällä on monia huomioitavia asioita. Emme aio nostaa melua WordPress-ongelmista, mutta seuraava on suoraa keskustelua ja toivomme, että tämän uskomattoman suositun sisällönhallintajärjestelmän takana oleva kehitystiimi ottaa seuraavat seikat positiivisena kritiikkinä. Tästä syystä uskomme, että WordPress on turhauttava kehittäjille:

Laajasti kykenevä, mutta ei koskaan erinomainen

WordPressin alku oli yksinkertainen. WP syntyi alustaksi niille, jotka halusivat kirjoittaa ja julkaista blogia. CMS on täysin muuttunut vuosien varrella, eikä se ole enää sen vaatimaton alku. Jotkut käyttävät sitä perusjärjestelmänä koko sivuston hallintaan, verkkokauppojen alustana ja jopa tapana luoda staattisia sivustoja (hullua, mutta olemme nähneet tämän myös vuosien varrella)

Se tavallaan korostaa sisällönhallintajärjestelmän mukautumiskykyä, ja olemme samaa mieltä tästä väittämästä, mutta niin joustavan ongelmana on, että on vaikea menestyä missään yksittäisessä roolissa. Yksi tapa ymmärtää tämä on katsoa laajennuslinssin läpi: tuhannet saatavilla olevat WordPress-laajennukset osoittavat, kuinka ihmiset yrittävät pakottaa WordPressin olemaan jotain, mitä se ei yksinkertaisesti ole tai mikä pahempaa, tekemään jotain, johon se ei pysty, tai jos pystyy, se tekee sen huonosti. Tästä syystä kun käytämme WordPressiä ja käytämme sitä usein ja mielellään, emme koskaan lataa siihen lisäosia, jotka eivät ole ehdottoman välttämättömiä. Siinä vaiheessa teemme ne mieluummin itse.

On selvää, että WordPress on tehty tätä "itse tehtyä" lähestymistapaa varten, ja joustavuudella on epäilemättä monia etuja. Mutta ilman vahvaa keskittymistä tiettyyn tehtävään, CMS kamppailee paljon tarjotakseen selkeää ratkaisua. Tämä keskittyminen yrittämiseen olla kaikille kaikkea aiheuttaa valtavia ongelmia. Meidän on kuitenkin huomautettava, että WordPress toimii edelleen hyvin alustana blogien ja monimutkaisten verkkosivustojen ja verkkokauppasivustojen rakentamiseen.

Hakkerit ja halkeamat: WordPress voi olla avoin ovi

Lyhyesti sanottuna WordPress hakkeroidaan kellon ympäri, ja se on suurin valitus, jonka olemme kuulleet kehittäjämaailmalta. Sitä ei voi kiistää, CMS on täynnä tietoturva-aukkoja, se ei lopu koskaan. Se on kuin lyhyt peitto: säädät sitä toiselta puolelta ja se paljastuu toiselta puolelta. Osittain hakkerointien määrä johtuu WordPressin suosiosta, mutta myös siitä, kuinka avoimen lähdekoodin WordPress on.

Koska kuka tahansa voi tarkastella CMS:n avoimen lähdekoodin koodia, hakkerit voivat löytää koodin heikkouksia. Emme tarkoita, että avoimen lähdekoodin koodi olisi huono lähestymistapa, mutta uskomme, että WordPress CMS:n avoimen lähdekoodin luonne myötävaikuttaa sen loputtomiin tietoturvaongelmiin.

Analyysi osoittaa, että WordPress-sivustot muodostavat yli neljänneksen Internetistä. WordPress-tiimi tietää tämän ja yrittää tehdä kaikkensa varmistaakseen CMS:n turvallisuuden, mutta kehityssyklit ovat nykyään niin nopeita, että monimutkaisen sovelluksen suojaaminen voi olla vaikeaa. Ja kun tietoturvatoimet epäonnistuvat, miljoonat verkkosivustot voivat olla vaarassa.

Meillä ei ole muuta ilmeistä ratkaisua WordPress-tietoturvahaasteisiin kuin tietysti ilmeinen "päivitä WordPress-esiintymäsi". Silloinkin WordPressin julkaisusykli tuo mukanaan ainutlaatuisia ja loputtomia ongelmia.

Monet ihmiset sanovat, että WordPressin turvallisuudesta huolehtiminen on yksinkertaista, ja se on suurelta osin totta, mutta kysymys kuuluu, miksi sivustojen omistajia pitäisi velvoittaa tekemään tehtävälista varmistaakseen, että WordPress on turvallinen? Miksi tämä WordPressin tietoturvaosa ei ole valmis?

  • Suoritettavan tiedoston lataaminen WordPressiin on helppoa, ja tämän vaihtoehdon pitäisi olla oletuksena rajoitettu. Vaatii vain hieman älykkään ihmisen lataamaan haitallista koodia sisältävän tiedoston PHP-skriptiin, jolloin sivustosi vaarantuu.
  • Tällä hetkellä asetukset voidaan määrittää tiedostojärjestelmässä. Sen sijaan WordPressin pitäisi poistaa tämä ja tehdä oletus, että tiedostojärjestelmä on "vain luku". Vaikka WordPressin ydin tekee tämän, laajennukset eivät noudata tätä käyttäytymismallia. Jos kohtaat laajennuksen, joka muuttaa määritystiedostoaan sen ollessa aktiivisesti tuotannossa, lopeta sen käyttö. Tämä tarkoittaa, että tiedostojärjestelmä on kirjoitettava, ja näin ollen se on helppo tapa tehdä haitallisia muutoksia. Yksi ratkaisu on poistaa wp-config.php tiedosto järjestelmän juuresta (WordPress toimii joka tapauksessa), mutta se ei ole täydellinen tae turvallisuudesta ja joka tapauksessa se estää useiden tiedostamattomien kehittäjien käsin kirjoittamien liitännäisten oikean toiminnan.
  • Oletuksena WordPress sallii käyttäjien tehdä niin monta kirjautumisyritystä kuin haluavat. Tämä avaa oven raa'an voiman hyökkäykselle, jossa hakkerit yrittävät käyttää satunnaisia ​​salasanoja, kunnes kirjautuminen onnistuu. WordPress CMS:n pitäisi estää rajoittamattomat kirjautumisyritykset asennuksen yhteydessä.

Tämä ei ole tyhjentävä luettelo, se on vain pari kohtaa. On selvää, että suuri ohjelmistoratkaisu, erityisesti avoimen lähdekoodin ratkaisu, ei voi olla täysin haavoittumaton hyökkäyksille. Mutta pointtimme on, että vakavat kehittäjät ovat haluttomia käyttämään WordPressiä juuri siksi, että se on niin haavoittuvainen. Taitavat kehittäjät haluaisivat rakentaa aivan uuden sovelluksen, joka täyttää heidän tarpeitaan tyylikkäästi ja joka voidaan suojata tiukasti – ilman huolta tuntemattomista tulevaisuuden haavoittuvuuksista.

Tai käyttämällä PLESK-asetuksia parhaalla mahdollisella tavalla ja jättämällä lataamatta WordPressiin "ei suositella" tai pahempaa "ilmaisia" tai vielä huonommin kirjoitettuja laajennuksia (tarvitset alan kokemusta, jotta voit arvioida asiaa), voit silti tehdä WordPressistä erinomaisen alustan myös turvallisuuden kannalta. Mutta se ei ole enää "tee-se-itse" -johtamista, vaan tarvitaan asiantuntevaa kättä.

Pluginit ongelmien lähteenä

Hyvä kehittäjä ei turvaudu liitännäiseen ensimmäisellä kerralla jumiutuessaan. Sen sijaan hyvät kehittäjät yrittävät rakentaa yksinkertaisen ja tyylikkään ratkaisun. Päinvastoin, aina luottaa laajennuksiin etsimällä niitä Internetistä tai luottaa yhteisön ehdottamiin on erittäin väärä ajattelutapa.

Lopulta laajennuksen avulla on helppo lisätä tiettyjä toimintoja WordPressiin, mikä tekee laajasta WP:lle saatavilla olevasta laajennuksesta sisällönhallintajärjestelmän vahvuuden – mutta se on myös riski. Vaikka laajennukset voivat tehdä asioista helpompaa ja nopeampaa, ne sisältävät myös monia turvallisuusriskejä ja samalla ne pakottavat valitsemaan käytettävän WP-version ja samalla kasvattamaan WordPress-esiintymääsi yli kaiken kestävän toimenpiteen, mitätöimällä tai heikentäen online-läsnäoloasi, sivuston avausnopeutta ja siten saavutettavuutta ja siten oikeaa indeksointia hakukoneissa.

Lisäosat ja suojaus

Katsotaanpa ensin laajennuksien luomia tietoturvaongelmia. Erään raportin mukaan yli puolet tunnetuista WordPressin tietoturvaongelmista johtuu laajennuksista. Kehittäjiin sovelletaan kaikkia hyviä käytäntöjä, joita laajennusvalmistaja noudattaa – mikä ei ehkä ole niin hyvä. Siksi kehittäjänä sinun tulee testata laajennus perusteellisesti ennen sen käyttöä. Tämä tarkistusprosessi voi jossain määrin poistaa lisäosien avulla säästämääsi aikaa, joten siinä vaiheessa voit yhtä hyvin harkita sivustolle lisättävän ominaisuuden kehittämistä tyhjästä.

WP-versioiden rajoitukset

"Versiorajoituksena" tunnetut laajennukset voivat rajoittaa sitä, mitä WP CMS:n versiota voit käyttää. Nyt WordPress on erittäin aggressiivinen julkaisujaksollaan, joten se julkaisee säännöllisesti uuden päivityksen ja itse asiassa usein käy niin, että alusta julkaisee useita pieniä versioita tai korjauksia tietyssä kuukaudessa. Tämä on ymmärrettävää, koska WP-tiimi korjaa jatkuvasti hyökkäysvektoreita. Silti kaikissa näissä päivityksissä on ongelma: WP-päivitys voi rikkoa laajennuksen, jolloin sivustosi lakkaa toimimasta tai kaatuu.

Tietenkin sinun on pidettävä sisällönhallintajärjestelmäsi ajan tasalla, mutta laajennusten asettamat versiorajoitukset voivat vaikeuttaa tätä työtä. Jotkut laajennuskehittäjät testaavat ja päivittävät jatkuvasti laajennuksiaan, mutta tämä pieni "maailma" premium-laajennukset se ei edusta enemmistöä. Näiden premium-laajennusten ulkopuolella on todellinen riski, että WP-version päivitys voi kirjaimellisesti rikkoa sivuston.

Bloat plugins

Oletetaan, että useimmat kehittäjät tietävät, että on tärkeää rakentaa lean-projekteja, jotka eivät käytä ylimääräistä koodia. Nyt jotkut laajennukset noudattavat tätä periaatetta, mutta monet laajennukset ovat erittäin paisuneita, koska nämä laajennukset yrittävät ratkaista jokaisen käyttäjän ongelman. On tavallista, että kehittäjä huomaa, että laajennus ratkaisee yhden ongelman ja tarjoaa ratkaisun viiteenkymmeneen muuhun ongelmaan, jotka eivät liity hänen sivustoonsa. (Teemoista ja "rakentajista" puhumattakaan).

Plugins keskeyttää WordPress-työnkulkusi

Lopuksi toinen yleinen ongelma, jonka monet lisäosat luovat, on se, että laajennus voi haitata WordPressin käyttökokemusta, tämä riippuu valitettavasti vaikutuksesta bloat plugins WordPressistä. Esimerkiksi laajennus voi muuttaa täysin tapaa, jolla viesti luodaan ja levitetään koko sivustolla.

Tämä johtaa ongelmaan, jonka WP-kehittäjät kohtaavat hyvin usein. Heistä tuntuu, että heidän on "kierrettävä" laajennusta liikaa sen sijaan, että käyttäisivät vain laajennusta. Väistämättä kehittäjät ottavat tämän prosessin ohittaa laajennukset, koska tämä laajennus saattaa näyttää ratkaisevan prosessiongelman (jota väistämättä ei ole).

Verkkoarkkitehtuuri on kehittynyt

Mainitsimme jo, että WordPress on ollut olemassa jo jonkin aikaa. Kun se rakennettiin, kehittäjät ajattelivat, että verkkosivusto käyttäisi aina yhtä palvelinta yhden tiedostojärjestelmän rinnalla. Kehittäjät käyttävät kuitenkin yhä enemmän niin kutsuttua mikropalvelinarkkitehtuuria, joka käyttää useita solmuja. He tekevät tämän, koska tämä työskentelytapa on skaalautuvampi ja joustavampi. Mutta WordPressin käyttäminen monimutkaisessa arkkitehtuurissa voi aiheuttaa ongelmia, esimerkiksi WP CMS -päivitysten lähes yksinomainen riippuvuus FTP:stä.

Nykyaikaiset kehittäjät luulisi ilmeisesti, että koodin päivittäminen FTP:n kautta on vain arkaaista. Kehittäjät käyttävät yleensä tiettyä työnkulkua, jotta mahdolliset ongelmat voidaan pysäyttää ennen kuin koodi tulee käyttöön. Tämä tarkoittaa, että kehitys tehdään paikallisesti, koodi on versioohjattu ja koodia myös testataan automaattisesti – kaikki jatkuvan integrointiprosessin kautta. Joten vain lataamalla uutta koodia ympäristöön, joka suorittaa lyhyitä silmukoita, mikä tarkoittaa, että on suuri todennäköisyys, että asiat voivat mennä pieleen.

Paikkausongelmaa suurempi on yksinkertaisesti oletus, että työskentelemme yhden tiedostojärjestelmän kanssa yhdessä solmussa. Verkkopalvelimien monisolmuklusteri parantaa sekä laitteistovikoja että suorituskykyä, minkä vuoksi tätä lähestymistapaa omaksutaan yhä enemmän. WP:llä on kuitenkin esteenä, että teeman tai liitännäisen päivityksen asentaminen FTP:n kautta tarkoittaa, että vain yksi tiedostojärjestelmä voidaan päivittää kerralla. Joten monen solmun klusterin kanssa joudut tekemään tämän päivityksen jokaiselle solmulle.

Kehittäjät voivat kiertää tämän ongelman, mutta se on edelleen ongelma, jota ei ole helppo ratkaista. Lisäksi prosessi edellyttää, että tiedostojärjestelmä on kirjoitettava, mikä puolestaan ​​tuo suuren tietoturvaongelman tietokantaan, joka on WordPressin sykkivä sydän.

Orpodata ja tietorakenne yleensä

Aluksi WordPressin tietorakenne on yksinkertainen. Pian kuitenkin käy ilmi, että WP-tietokannassa on redundantteja taulukoita. Miksi esimerkiksi metatiedot on jaettava kahteen taulukkoon: yksi nimeltä "wp_posts" ja toinen nimeltä "wp_postmeta"? Eikö olisi parempi sisällyttää kaikki tiedot yhteen taulukkoon? Sama koskee kommenttitaulukkoa, johon liittyy toinen taulukko metatiedoilleen.

Tuloksena on, että tietokannassa on ylimääräistä tietoa jäljellä. Kyllä, WP sisältää joitain ominaisuuksia, jotka auttavat vähentämään orpotietojen vaikutusta, mutta toiminnot epäonnistuvat, kun joudut muokkaamaan tuhansien rivien rivimäärää. Pohjimmiltaan WordPressin ominaisuudet aiheuttavat palvelimen aikakatkaisuja ja johtavat muistivuotojin, eivätkä ne yksinkertaisesti ole tehokkaita.

Voit tietysti halutessasi vähentää orpotietoja kirjoittamalla suoraan SQL-kyselyitä tehdäksesi niin. Mutta sinun on ymmärrettävä perusteellisesti, miten taulukot yhdistetään, jotta voit kirjoittaa oikeat SQL-kyselyt. Tietojen erotteluaste WordPress-tietokannassa osoittautuu yksinkertaisesti tarpeettomaksi.

Mitä Plesk Toolkit for WordPress tekee asioiden parantamiseksi

Pleskin WordPress Toolkit on helppo tapa määrittää ja mukauttaa WordPress-esiintymä yhdestä ohjauspaneelista. Voit käyttää sitä niin kauan kuin se on asennettuna verkkosivustollesi. Tässä on muutamia alueita, joilla WordPress Toolkit auttaa huolehtimaan WP:stä:

Turvallisuuden hallinta

Työkalupakin avulla voit automaattisesti sulkea selvimmät tietoturva-aukot. Voit esimerkiksi vaihtaa XML:n RPC-pingiin, varmistaa, että wp-content-kansio on suojattu, ja paljon muuta. Työkalupakki näyttää sivustosi tietoturvatilan ja ilmoittaa ongelmista "vaaralla" tai "varoituksella", mikä on suositus turvallisuuden parantamiseksi.

Päivitetään WP-esiintymääsi

Toolkit 3.x:n ja uudempien versioiden lisäominaisuudena saatavilla Smart Updates -ominaisuuden avulla voit pitää tuotantolaitoksen käynnissä ja päivittää sitä samanaikaisesti ilman sivuston rikkoutumisen riskiä. Työkalu tarkistaa päivityksen aiheuttamia ongelmia ja kertoo, onko olemassa jonkinlainen riski.

Kloonaus

On monia syitä, miksi saatat haluta kopioida WordPress-sivustostasi. Sinulla voi esimerkiksi olla esityssivusto, jossa voit testata muutoksia ennen julkaisemista. Kun olet valmis, haluat kopioida sivuston sisällön.

Tai sinulla voi olla julkinen sivusto ja haluat ehkä tehdä siitä kopion, johon et halua yleisön pääsevän. Toinen esimerkki ovat ammattikehittäjät, joilla on mallikopio WordPress-asennuksesta ja jotka haluavat vain kloonata sen, mukaan lukien teemat ja laajennukset, automaattisesti.

Meillä on myös asiakkaita, jotka haluavat vain tehdä pari kopiota sivustosta eri syistä, esimerkiksi osoittaakseen, kuinka sivusto voi näyttää erilaiselta muutamalla muutoksella.

Olipa syy mikä tahansa, WordPress Toolkitin kloonaustyökalulla on helppo kopioida kaikki, mukaan lukien sivustotiedostot, sivustotietokanta ja kaikki WP CMS -asetukset.

Synkronointi

Eri syistä saatat haluta varmistaa, että kaksi WordPress-verkkosivustoa vastaavat toisiaan. WP Toolkit mahdollistaa automaattisesti sekä WP-tietokannan että kaikkien WP-tiedostojen synkronoinnin.

Jos sinulla on esityskopio sivustostasi, kun julkinen kopiosi on käynnissä muualla, saatat haluta synkronoida sivustot, koska haluat kopioida esityssivustolla tekemäsi muutokset WP:n live-sivustolle.

Vastaavasti saatat haluta kopioida joitain tietoja tuotantopaikalta lavastusesiintymääsi, jotta voit tarkistaa, toimivatko lavastusversioon tehdyt muutokset mukavasti live-datan kanssa. Tai esityssivustollesi tekemäsi muutokset aiheuttivat muutoksen tietokantataulukoissasi, jolloin työkalupakki sallii sinun synkronoida nämä muutokset tietokantaasi vain, jos haluat.

Toinen WP Toolkitin synkronointiominaisuuden käyttötapaus on, kun kehittäjä on päivittänyt esityssivuston WordPressin vähittäismyyntiversioon ja haluaa peilata muutokset live-sivustolla.

Sinulla on mahdollisuus synkronoida koko WP CMS tai vain osa siitä. Joten voit peilata WP:n tiedostoja, sen tietokantaa tai molempia. Tarjolla on enemmän tarkkuutta, koska voit valita synkronoidaanko koko tietokanta tai vain taulukot tai jopa taulukot, jotka ovat lähteessä, mutta joita ei ole kohteessa. On myös mahdollista peilata yksittäisiä pöytiä.

Bugien metsästys WP:ssä

Plesk WordPress Toolkit antaa kehittäjille mahdollisuuden myös automaattisesti havaita ja korjata virheet verkkosivuston lähteessä ottamalla käyttöön sen virheenkorjaustilan.

Johtopäätös.

Kaiken edellä mainitun jälkeen on selvää, että on erittäin tärkeää valita paitsi kehittäjä, jonka kanssa työskentelet, tai toimisto, joka voi seurata sinua, vaan ennen kaikkea isännöinti, jolla sivustosi isännöidään WordPressissä. Näistäkin asioista ymmärrämme, mitä tarkoittaa, onko ammattimaisessa hosting-palvelussa pimeä sivusto vai ei.

WordPress ei ole helppo "objekti" käsitellä. Totta kai tunnet olosi vapaaksi, ajattelet, että et tarvitse kehittäjää tai olla sidottu virastoon, ajattelet, että on ihanaa tehdä se yksin, mutta todellisuudessa totuus sanoo muuta ja nykyään turvallisuus ei ole enää toissijainen, vaan ensisijainen asia myös kolmansia osapuolia koskevien velvollisuuksien ja vastuiden vuoksi.