Siirry pääsisältöön

Headless WordPress

Kuinka luot headless WordPress-sivuston Seravolla

Päivitetty tällä viikolla

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ö.

Vastasiko tämä kysymykseesi?