Karhulla on asiaa

WordPress Karhun silmin

Petri Länsimaa

Reilut viisi vuotta sitten tapahtui jotain, mikä sai aiemmin lähinnä Drupal-osaamisestaan tunnetun Karhu Helsingin katsomaan tarkemmin WordPressin suuntaan. WordPressin kysyntä asiakaskunnassa tuntui kasvavan ja Drupalin kysyntä hieman kutistui. Siitä hetkestä tähän päivään on tapahtunut paljon.

Drupal on meille edelleen tärkeä työkalu, jota käytämme säännöllisesti ja seuraamme tarkkaan sen kehitystä. Näiden vuosien aikana Karhu ei ole vain hyödyntänyt WordPressiä projekteissaan, vaan myös kehittänyt omia työkalujaan ja käytäntöjään, jotka tekevät jokaisesta toteutuksesta ainutlaatuisen. Alussa Karhulla oli kolme kehittäjää, joille WordPress oli entuudestaan tuttu ja jotka työskentelivät sen parissa Drupalin ohessa. Nykyään tiimissämme on yli kymmenen WordPress-asiantuntijaa. Vuosien varrella olemme toteuttaneet kymmeniä verkkosivuja ja -palveluja WordPressin päälle. Mukaan mahtuu lukuisia erilaisia integraatioita, verkkokauppoja asiakaskohtaisine räätälöinteineen ja paljon muuta.

Kehityskäytäntöjen muotoutuminen

Alussa meillä ei ollut valmiita työkaluja, käytäntöjä eikä edes omaa teemaa. Pikkuhiljaa omien työkalujen määrä on kuitenkin kasvanut ja kehityskäytännöt ovat selkiytyneet.

WordPress-toteutusten määrän kasvaessa ensimmäinen askel kehitystyön vakioinnissa oli oman teeman rakentaminen. Vähitellen mukaan on tullut yleiskäyttöisiä lisäosia helpottamaan kehitystyötä. Näitä ovat esimerkiksi lisäosat lohkojen kehityksen tueksi, listausten ja hakujen rakentamiseen sekä yleisesti WordPressin ja yleisimpien lisäosien toiminnan parantamiseen.

Alussa hyödynsimme ACF:ää (Advanced Custom Fields) lohkojen rakentamiseen. Ehkä suurin muutos Karhun WordPress-kehityksessä tapahtui kuitenkin, kun siirryimme käyttämään vain natiivilohkoja.

Natiivilohkot

Vuonna 2022 teimme ensimmäiset projektit, joissa hyödynsimme natiiveja Gutenberg-lohkoja ACF-lohkojen sijaan. Hyvin nopeasti huomasimme natiivilohkojen hyödyt. Niinpä vuosien 2022–2023 vaihteessa siirryimme käyttämään pelkästään natiivilohkoja WordPress-kehityksessä.

Siirtyminen natiivilohkoihin ei ollut kehittäjille täysin mutkaton prosessi. Monilla oli pitkä kokemus ACF-lohkojen tekemisestä, mutta ei välttämättä lainkaan kokemusta Reactista. Natiivilohkojen kehittäminen vaatii täysin erilaista ajattelutapaa. Järjestimme sisäisiä koulutuksia ja loimme ohjeistuksia natiivilohkojen kehittämisestä. Vaikka siirtymisessä oli omat haasteensa, se sujui kokonaisuutena nopeasti ja kivuttomasti.

Siirtymää helpottaaksemme kehitimme lisäosan, jossa kaikki lohkot kehitetään. Emme siis tee jokaiselle lohkolle omaa lisäosaa, vaan kaikki lohkot kehitetään yhden lisäosan sisällä. Tämä mahdollistaa sen, että meillä on aina helposti käytössä tarvittavat komponentit ja funktiot. Tarvittaessa yksittäiset lohkot voidaan viedä versiohallintaan ja lisätä projektiin osaksi lisäosaa. Kehitämme tätä lisäosaa jatkuvasti, ja voimme esimerkiksi hyödyntää Polylang-käännöksiä suoraan lohkoissa sekä rajata lohkojen käyttöä sisältötyypin, muokkaustilan tai multisite-sivuston mukaan.

Full Site Editing

Seuraava luonnollinen askel natiivilohkoihin siirtymisen jälkeen oli WordPressin Full Site Editing (FSE) -ominaisuuden hyödyntäminen. FSE:n avulla eri sisältöalueita, kuten headeria ja footeria, voidaan hallita myös Gutenberg-editorin kautta. Sisällön ylläpitäjän näkökulmasta FSE vähentää sisällönhallinnan monimutkaisuutta ja antaa asiakkaille enemmän hallintaa omiin sisältöihinsä.

Kehittäjien kannalta FSE tarjoaa yhtenäisen kehitysympäristön, jossa kaikki elementit, myös headerit ja footerit, ovat lohkoja. Tämä yksinkertaistaa toteutusta ja parantaa käytettävyyttä. FSE:n käyttöönoton myötä päivitimme oman teemamme tukemaan näitä uusia ominaisuuksia.

WordPress kuten me sen haluamme

WordPress ja sen yleisimmät lisäosat on suunniteltu palvelemaan monenlaisia tarpeita. Meille tämä tarkoittaa, että joitakin ominaisuuksia on tarpeen rajata ja toisia taas lisätä. Olemme kehittäneet lisäosan, joka karsii tarpeettomia ominaisuuksia ja tuo käyttöön hyväksi havaitut toiminnot.

Lisäosan ominaisuuksia ovat muun muassa:

  • selkeämpi ylläpitokäyttöliittymä
  • parempi tietoturva
  • mahdollistaa sisältötyypistä riippumattoman hierarkian
  • helpottaa suunnitellun URL-rakenteen muodostamista
  • ottaa käyttöön WP-CLI-komentoja
  • lisää halutut roolit
  • hallitsee roolien oikeuksia

Käytämme tätä yleiskäyttöistä lisäosaa jokaisessa WordPress-projektissamme. Lisäosa kehittyy jatkuvasti uusien tarpeiden myötä, ja sen avulla voimme tarjota asiakkaillemme entistä parempia ja joustavampia ratkaisuja.

Listaukset, suodatukset ja haut

Nykyään verkkosivustoilla tarvitaan usein listauksia, suodatuksia ja hakuja eri sisältötyypeille, kuten blogeille, uutisille, tuotteille ja tapahtumille. Näitä varten olemme kehittäneet oman työkalun helpottamaan kehittäjiemme työtä. Tämä työkalu toimii pohjana, kun luomme asiakkaidemme erilaisiin tarpeisiin listauksia, hakuja ja suodatuksia. Työkalu tarjoaa lohkon, jonka avulla sisällön tuottaja voi tehdä erilaisia listauksia ja suodatuksia sivustolle.

Teema

Kuten jo mainittiin, oma teema oli ensimmäinen työkalu, jonka kehitimme ja jota käytimme vakioimaan omaa WordPress-kehitystämme. Teemasta on tehty oma versio tukemaan FSE-kehitystä.

Viime aikoina olemme kehittäneet kokonaan uutta teemaa, jossa on erityisesti huomioitu sivustojen suorituskyky ja kehittäjien arjen helpottaminen.

DevOps

DevOps-käytännöt ovat kehittyneet vuosien varrella. Ennen muutosten julkaisua koodi analysoidaan SonarQubella, joka raportoi koodin laadusta ja turvallisuudesta. Versionhallintaan käytämme Bitbucketia, ja muutokset siirtyvät tuotanto- ja staging-palvelimille suoraan versiohallinnan kautta käynnistyvillä Bitbucket-pipelineilla. Pipeline rakentaa assetit halutuille lisäosille ja teemoille sekä siirtää ne palvelimelle ilman katkoja.

Kehittämisen kokonaisuus tänään

WordPress-kehitykseen rakentamamme työkalut ja käytännöt palvelevat meitä ja asiakkaitamme hyvin. Olemme vuosien varrella rakentaneet kokonaisuuden, joka kattaa kaiken paikallisista kehitysympäristöistä, koodin laadun valvonnasta ja DevOps-käytännöistä aina lohkojen kehittämiseen ja sisällönhallinnan optimointiin. Näiden työkalujen avulla varmistamme, että kehittäjämme voivat keskittyä oleelliseen ja asiakkaamme saavat laadukkaita, räätälöityjä ratkaisuja. Emme kuitenkaan ole valmiita – jatkamme työkalujen ja käytäntöjen kehitystä jatkuvasti. Vain kehittymällä voimme auttaa asiakkaitamme onnistumaan ja samalla helpottaa kehittäjiemme työtä.

Meille töihin?

Kiinnostuitko Karhusta työpaikkana? Tutustu meihin ja lue millaisia osaajia haemme sekä toki miten voit olla meihin yhteydessä.

Tykkäsitkö tästä jutusta?

0
0
0
0
Kenttä on validointitarkoituksiin ja tulee jättää koskemattomaksi.
Jaa juttu somessa
Tällä viikolla näitä luettiin eniten
  1. WordPress Karhun silmin
  2. Värillä on väliä – etenkin saavutettavuuden kannalta
  3. HTTP-virhekoodit – eli mitä näet silloin, jos nettisivu ei toimi kuten odotit
Viime aikoina eniten reaktioita herättivät
Ota yhteyttä
Tilaa uutiskirje