Oulun kaupungin multisite-verkkopalvelu
Oulun kaupungin multisite-kokonaisuus
Yksi Suomen suurimmista julkisen sektorin WordPress-multisite-hankkeista syntyi Oulussa
Asiakastarina pähkinänkuoressa
Oulun kaupunki, Suomen viidenneksi suurin kaupunki ja tuleva Euroopan kulttuuripääkaupunki 2026, tunnisti strategisen tarpeen uudistaa ja yhtenäistää laajaa verkkosivustokokonaisuuttaan.
Aiempi, sadoista sivustoista koostunut ympäristö, joka oli toteutettu useilla eri teknologioilla ja hyödynsi pääosin Liferay-alustaa, oli palvellut kaupunkia hyvin aikansa. Oulun kaupungilla oli kuitenkin vahva tahtotila ja visio kehittää edelleen toimintamallejaan ja käytäntöjään niin hallinnan, tietoturvan, saavutettavuuden kuin yhtenäisen brändi-ilmeenkin osalta. Tämä visio ja kehitystarve loivat kaupungille erinomaisen mahdollisuuden tehostaa sivustojen ylläpitoa, kehittämistä ja valvontaa sekä samalla optimoida kustannuksia.
Tavoitteena oli korvata Liferay-alusta ja lukuisat hajallaan olevat erillissivustot ja siirtyä keskitettyyn, moderniin ratkaisuun, joka mahdollistaisi tehokkaan ja laadukkaan toteuttamisen ja ylläpidon. Oulun kaupunki päätyi kahden verkkosivualustan malliin. Pääsivusto ouka.fi:n julkaisualustaksi valittiin Drupal. Hajallaan eri alustoilla olleiden erillisten, omilla brändeillään toimivien sivustojen ratkaisuksi valittiin WordPress Multisite, joka tarjoaa skaalautuvan, monistettavan ja hallitun alustan tulevaisuuden tarpeisiin.
Projektin vaikuttavana lopputuloksena syntyi yksi Suomen laajimmista kunnallisista WordPress-multisite-ratkaisuista. Hion toteutti tämän kokonaisuuden modernilla Enterprise WordPress -konseptilla, jossa keskiössä olivat erinomainen jatkokehitettävyys, tinkimätön saavutettavuus ja kustannustehokkuus. Uudistuksen ansiosta sivustot rakentuvat yhteisistä lohkoista ja visuaalisista komponenteista, samalla kun jokainen verkkopalvelu säilyttää vahvasti oman ainutlaatuisen identiteettinsä.
Modulaarinen rakenne ja saumaton sisällöntuotanto
Keskelle multisite-ympäristöä rakennettiin komponenttipohjainen pääteema, jonka avulla sisällöntuottajat voivat koostaa sivuja visuaalisesti lohko kerrallaan. Gutenberg-editorin ja Hionin ACF Blocks -toteutuksen yhdistelmä mahdollistaa responsiivisten ja saavutettavien lohkojen uudelleenkäytön eri sivustoilla, sekä toimivan balanssin yhdenmukaisen ulkoasun ja joustavuuden välillä.
Jokainen lohko on suunniteltu niin, että se toimii myös teknisesti kevyesti ja saavutettavuusstandardien mukaisesti. Ylläpitäjä voi hallita esimerkiksi tapahtumanostoja, yhteystietoja tai uutisvirtoja ilman koodausosaamista.
Tekninen toteutus ja integraatiot
Ratkaisu toteutettiin Hionin Enterprise WordPress -konseptin mukaisesti. Sen keskiössä ovat suorituskykyinen kehitysmalli, vakioidut julkaisuputket ja korkeatasoinen tietoturva.
Multisite-rakenteen tukena toimivat useat REST-rajapintoihin perustuvat integraatiot, kuten tapahtumakalenterit, some-syötteet ja reittiopastiedot. Kaikki sivustot jakavat yhteisen koodipohjan, mutta sivustoja voidaan personoida esimerkiksi lapsiteemoilla ja lohkovalinnoilla.
Auth0-integraatio: Vahvaa ja räätälöityä tietoturvaa asiakkaan tarpeisiin
Hionin Enterprise WordPress -konseptissa käyttäjien kirjautuminen ei perustu perinteiseen wp-login.php-sivuun, joka altistaa palvelun PHP-runtimeen kohdistuville hyökkäyksille ja perustuu vanhentuneisiin tunnistautumismenetelmiin. Sen sijaan kirjautuminen siirrettiin täysin WordPressin ulkopuoliselle, tunnistautumiseen erikoistuneelle Auth0-alustalle. Auth0 huolehtii käyttäjän tunnistautumisesta turvallisesti ja moderneilla menetelmillä, kuten MFA ja passkey.
Vasta onnistuneen kirjautumisen jälkeen käyttäjä siirretään takaisin WordPress-ympäristöön. Tämä lähestymistapa vähentää merkittävästi hyökkäyspintaa ja mahdollistaa saumattoman integraation Oulun kaupungin SSO-rajapintoihin, jotka on toteutettu Microsoftin palveluiden kautta. Perinteiset WordPress-lisäosat eivät riitä takaamaan zero trust -periaatteita noudattavaa suojausta, ja moderni lähestymistapa tarjoaa paitsi paremman tietoturvan, myös yksinkertaisemman ja hallittavamman käyttökokemuksen.
WordPressille on saatavilla valmis Auth0-lisäosa, mutta asiakkaan tarpeisiin on lisäksi toteutettu räätälöityjä toimintoja Hionin kehittäjien tekemällä omalla lisäosalla. Toteutuksessa on hyödynnetty auth0:n omaa PHP SDK -kirjastoa, joka löytyy valmiina GitHubin versionhallinnasta. Auth0 toimii kaikissa Oulun tuotannon sivustoissa.
Ajantasaiset tapahtumatiedot automaattisesti sivustolle Eventz.today / Localhub -integraatiolla
Tapahtumien tiedot haetaan yksisuuntaisesti Eventz.today- tai Localhub-taustajärjestelmästä käyttäjän ensimmäisen sivulatauksen yhteydessä. Tapahtumatiedot noudetaan REST API -rajapinnan kautta hyödyntäen rajapinnan pääosoitetta, API-avainta ja tapahtumahaun endpoint-osoitetta. Haetut tiedot formatoidaan käyttöliittymään sopivaan muotoon ennen niiden näyttämistä. Mikäli tapahtumien haku epäonnistuu, sivusto hyödyntää välimuistia, johon on tallennettu viimeisimmät tapahtumatiedot.
Räätälöity RSS-syöte: Koulutustiedot saumattomasti verkkosivuilta Oulun intranetiin
Toteutimme Oulun kaupungille ratkaisun, jolla kirjastossatavataan.fi-sivuston koulutuskalenterin tiedot saadaan siirrettyä automaattisesti ja oikeassa muodossa heidän sisäiseen SharePoint-intranetiinsä. Kehitimme räätälöidyn RSS-syötteen, joka muotoilee koulutustiedot tarkasti SharePointin vaatimusten mukaisesti.
Green coding -käytännöt ja energiatehokkuus
Ekologinen infrastruktuuri: Google Cloud ja Haminan datakeskus
Oulun multisite-ratkaisu hyödyntää Google Cloudin infrastruktuuria, jossa yhdistyvät suorituskyky ja ympäristövastuullisuus. Projektissa valittiin pilviympäristö, jonka energiatehokkuus ja uusiutuvan energian käyttö voidaan todentaa. Haminan datakeskuksen käyttö tarjoaa mahdollisuuden palvelun hostaukseen kotimaassa, mikä minimoi latenssia ja pienentää hiilijalanjälkeä. Toteutus perustuu skaalautuvaan ja optimoituun serverless-arkkitehtuuriin Google Cloud Run-palvelussa.
Välimuistitus ja resurssien hallinta
Välimuistitus on toteutettu useilla tasoilla: sisällöt toimitetaan CDN:n kautta, tietokantakyselyt on nopeutettu Redis-välimuistilla, ja staattiset resurssit kuten kuvat ja tyylitiedostot cachetaan sekä selaimessa että palvelinpuolella tehokkaasti.
Ajoitetut integraatiot vähentävät kuormitusta
Oulun WordPress-multisite-alustassa on huomioitu myös palvelun energiatehokkuus. Käytössä olevat integraatiot, kuten tapahtumatiedot, synkronoidaan ajoitetusti eikä jokaisella sivulatauksella, mikä vähentää tarpeettomia http-pyyntöjä ja säästää palvelinresursseja.
Tietoturva ja koodin optimointi
Myös tietoturvaan ja suorituskykyyn on panostettu: sivustoille on asetettu suojausratkaisuja palvelunestohyökkäysten varalle monilla eri verkkokerroksilla Google Cloud Armor ratkaisun avulla, ja sisältö optimoidaan energiatehokkaaksi muun muassa kuvien pakkaamisella ja kevyellä koodilla.
Saavutettavuus tukee kevyttä käyttöliittymää
Saavutettavuusnäkökulma on ollut keskeinen osa suunnitteluprosessia. Verkkopalvelun käyttöliittymä on rakennettu WCAG 2.1 -standardin A- ja AA-tasojen mukaisesti, mikä takaa esteettömän käyttökokemuksen mahdollisimman monelle käyttäjäryhmälle. Selkeä rakenne, looginen navigointi ja kevyet graafiset elementit vähentävät kognitiivista kuormaa ja mahdollistavat sujuvan käytön eri laitteilla. Samalla tämä keveys pienentää tiedostokokoja, mikä tukee myös sivuston ekologista jalanjälkeä.
Yhdistävä alusta, erottuvat brändit
Projektissa rakennettiin mm. BusinessOulun, Mun Oulun, Oulun seudun joukkoliikenteen, museoiden ja tapahtumakohteiden sivustot. Jokainen sivusto näyttää omaltaan, mutta toimii samalla teknisellä perustalla.
Visuaalinen ja tekninen yhtenäisyys tuo mukanaan tehokkuutta: saavutettavuuden, tietoturvan ja analytiikan käytännöt kulkevat mukana automaattisesti.
Tutustu muun muassa näihin projektin tuotoksena syntyneisiin sivustoihin:
www.oulunseudunliikenne.fi
www.businessoulu.com
ja monia muita:
- www.munoulu.fi
- nuortenoulu.fi
- lumo.ouka.fi
- ouluntaidemuseo.fi
- tietomaa.fi
- pohjoispohjanmaanmuseo.fi
- kierikki.fi
- turkansaari.fi
- merimiehenkotimuseo.fi
- oulunsalonkotiseutumuseo.fi
- oulunlinnankellari.fi
- oulunmuseojatiedekeskus.fi
- pateniemensahanmuseo.fi
- kirjastossatavataan.fi
- www.lumotutsanat.fi
- kulttuurivalve.fi