WordPress-kontekstissa headless tarkoittaa, että verkkosivuston kävijälle näytetään aina staattinen, yksisivuinen HTML-sivu sen sijaan, että näytettäisiin normaali WordPress-teeman PHP-generoima HTML-sivu. Headless-sivustolla WordPress pysyy edelleen taustalla ja sitä käytetään sivuston sisällön hallintaan.
Staattinen sivusto rakennetaan usein ReactJS:llä tai jollain muulla JavaScript-kehyksellä, jota käytetään verkkosivustojen kaltaisten sovellusten rakentamiseen. Staattisen sivuston JavaScript-koodi suorittaa sitten WP-REST API -pyynnöt sivuston todellisen sisällön hakemiseksi, jolloin sisältö muuttuu dynaamiseksi.
Headless WordPress -sivustot on helppo luoda Seravolla
Seravon ympäristössä on valmiiksi asennettuna useita NodeJS-työkaluja, kuten Gulp, Node-SASS ja webpack. Lisäksi npm on käytettävissä lisää kirjastojen ja työkalujen asentamiseen. Seravon NodeJS on tarkoitettu auttamaan staattisen sivuston ja sen resurssien kokoamisessa ja rakentamisessa, eikä pitkäkestoista NodeJS-prosessia ole mahdollista käyttää, koska sitä ei tarvita tässä käyttötapauksessa.
Jotta sivusto tarjoaisi staattisen sivun WordPressin oletusetusivun sijaan, riittää, että pudotat index.html-tiedoston htdocs-hakemistoon. Kun tämä tiedosto on paikallaan, pääsy WordPressin taustapuolelle osoitteessa /wp-admin/ toimii edelleen täysin.
Huomioitavaa headless-WordPress-sivujen luomisessa
Headless-ratkaisu voi tuntua houkuttelevalta tekniseltä saavutukselta monille kehittäjille, mutta on syytä muistaa, että tekniikka on vielä uusi ja kehittymätön. Navigointiin, hakukoneiden indeksoitavuuteen, SEO-optimointiin, suorituskykyyn jne. liittyy vielä monia ratkaisemattomia yksityiskohtia.
Tietojen saatavuuden kannalta ensisijainen ja parhaiten tuettu vaihtoehto on käyttää olemassa olevia WP-JSON-rajapintapistettä (endpoint). Jotkut asentavat myös GraphQL-laajennuksen ja käyttävät sen tarjoamia mukautettuja rajapintapisteitä. Jos käytät GraphQL:ää, muista käyttää GET-pyyntöjä, jotta voit hyötyä välimuistista, sillä POST-pyyntöjä ei koskaan tallenneta välimuistiin.
Suorituskykyyn liittyvät seikat
Headless-sivustojen etuna on, että ne voidaan tehdä offline-yhteensopiviksi ja joissakin tapauksissa ne latautuvat erittäin nopeasti.
Huomaa, että Seravolla kaikki sivustopaketit sisältävät palvelintason HTTP-välimuistin, joten jos headless-toteutusta ei suunnitella huolellisesti, se voi jäädä suorituskyvyn ja nopeuden suhteen jälkeen perinteisistä WordPress-sivustoista, joissa PHP:n luoma HTML-tuloste upotetuilla sisällöillä välimuistitetaan palvelintasolla ja toimitetaan samalla nopeudella kuin headless-sivustomalli, josta puuttuu vielä sisältö.
