Laddar

← Tillbaka till listan

WordPress API & Headless vs SiteAdmin

Hur WordPress API och SiteAdmin API skiljer sig – och hur SiteAdmin Local fungerar.

WordPress har ett välutbyggt REST API och kan användas som ett headless CMS. SiteAdmin har ett yngre API som redan används i produktion och är en del av Zethrons gemensamma plattforms-API. Skillnaden ligger framför allt i hur API:erna används och hur långt de har byggts ut.

API:er har blivit en viktig del av moderna webbplattformar. De gör det möjligt för olika system och tjänster att kommunicera med varandra utan att allt behöver ligga i samma applikation.

WordPress har haft sitt REST API i många år och har därför ett stort försprång när det gäller bredd och ekosystem. Det går bland annat att använda WordPress som ett headless CMS, där WordPress hanterar innehållet medan en separat frontend byggs med exempelvis React, Vue eller Next.js.

SiteAdmin har ett yngre API. Grunden finns redan på plats och används bland annat av SiteAdmin Local, men API:t är ännu inte fullt utbyggt. Nya funktioner och API-tjänster byggs ut steg för steg.

WordPress kan användas som headless CMS

WordPress behöver inte själv vara den webbplats som besökaren ser. Med en headless-lösning kan WordPress användas som CMS och skicka innehållet vidare via REST API.

En separat frontend kan sedan hämta exempelvis sidor och inlägg och bygga själva webbplatsen.

    WordPress
      ↓
      REST API / JSON
      ↓
      React / Vue / Next.js
      ↓
      Färdig webbplats
  

Det här ger stor frihet för utvecklare. WordPress har också ett mycket stort ekosystem och många färdiga integrationer och verktyg kring sitt API.

Det är en tydlig styrka hos WordPress.

SiteAdmin API är en del av Zethron

SiteAdmin API är inte ett separat API som byggts enbart för en enskild funktion i SiteAdmin. Det är en del av Zethrons gemensamma plattforms-API, där olika tjänster kan kommunicera genom samma grundläggande API-struktur.

API:t använder bland annat en gemensam struktur:

    /api/v1/{service}/...
  

Exempel på tjänster inom plattformen är SiteAdmin, WP Kit, Mailio och Bridge. Nya API-funktioner kan byggas ut inom samma struktur utan att varje tjänst behöver skapa ett helt eget system för autentisering och åtkomst.

SiteAdmin API är fortfarande under utveckling. Det betyder inte att API:t saknas eller bara är en framtida idé. Grunderna finns på plats och används redan, men alla delar som ett komplett och generellt innehålls-API skulle kunna innehålla är ännu inte utbyggda.

Så fungerar SiteAdmin Local

SiteAdmin Local är en tunn klient som körs på kundens eget webbhotell. Själva administrationen, innehållet, designen och publiceringen finns kvar i SiteAdmin.

När en besökare öppnar en adress på kundens webbplats tar Local emot sökvägen och frågar SiteAdmin API efter sidan.

    Besökare
      ↓
      Kundens webbplats
      ↓
      SiteAdmin Local
      ↓
      SiteAdmin API
      ↓
      Färdig HTML
      ↓
      SiteAdmin Local
      ↓
      Besökaren
  

Det viktiga här är att SiteAdmin API i dagens version framför allt fungerar som ett render-API. Local behöver alltså inte själv bygga upp sidan från ett antal separata innehållsobjekt.

API:t får exempelvis en sökväg och svarar med den färdiga sidan som HTML.

Ett konkret exempel på SiteAdmin API

Ett av API-anropen ser i princip ut så här:

    POST /api/v1/siteadmin/render/page
  

Local skickar med sin autentisering och information om vilken adress som ska renderas. API:t returnerar sedan den färdiga sidan.

Det finns även andra endpoints för exempelvis anslutningstest och hantering av Local-klienten:

    GET  /api/v1/siteadmin/ping
      POST /api/v1/siteadmin/render/page
      GET  /api/v1/siteadmin/hosting/bootstrap
      POST /api/v1/siteadmin/hosting/status
  

Samma renderingsprincip används även för exempelvis sitemap.xml, robots.txt och llms.txt.

API:t returnerar mer än bara en sida

När SiteAdmin renderar en sida byggs den utifrån webbplatsens aktuella innehåll och inställningar.

Det kan exempelvis innebära:

  • sidor och undersidor
  • blogginlägg
  • bloggarkiv, kategorier och taggar
  • menyer för sidhuvud och sidfot
  • bilder och andra media
  • SEO-inställningar
  • webbplatsens design och information
  • språkversioner

Om besökaren exempelvis öppnar /en/contact kan Local be SiteAdmin om just den adressen och få tillbaka den engelska versionen av sidan.

Även andra funktioner kan använda samma renderingsmotor när respektive modul är aktiv, exempelvis butik, gästbok eller andra typer av innehåll.

SiteAdmin API använder JSON och modern autentisering

Även om renderingssvaret från SiteAdmin Local är färdig HTML bygger kommunikationen med plattformen på ett modernt API med JSON-baserade anrop och tydlig autentisering.

Varje webbplats har en egen API-nyckel. Den används som en Bearer-token:

    Authorization: Bearer sa_live_...
  

API-nyckeln är kopplad till rätt tjänst och rätt resurs. En SiteAdmin-nyckel kan alltså inte användas för att hämta innehåll från någon annan webbplats.

Nycklar kan roteras och återkallas. Kommunikation kräver HTTPS, API-anrop begränsas per minut och anrop loggas med bland annat sökväg, status och tidpunkt.

Det gör att API:t kan fungera som en gemensam och säker grund för flera tjänster inom Zethron-plattformen.

SiteAdmin API är inte färdigt för allt – och det är viktigt att säga

Här finns en viktig skillnad mellan SiteAdmin och WordPress.

WordPress REST API är mycket mer moget och omfattande. Det finns etablerade endpoints för många typer av innehåll och funktioner, och det finns ett stort ekosystem som bygger vidare på det.

SiteAdmin API är yngre och har inte samma bredd ännu.

I dag är en central del att kunna rendera en SiteAdmin-webbplats via API, vilket är det som gör SiteAdmin Local möjligt. Det finns också en gemensam API-struktur inom Zethron som andra tjänster använder.

Fler API-funktioner byggs ut del för del. Det innebär bland annat att ett mer generellt innehålls-API, där exempelvis sidor och inlägg hämtas som separata poster, är en möjlig vidareutveckling – men det ska inte beskrivas som en färdig funktion innan det faktiskt finns.

WordPress eller SiteAdmin?

Område WordPress SiteAdmin
API Mycket moget REST API Yngre API under utbyggnad
Headless Ja, etablerat stöd Inte klassisk headless – SiteAdmin Local använder en separat klient och render-API
Frontend Kan byggas helt separat Local visar den färdigrenderade sidan från SiteAdmin
API-ekosystem Mycket stort Byggs inom Zethrons gemensamma plattforms-API
API-autentisering Flera etablerade lösningar Resursbundna API-nycklar, Bearer-auth, HTTPS och rate limiting
Separat webbhotell Går att bygga headless på många olika sätt SiteAdmin Local är byggt för detta

Olika lösningar för olika behov

WordPress har en stor fördel om du vill bygga ett helt eget headless-system och själv kontrollera frontend, dataflöden och API-integrationer. Ekosystemet är stort och det finns många färdiga verktyg att utgå från.

SiteAdmin väljer en annan väg. Plattformen håller administration, innehåll och rendering samlat, medan SiteAdmin Local gör det möjligt att placera själva webbplatsklienten på kundens eget webbhotell.

Det gör att du kan ha webbplatsen på annan hosting utan att behöva flytta själva SiteAdmin-administrationen dit.

SiteAdmin API är alltså redan en fungerande del av plattformen, men fortfarande under utbyggnad. Det är en viktig skillnad mot WordPress mer mogna API-ekosystem – och något vi hellre är tydliga med än försöker jämföra bort.