Tämän vuoden WordCamp järjestettiin täällä Suomen Turussa. Yhtenä tapahtumajärjestänä toimi senior developerimme Teemu Suoranta. Aiheita oli laidasta laitaan, mm. uusi, rakastettu Gutenberg sai osansa. Myös ensimmäistä kertaa ikinä WordCampissä järjestettiin paneelikeskustelu. Keskusteluun oli etukäteen valittu kysymyksiä WordCampin sivuilla.

Tapahtumapaikkana toimi Panimoravintola Koulu, joka sopikin tapahtuman luonteeseen oikein hyvin. Aucorilaisia oli vahvoin joukoin paikalla – myös Hämeenlinnan ja Helsingin toimistot osallistuivat.

Aucor toimi myös tapahtuman sponsorina, ja meillä olikin oma ’booth’, johon olimme kehitelleet Gutenberg-haasteen. Tavoitteena oli saada Gutenbergillä kasaan leiskan mukainen sivu, aikaa vastaan. Tulokset olivat hyvin vaihtelevia, välillä 2-20 min. Julkaisuhetken kärkinimi (kuvassa) oli toki mukana kehittämässä haastetta, tällä saattoi olla vaikutusta asiaan :) Lopputuloksissa saatiin kuitenkin oikea voittaja selville ja kisataktiikkaa onkin avattu Unfairin blogissa.

aucor-gutenberg-piste

Aamupäivän esitykset

Marko Tanaskovic, GoDaddy
How to measure, analyze and optimize your WordPress website

Tanaskovicin esityksen pääpointtina oli mitata sivua oikeilla työkaluilla ja optimoida sivu niiden pohjalta. Marko suositteli vahvasti Google Analyticsin käyttöä, ja syystäkin. Sen käyttö on ilmaista ja sillä saa kerättyä valtavasti hyödyllistä dataa sivuston käytöstä. Hyvä sanonta esityksestä poimittuna oli, että “what get’s measured, get’s managed”. Tällä näkökulmalla pääsee pitkälle. Esityksen lopussa Marko antoi parhaat vinkkinsä erilaisten suorituskykyä ja SEO-toteutusta mittaavien sivujen muodossa. Näistä mainittakoon mm. GTMetrix, jota Aucorkin käyttää.

 

Timi Wahalahti, Digitoimisto Dude
Caching rarely updated data in WordPress

Timillä oli vähän teknisempi esitys, joskin sitäkin kiinnostavampi. Esimerkkisivuna oli kuvitteellisen ravintolan sivut, joissa oli alasivut ruokalistalle ja yhteystiedoille, ja sivun laidassa sivupalkki. Nämä kaikki toimivat esimerkkinä datasta jonka voi hyvin välimuistittaa nopeuttaakseen sivua.

Kaksi tärkeintä keinoa sivun nopeutukseen välimuistilla olivat WP:n transientit ja palvelinpuolella Rediksen käyttöönotto. Kun esimerkkisivun ruokalista, yhteystiedot, ja sivupalkki laitettiin transientteihin ( set_site_transient() / get_site_transient() ) nopeutui sivun lataus n. 50 prosentilla. Kun transienttien lisäksi palvelimella otettiin käyttöön Redis, tietokantakyselyt laskivat 48:sta 5:een, ja sivu latautui jopa 90% nopeammin.

Tiedon päivittyessä välimuistin tyhjennykseen Timi ohjeisti käyttämään save_post hookkia, ja siinä yhteydessä tyhjentämään koko välimuistin, tai vain osan välimuistista sivupohjan, metatiedon, tai vaikka sivun ID:n perusteella.

 

Tiia Rantanen, Zeeland Family
Introduction to Pentesting WordPress with Kali Linux

Esitys alkoi johdannolla, siitä mitä pentesting on, sillä monelle sana on varmasti uusi. Sillä tarkoitetaan tietoturva-aukkojen etsimistä erilaisilla työkaluilla.

Tiian suositus testauksen pohjaksi oli Kali Linux, joka on Linux -distro josta löytyy valmiina jopa 600 työkalua haavoittuvuuksien testaukseen. Sitä voi käyttää natiivisti, live-cd/usb:llä tai VirtualBoxilla.

Muutamia työkaluja joita käytiin läpi olivat mm. Grabber, Owasp Zap, Nikto ja WPScan.

Näistä WordPress -kehittäjälle ehkä käytännöllisin on WPScan, joka on erityisesti WordPress -sivujen haavoittuvuuksien etsimiseen tarkoitettu työkalu. Se etsii sivulta tietoturva-aukkoja tunnettujen riskien joukosta ja murtaa salasanoja. Sen käyttämiseen ei tarvitse Kali Linuxia, vaan sen saa mm. homebrew:llä asennettua helposti.

muistiinpanoja_esityksista
Analogisia muistiinpanoja

Iltapäivän esitykset

Toni Laakso, Seravo
Have no fear, Gutenberg is near

Tonin esityksessä tuli hyvin esille hänen omakohtainen kokemuksensa Gutenbergistä. Heillä on Seravolla Gutenberg käytössä kaikilla sivuilla, ja Tonin asenne Gutenbergiä kohtaan olikin melko myönteinen. Gutenbergissä on kuitenkin paljon hyvää vaikka uusi editori on kerännyt myös paljon negatiivista palautetta. Tämä johtuu lähinnä siitä, että editori ei yksinkertaisesti ole vielä täysin valmis ja viimeistelty. Editori kuitenkin tulee mullistamaan sisällönluomiskokemuksen, ja vaikka alku on ollut kivinen, siitä tulee varmasti hyvä. ACF:kin toimii edelleen, toisin kuin pelättiin. Myös vanha WYSIWYG-editori tulee olemaan saatavilla lisäosan muodossa, joten vanhat sivut voidaan päivittää uusimpaan WordPress-versioon, ilman että koko sivusto pitäisi kehittää Gutenberg -yhteensopivaksi.

Koska Gutenberg sitten tulee, on vielä epävarmaa. Sen pitäisi tulla WordPress 5.0:n mukana, mutta julkaisupäivä on toistaiseksi arvoitus – marraskuu on kuitenkin alkuperäinen arvio. Gutenbergistä lisää Tommin kirjoituksessa.

 

Daniel Koskinen, Zeeland Family
The EU Web Accessibility Directive, What you need to know

Danielin esitys koski uutta EU-direktiiviä liittyen saavutettavuuteen. EU on vihdoin monien yritysten jälkeen saanut julki direktiivin saavutettavuuden ja helppokäyttöisyyden takaamiseksi. Tämä direktiivi koskee julkisen sektorin sivuja ja niiden on jatkossa oltava saavutettavia kaikille, sakon uhalla. Uusien sivujen tulee olla saavutettavia 23.9.2019 mennessä, ja vanhojen jo olemassa olevien sivujen 23.9.2020 mennessä.

Direktiivi ei koske mm. karttapalveluja, live-striimejä, tai office-tiedostoja (PDF, Excel, Word). Myöskään kansallisia tiedotusvälineitä direktiivi ei koske (esim. YLE).

Mikä luokitellaan saavutettavaksi?
Direktiivin mukainen helppokäyttöisyyden taso saavutetaan, kun sivusto noudattaa WCAG 2.0 AA -luokitusta, eli jo olemassaolevaa standardia. Tämä helpottaa kehittäjien työtä, kun nyt jo olemassa olevia testaustyökaluja ja apuvälineitä voidaan hyödyntää.

WordPress ja saavutettavuus
Gutenberg-editorin mukana WordPressiin tulee joitain uusia saavutettavuuteen liittyviä ominaisuuksia, mm. tekstien ja taustan välisen kontrastin tarkistamiseen liittyvä työkalu. Myös kuvien ALT-tekstin muokkauskenttä tulee olemaan uudessa editorissa helposti saatavilla sivupalkissa.

Mistä saa lisää tietoa?
Erityisesti WordPress-kehittäjille WP Accessibility Handbook on hyvä aloituspaikka. Sen lukee läpi parissa tunnissa ja sieltä löytyy hyvin lisää linkkejä aiheeseen liittyen.

Elisa ja Alina juttelemassa WordCamp Turussa 2018

Elisa Heikura, Koodarikuiskaaja
Why don’t they get me?

Meidänkin kanssa yhteistyötä tekevän Elisan esityksessä oli otettu esille erittäin tärkeä ongelma. Kuinka kommunikointia teknisen ja ei-teknisen ihmisen välillä voisi parantaa. Eli Elisan sanoin: developer-muggle-developer communication.

Esityksessä oli esitetty selkeät kolme ongelmaa, ja näille vastaavasti ratkaisut. Tiivistetysti:

Ongelmat

  1. They don’t understand your words
  2. They don’t get your values
  3. They don’t get your personality

Ratkaisut

  1. Simplify, use metaphors
  2. Ask more questions
  3. Tell your side of the story

Niin yksinkertaista se on. Näillä pääsee jo pitkälle, joskin suomalaiseen luonteeseen voivat olla melko haasteellisiakin nuo ratkaisuehdotukset :)

 

Joonas Vanhatapio, WP-Cloud
Otto Kekäläinen, Seravo
Tapio Nurminen, Floapps
Roni Laukkarinen, Digitoimisto Dude
Paneelikeskustelu: What matters when choosing hosting for a WordPress site?

Tämän vuoden erikoisohjelmanumero, paneelikeskustelu, koostui pääosin WordCampin sivuilla etukäteen kerätyistä kysymyksistä. Tässä niistä muutama vastauksineen.

Suurimmat virheet valittaessa hostingia
Valitaan ’joku vaan’, tai se halvin hosting. Usein lähdetään liikkeelle sillä asenteella, että mikä tahansa hostauspalvelu toimii, sinne vaan tiedostot ja hyvä tulee. Tämä ei ole kuitenkaan ihan totta, hostauksessa on kuitenkin vähän enemmän mitä pitää ottaa huomioon.

Ajatellaan myös usein, ettei tarvita hostauspalvelulta päivityksiä, korjauksia tai varmuuskopioita. Nämä ovat kuitenkin tietoturvan ja sivuston toimivuuden kannalta ehdottomia, joten suositteltavaa on valita hosting, jossa nämä ovat oikeasti kunnossa.

Erot WordPress-hostauksen ja tavallisen verkkosivun hostauksessa
Yksi ero on palveluntarjoajan tarjoamat työkalut palvelimella. WordPress-kehittäjälle erittäin tärkeitä ja työtä helpottavia työkaluja, kuten gittiä, composeria, WP-CLI:tä, jne, ei ole jokaisella hostauspalvelulla. Nämä kuitenkin usein löytyvät asiansa osaavalta WP-hostaukselta, ja siksi sellaista kannattaa suosia.

Tähän väliin voidaan mainita myös, että on tärkeää huomata erot hostauksen ja ylläpidon välillä. Hostausta etsittäessä haetaan yksinkertaisesti palvelimelta omalle sivulle paikka, mutta vähän enemmän maksamalla tarjolla on monia ylläpitoa tarjoavia palveluita, joihin kuuluu mm. aiemmin mainitut sivun ja sen lisäosien päivitykset, korjaukset, ja automaattiset varmuuskopiot.

Kuinka paljon hostauspalvelun valinta vaikuttaa käyttäjän näkökulmasta
Tässä kysymyksessä päädyttiin lyhyeen ja ytimekkääseen vastaukseen. Käyttäjälle hostauksen valinta vaikuttaa lähinnä siten, että onko sivu nopea vai hidas. Duden Ronilta tuli kommentti, että jopa hänen äitinsä kyllä huomaa jos sivu on hidas. Muutoin käyttäjä ei sen kummemmin todennäköisesti lähde analysoimaan palvelinvalintoja, mutta jokainen huomaa jos jonkin sivun latautuminen kestää ikuisuuden.

Tapahtumanjärjestäjä Teemulta kuultiin tähän väliin myös kommentti: ”Käyttäjälle ei näy hostauksen valinta oikeastaan mitenkään, paitsi siinä kohtaa kun sivu on sitten rikki eikä toimi”. Näinhän se on, nopeus ja sivun toimivuus ovat ne käyttäjälle tärkeät ja näkyvät asiat.

Eli, mitä hostauspalvelulta voi odottaa?
Keskustelun jälkeen päädyttiin siihen tulokseen, että tärkeimmät asiat, jota hostaukselta halutaan, ovat suorituskyky, tietoturva, ja hyvä palvelu. Sounds legit.

 

Todd McMurtney
Personalization at Scale: Building with containers

Kyseinen esitys oli hieman hämäävästi otsikoitu, ainakin front-end -hommia tehneille. Moni saattoi ajatella pelkän aiheen perusteella että nyt on luvassa flexbox-asiaa. Kyseessä olikin kuitenkin täysin erilainen aihe, nimittäin sivuston tekstien, toimintokehotteiden ja muun sisällön mukautus käyttäjän sivustolla liikkumisen ja toimimisen perusteella. Containereilla tarkoitettiin tässä yhteydessä erilaisia paikkoja, joihin sisältö lisätään dynaamisesti. Esimerkkinä toimi sähköpostilistalle liittymiseen kehoittavan pop-up -ikkunan tekstit.

Esityksessä lähdettiin liikkeelle määrittelemällä sana innovaatio, melko innovatiivisesti. Määritelmänä ei ollut tällä kertaa ’keksiä joku uus hieno juttu’, vaan suoraan lainaten ’best possible match between a problem and a solution’. Hyvin sanottu.

Itse esityksen aihe, käyttäjäkokemuksen personointi käyttäjän toimintojen perusteella, oli melko monisäikeinen ja kompleksi, mutta tiivistetysti näin:

  1. Analysoidaan mm. Google Analyticsiä käyttäen käyttäjän klikkauksia ja sivulla liikkumista.
  2. Selvitetään mitä käyttäjä eri tilanteissa tarvitsee, ja tulee seuraavaksi tarvitsemaan, ja tehdään näiden perusteella analytiikkaa apuna käyttäen suunnitelma logiikasta.
  3. Suunnitelman perusteella rakennetaan logiikkaa sivulle jolla käyttäjän toiminnan perusteella saadaan hänelle mukautettuja sisältöjä, linkkejä ja rakenteita joita kyseinen käyttäjä todennäköisemmin klikkaa.
  4. Saadaan prosentuaalisesti huomattava määrä enemmän konversioita, liikennettä sivuille, klikkauksia, ja sivuilla vietetään enemmän aikaa.

Esimerkkitapauksena toimineella sähköpostilistalla oli 38 erilaista mahdollista tekstiä, joista yksi näytetään sähköpostituslistaan liittymisen kehoitteena. Tähän päädytään käyttäjän toiminnan perusteella ja kun teksti näytetään käyttäjälle, tämä mitä todennäköisimmin antaa sähköpostinsa, koska kehoitteesta oli saatu hänelle erittäin personoitu.

Aleksi ja Anssi sisällönluomishommissa WordCamp Turussa 2018

Otto Kekäläinen, Seravo
10 things every developer should know about their database to run WordPress optimally

Päivän viimeisenä esityksenä kuultiin ohjelmasta poiketen Seravon Otolta kattava lista ammattilaisen vinkkejä tietokannan optimointiin WordPress -projekteissa. Esityksen otsikko on muuten täysin fake news, vinkkejä on oikeasti 12, ja lisäksi yksi bonusvinkki :)

  1. Tee tietokantadumppeja
    – WordPressissä WP-CLI:llä komennolla wp db export saadaan helposti tehtyä tietokannasta backup
  2. Käytä WP-CLI:tä
    – Opettele mm. wp db size, wp db cli, wp db search, ja wp db search-replace -komennot
  3. Käytä Admineria phpMyAdminin sijaan.
  4. Unbloat Wp_options -taulu, ja autoload=’yes’ data
    – Tämä data joudutaan lataamaan jokaisella sivun latauksella, pidä siis huolta ettei näissä ole turhaa dataa.
  5. Unbloat Wp_postmeta
    – Joudutaan lataamaan aina kyseessä olevan post typen postia ladattaessa.
  6. Opettele SQL:ää
    – Voit myös luoda omia tauluja rohkeasti tarvittaessa. Tämä on paljon parempi vaihtoehto kuin bloatata wp_postmeta -taulua.
  7. Älä käytä SQL:ää suoraan
    – Älä kuitenkaan yritä keksiä SQL:ää uudestaan php:ssa, vaan käytä WP:n omia funktioita hyväksesi.
  8. Optimoi palvelimen tietokannan asetukset.
  9. Käytä transientteja ja ota käyttöön Redis-välimuistitus.
  10. Monitoroi suorituskykyä.
  11. Siivoa tietokanta
    – Tietokannasta voi silloin tällöin poistaa transientit, ja postauksien versiot (revisions). Tuskinpa kukaan tarvitsee vuoden vanhoja versioita postauksistaan.
  12. Käytä EXPLAIN:ia SQL:ssä.

Bonus tip!
Älä koskaan pushaa kehitysympäristön tietokantaa tuotantoon! Melko harmittavaa kun liveksi päätyy vahingossa tietokanta, jossa on mukana käyttäjä/salasana -yhdistelmä vagrant/vagrant.

Näillä vinkeillä päätettiin tämänvuotinen WordCamp, ei huono lista ollenkaan.

Yhteenveto

WordCamp oli kaikin puolin erittäin onnistunut tapahtuma. Ruoka ja kahvi oli erinomaista (silloin kun sitä tarjoiltiin) ja juotavaa sai kätevästi rahaa vastaan tiskeiltä. Tarroja riitti kaikille ja käytävillä vallitsi hyvä tunnelma. Gutenberg-haasteemme voittajakin löydettiin after partyiltä, ja palkinnoksi luvattu olut (Gutenbeer) löysi omistajansa. Loppusanojen lomassa julkistettiin myös seuraava WordCamp: WordCamp Nordic! Ajankohtana tälle maaliskuu on 2019.

Suuri kiitos järjestäjille, puhujille, vapaaehtoistyöntekijöille ja osallistujille. Kyseessä oli allekirjoittaneen ensimmäinen WordCamp ja jäi kyllä positiiviset fiilikset, mahtava yhteisö. WordCamp Nordiccia odotellessa! :)

Tapahtumasta lisää kuvia ja tunnelmia Aucorin Instassa, Twitterissä #WCTKU ja meidän Tommilta myös ihan valokuvakattausta!

Muiden toimistojen yhteenvetoja tapahtumasta: Dude, Redland ja Unfair. Kiitos yhteisölle!

P.S. WP Turku -meetupit jatkuvat samoissa nurkissa taas ensi viikolla.