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.