Sofokus - Di­gi­taa­li­sen lii­ke­toi­min­nan kump­pa­ni

Mitä tulisi huomioida laajassa WordPress-toteutuksessa?

Vähemmän näkee keskustelua siitä, mitä tarvitaan laajassa WordPress-toteutuksessa, vaikka tuotteen markkinaosuus on yli 50% sisällönhallinnassa. Eittämättä näistä sivustoista iso osa on perusverkkosivustoja, joissa on lähinnä tavallisia sisältösivuja ja blogi, eikä sen suurempia toiminnallisuuksia.
Tämä ei silti tarkoita sitä, etteikö WordPressillä voisi tehdä monimutkaisia sivustoja, joissa on paljon muutakin toiminnallisuutta ja logiikkaa. Tiesitkö esimerkiksi, että WordPress (WooCommerce) on jo top10:ssä kun puhutaan verkkokauppa-alustojen markkinaosuuksista?

Räätälöity vai valmisteema?

Ulkoasu on monesti hyvin tärkeä asia, joten lähdetään siitä liikkeelle. WordPressiin on saatavilla tuhansia valmisteemoja, joista osa on ilmaisia ja osa maksullisia. Tämän lisäksi teema voidaan tehdä kokonaan räätälöidysti.
Valmisteemat ovat kivoja ja kustannustehokkaita, mutta niistä paljastuu useimmiten isojakin puutteita, joiden korjaaminen tai muuttaminen saattaa olla hyvinkin hankalaa ja työlästä. Jos valmisteema on vieläpä maksullinen, sen lähdekoodia ei voi nähdä ennen kuin teeman ostaa. Kaikki valmisteemat eivät myöskään tue lokalisointia.
Tämän takia maksimaalisen hyödyn saa kun teema rakennetaan räätälöidysti. Räätälöidystä teemasta saa tehtyä ulkoasultaan täysin uniikin ja siihen saa tehtyä räätälöidysti ominaisuuksia, joiden tekeminen valmisteemoihin saattaa olla työlästä. Ihan nollasta teemoja ei välttämättä tarvitse rakentaa, sillä teemojan rakentamiseen on olemassa erilaisia pohjia ja teemakehyksiä. Räätälöityjen teemojen kehitykseen käytämme Genesis-teemakehystä, jonka avulla teeman kehittäminen on nopeaa ja joustavaa.

Toiminnallisuudet lisäosilla

Lisäosat ovat WordPress-toteutuksessa suola ja samalla se, miten sivustosta voidaan tehdä monipuolinen. Lisäosien avulla WordPress-toteutusta voi kehittää lähes rajattomasti mihin suuntaan tahansa. Jos mietit, että löytyykö WordPressille lisäosaa johonkin tiettyyn asiaan, vastaus on mitä luultavimmin, että löytyy. Tietysti lisäosat eivät välttämättä aina toimi täysin niin kuin oma skenaario vaatisi, mutta monesti lisäosia voi muokata järkevästi omiin tarpeisiin.
Lisäosia on artikkelin kirjoitushetkellä yli 33 000 kappaletta ja tämä koskettaa vain ilmaisia lisäosia. Maksullisia lisäosia on saatavilla myös satoja ellei jopa tuhansia. Tämä on osiltaan sekä hyvä plugins photoettä huono asia.
Koska lisäosia on niin paljon, varsinkin WordPress-aloittelijan saattaa olla hankalaa löytää hyvät lisäosat projektille. Monesti kun useampi lisäosa saattaa vielä tehdä lähes saman asian.

Mistä sitä siis tietää onko valikoitu lisäosa oikea ratkaisu ongelmaan?

Tähän vaikuttaa varsin moni asia. Minkälaisia arvosteluja lisäosa on saanut? Tarjoaako lisäosa tismalleen sen mitä tarvitaan? Miltä lisäosan tukifoorumi näyttää? Antaako kehittäjä tukea vai ei? Tukevatko lisäosat toisia lisäosia?

WordPressin koukut

Jos lisäosan toiminnallisuuksiin pitää tehdä muokkauksia, tarjoaako lisäosa siihen sellaiset tavat WordPressin koukuilla, että lisäosa voidaan jatkossakin päivittää ilman että kaikki hajoaa? Monesti esim. lisäosan dokumentaatiosta saa osviittaa siihen, kuinka ammattimaisesti asiaan on suhtauduttu.
Tässä kohtaa päädytään myös kokemukseen. Kun lisäosia on katselmoitu, kokeiltu ja käytetty sadoissa projekteissa, asioita jää runsaasti mieleen. Tämän myötä olemme Sofokuksella keränneet erilaisia listoja lisäosista. Meillä on tietty lisäosapaletti, jonka asennamme kaikille sivustoille. Tämän lisäksi pystymme listoilta valitsemaan moniin toiminnallisuuksiin suoraan lisäosan, jota suosittelemme käytettäväksi eri toiminnallisuuksien saavuttamiseksi.
Olen törmännyt WordPress-toteutuksessa kehittäjiin, joilla on mielenkiintoinen mantra lisäosien suhteen: ”Mitä vähemmän lisäosia sen parempi”. On itsestään selvää, että lisäosat tuovat lisää painoa sivuston ajamiseen palvelimella, mutta toisaalta tässä päästään jälleen siihen, kuinka hyviä lisäosia käytetään. Lisäosien laadussa on paljon eroja. Olemme toteuttaneet sivustoja, joissa on yli 40 lisäosaa käytössä ja ne toimivat hyvin. Siihen ei siis kannata tuudittautua, että jokin tietty lisäosamäärä olisi jotenkin optimaalinen esimerkiksi suorituskyvyn kannalta
Toisaalta on tullut vastaan sellaisiakin sivustoja, joissa yksi lisäosa on hidastanut sivulatauksia monella sekunnilla. Tämän takia on olennaista tutkia lisäosia ennen kuin niitä ottaa käyttöön ja tekee kaikki asiat valmiiksi niiden kanssa.
Mikäli käy niin, ettei ”valmista” ratkaisua löydy lisäosalla, sitten toiminnallisuus voidaan toteuttaa kokonaan itse räätälöitynä lisäosana. WordPress tarjoaa todella kattavat kuvaukset rajapinnoistaan.

Tarvitsetko kieliversioita tai useita sivustoja?

Usein WordPress-toteutuksessa on vain yksi sivusto. Monille sivustoille tarvitaan kuitenkin kieliversioita sisällöstä. Kieliversioinnin voi toteuttaa useammallakin tavalla. Jos kieliversiot eivät juurikaan toisistaan poikkea ja sisältöjen kieliversioissa pitää olla keskinäinen linkitys, suosittelen käyttämään WPML:ää.
Jos taas kieliversioihin halutaan ihan omanlaisia toiminnallisuuksia tai jopa oma teema, silloin kannattaa käyttää WordPress multisiteä.

Kieliversioiden määrässä ei ole kummassakaan ratkaisussa mitään rajoitusta. Kieliä voi olla 3 tai vaikkapa 30.

Jos tarve on rakentaa useita verkkosivustoja, tällöin kannattaa pohtia sitä, voisiko sivustot toteuttaa WordPress multisitellä. Tällöin kaikki sivustot toimivat yhden WordPress-asennuksen alla. Tämä helpottaa erityisesti ylläpitoa. Multisite on mahdollista rakentaa niin, että sivustot toimivat alipoluissa, alidomaineissa tai kokonaan omissa domaineissaan.

Kuinka paljon liikennettä on laajassa WordPress-toteutuksessa?

Perussivustolle saattaa riittää, että sivusto asennetaan web-hotelliin ilman mitään välimuistitusta. Jos tavoitteet liikennemäärien suhteen ovat kuitenkin korkeat, silloin suorituskykyyn pitää panostaa. WordPressille on useita välimuistituslisäosia olemassa (mm. W3 Total Cache ja WP Rocket). Nämä lisäosat ajavat asiansa varsin mainiosti suurimmassa osassa sivustoja.
Jos liikennemäärät kasvavat todella suuriksi, silloin pitää pohtia palvelinympäristön klusterointia. Sivuston eteen laitetaan kuormantasaaja, joka lähettää käyttäjät eri web-palvelimille riippuen niiden kuormituksesta. Myös tietokannoille voidaan tarvittaessa luoda omat palvelimet. Tässä kohtaa HyperDB-lisäosa auttaa huomattavasti.
Käytämme jonkin verran myös Varnish cachea. Varnishin kanssa pystyy välimuistittamaan sivustoja palasissa (esimerkiksi sivun tekstisisältö ja sivupalkki erikseen). Tällöin esimerkiksi artikkelin päivityksen yhteydessä välimuistista tyhjennetään vain artikkelin sisältö, mutta ei sivupalkkia. Varnish ei ole kytköksissä WordPressiin vaan sitä voi käyttää minkä tahansa verkkosovelluksen kanssa.

Tehostatko toimintaasi integraatioilla?

WordPressin voi integroida muihin järjestelmiin. Integroinnin yhteydessä tietoa voi siirtää joko WordPressiin tai pois WordPressistä. Integrointien tekeminen riippuu tietenkin hyvin paljon siitä, mitä muita järjestelmiä on integraatiossa mukana. Lähtökohtaisesti WordPress ei rajoitu mihinkään tietyn tyyppisiin integrointeihin. Olemme tehneet integrointeja muun muassa siirtotiedostoilla sekä XML- että JSON-rajapintojen kautta.
WordPress-toteutuksessa on hyödynnettävissä myös hyvin kätevä JSON-rajapintalisäosa. Näillä näkymin kyseinen lisäosa tulee jossakin kohtaa siirtymään osaksi WordPressin ydintä.

Yhteenveto

Tuntuu siltä, että WordPress elää edelleen varsinkin Suomessa menneisyytensä vankina. Jostain syystä monet toimijat mieltävät vieläkin WordPressin tuotteena, joka sopii vain blogiksi tai hyvin pienille verkkosivuille. Näkisin, että WordPressillä pystyisi tekemään huomattavasti monimutkaisempia sivustoja kuin mitä nykyään näkee. Olen sitä mieltä, että monet sivustot, joita rakennetaan esimerkiksi Drupalilla, saataisiin tehtyä WordPressillä huomattavasti kustannustehokkaammin ja paremmalla ylläpidettävyydellä.
Kaikesta ihanuudestaan huolimatta WordPress ei tietenkään ole vastaus kaikkeen. Ei sellaista järjestelmää olekaan, joka ratkaisisi kaikki ongelmat. Välillä paras ratkaisu on koodata kaikki räätälöidysti. Toisaalta jos tarvitset laajaa ja monimutkaista verkkokauppaa, siihenkin löytyy parempi alusta kuin WordPress.

Timo Leiniö

Chief Performance Officer & Partner

Lue lisää aiheesta