En flott nettside bygget med Astro er et godt utgangspunkt. Det neste spørsmålet kommer gjerne når noen vil publisere en artikkel, endre en tjenestebeskrivelse eller laste opp nye prosjektbilder: Hvem skal administrere innholdet?
EmDash har et interessant svar. Det bygger et innholdsstyringssystem inn i selve Astro-applikasjonen, med et redigeringsgrensesnitt for dem som publiserer og en TypeScript-basert arbeidsflyt for dem som utvikler. For team som liker Astro, men trenger mer enn filer i et kodelager, er dette en kombinasjon det er verdt å se nærmere på.
Vi har sett på prosjektet, den gjeldende dokumentasjonen og de praktiske forskjellene fra Sanity og WordPress. Her forklarer vi hva som gjør EmDash interessant, og hvilke valg som fortsatt avhenger av nettsiden din.
Hva er EmDash?
EmDash er et fullstack-CMS med åpen kildekode, skrevet i TypeScript og bygget på Astro. Du får verktøy for å administrere innholdet sammen med rammeverket som viser den offentlige nettsiden.
Arkitekturen er enkel å forstå: Administrasjonsgrensesnittet og de offentlige sidene er deler av én applikasjon som settes i produksjon samlet. De deler innholdsmodell, database og medielagring gjennom EmDash. Astro-komponentene bestemmer hvordan innholdet presenteres, mens EmDash gir deg verktøyene for å administrere det.
På en bedriftsnettside kan en redaktør for eksempel oppdatere en tjenesteside i kontrollpanelet, mens utvikleren beholder kontrollen over typografi, sideoppsett og gjenbrukbare komponenter. Redaktøren trenger ikke å endre en kildefil for å rette et avsnitt.
Dette er særlig interessant når selve nettsiden står i sentrum av prosjektet. Du bygger et målrettet publiseringssystem rundt en Astro-nettside, med innholdsverktøyene tett integrert i applikasjonen.
GitHub-prosjektet: 13 496 stjerner, satt i sammenheng
Da vi sjekket 8. oktober 2026, hadde kodelageret emdash-cms/emdash 13 496 stjerner og 1 284 forker på GitHub. Prosjektet bruker MIT-lisensen. Vedlikeholderne beskriver kjernen som stabil og klar for produksjon, mens enkelte offisielle utvidelser og verktøy fortsatt har versjonsnumre i 0.x-serien.
Stjernene viser at prosjektet har fått oppmerksomhet. De sier ikke hvor mange nettsider som er i drift, hvor mange betalende kunder det finnes eller hvor mange migreringer som har lykkes. For et konkret prosjekt er det mer nyttig å undersøke om funksjonene du trenger finnes, om driftsmiljøet støttes og om oppdateringene er håndterbare.
Kodelageret er nyttig også utover populariteten. Når implementasjonen, malene og utviklingshistorikken er tilgjengelige, kan du undersøke hvordan en funksjon virker og følge endringer før du oppgraderer. Denne åpenheten betyr noe når et CMS blir en del av bedriftens daglige publiseringsarbeid.
Hvor enkelt er det å komme i gang med Astro?
For et nytt prosjekt er den korteste veien den interaktive prosjektgeneratoren:
npm create emdash@latest
Introduksjonsveiledningen krever Node.js 22.16 eller nyere. Du kan starte lokalt med Node.js, SQLite og lokal medielagring, uten å opprette en skykonto først. Når prosjektet er opprettet og utviklingsserveren kjører, finner du administrasjonsoppsettet på /_emdash/admin/.
Oppsettsveiviseren tar deg gjennom nettstedsinformasjonen og administratorkontoen. I Starter-veiledningen kan du redigere og publisere et eksisterende eksempelinnlegg og deretter se resultatet på nettsiden. Det er en nyttig første milepæl: å kontrollere hele veien fra redigering til publisering før du endrer designet.
En mal gir deg dessuten noe mer konkret å jobbe med enn et tomt kontrollpanel. Du kan ta utgangspunkt i en faktisk side, erstatte eksempeltekstene og bygge innholdsstrukturen rundt merkevaren din.
Har du allerede en Astro-nettside? Du kan legge til EmDash
Veiledningen for eksisterende prosjekter støtter Astro 6 eller nyere og Node.js 22.16 eller nyere. Det lokale eksemplet legger til EmDash, React for administrasjonsgrensesnittet, Node-adapteren, SQLite og medielagring.
De viktigste koblingene settes opp i Astro-konfigurasjonen og konfigurasjonen for live-innhold. Offentlige sider kan deretter hente innhold med funksjoner som getEmDashCollection() og getEmDashEntry(). Utvikleren kobler resultatene til nettsidens egne komponenter.
Dette innebærer én viktig endring i driften: EmDash trenger et servermiljø for administrasjonsgrensesnittet, API-ene og det oppdaterte innholdet. Det dokumenterte oppsettet bruker Astros servermodus. Et rent statisk nettsted trenger derfor en egnet serveradapter og en driftsløsning som støtter dette.
Integrasjonen er overkommelig for den som allerede er komfortabel med Astro. Det betyr likevel ikke at en eksisterende mal blir en komplett CMS-nettside bare ved å installere én pakke. Hardkodede tekster, bildefelt, navigasjon og sideoppsett må fortsatt kobles til innholdsmodellen.
En mal du kan gjøre til din egen
Et EmDash-tema er et Astro-prosjekt. Etter at nettstedet er opprettet, redigerer du rutene, sideoppsettene, komponentene og stilene direkte. Dette er kjent terreng for en Astro-utvikler og gir merkevaren rom til å utvikle seg utover malens opprinnelige uttrykk.
Bloggmalen for Node kan for eksempel opprettes med denne dokumenterte kommandoen:
npm create astro@latest -- --template @emdash-cms/template-blog
En fornuftig første tilpasning er å endre logo, fargepalett, skriftstørrelser, navigasjon og de viktigste sidetekstene. Deretter kobler du til innholdet redaktørene skal vedlikeholde: artikkelinnledninger, tjenestebeskrivelser, kundehistorier og handlingsoppfordringer.
Det viktige skillet går mellom design og innhold. La komponentene sikre et enhetlig visuelt uttrykk, mens CMS-et gir tilgang til informasjonen teamet faktisk trenger å oppdatere. Et tydelig sett med felter er ofte mer nyttig enn å gjøre hver eneste piksel redigerbar.
Hva får redaktøren tilgang til?
Administrasjonspanelet har områder for innholdssamlinger, medier og innholdstyper. Andre verktøy avhenger av konfigurasjonen og utvidelsene som er installert. Teamet kan organisere innhold, administrere opplastede filer og jobbe med taksonomier og forfatteropplysninger.
Menyer og widgetområder kan også administreres i CMS-et, men de offentlige Astro-komponentene må vise dem. Et felt i kontrollpanelet oppretter ikke automatisk en ny seksjon på nettsiden.
For et lite team kan denne arbeidsdelingen være en fordel. Redaktøren publiserer innenfor en avtalt struktur, mens utvikleren sørger for en helhetlig nettside. Et fotostudio kan for eksempel ha egne samlinger for prosjekter, guider og tjenestepakker, med felter tilpasset hvert innholdsområde.
SEO: nyttige funksjoner innebygd i CMS-et
EmDash har et SEO-panel for titler, beskrivelser, delingsbilder, kanoniske nettadresser og indekseringsinnstillinger for hvert innlegg. Det tilbyr også nettstedskart, robots.txt, omdirigeringer og en logg over 404-feil.
Funksjonene må kobles riktig til nettsiden. SEO må aktiveres for den aktuelle samlingen, og siden må rendre EmDashHead med riktig sidekontekst. HTML-tittelen rendres separat; EmDashHead oppretter ikke dette elementet for deg.
Med nødvendig kontekst kan systemet generere strukturerte data av typen BlogPosting eller WebSite. Oversatt innhold kan få hreflang-lenker når internasjonalisering er konfigurert i Astro.
Dette gir et nyttig teknisk grunnlag. Synlighet i søk avhenger fortsatt av nyttige sider, tydelig informasjon, lenker søkemotorene kan følge og en godt bygget nettside. Valg av CMS garanterer ingen plassering, og antallet GitHub-stjerner sier ingenting om søketrafikken din.
EmDash eller Sanity: hvor skal innholdet ligge?
Sanity har også en offisiell Astro-integrasjon. Content Lake er en driftet innholdsbackend, mens Sanity Studio er redigeringsapplikasjonen du kan tilpasse. Studio kan bygges inn som en rute i Astro, men det gjør ikke den underliggende innholdsdatabasen til en del av Astro-installasjonen.
Denne oppdelingen er verdifull når det samme innholdet skal brukes på flere nettsteder, i en app eller i andre kanaler. Utviklerne henter data fra datasettet og bestemmer hvordan hvert grensesnitt skal presentere dem. Sanitys Astro-verktøy støtter både statiske og serverrendrerte løsninger, med visuell redigering når dette er satt opp.
EmDash plasserer CMS-et nærmere selve nettstedet: kjøremiljøet er integrert i Astro-applikasjonen. Etter vår vurdering er det et interessant valg når du vil ha et selvdriftet CMS rundt én nettside og er komfortabel med ansvaret for database og lagring.
Sanity er verdt å vurdere når en felles innholdsplattform er det viktigste behovet. EmDash er verdt å vurdere når kontroll over hele applikasjonen veier tyngst. Begge kan brukes til en gjennomarbeidet Astro-nettside; forskjellen ligger i hvordan systemet organiseres og vedlikeholdes.
EmDash eller WordPress: økosystemet betyr noe
WordPress har et bredt økosystem av temaer, utvidelser og publiseringsverktøy. For en bedrift som ønsker et kjent redigeringsmiljø, lett tilgjengelige utvidelser og tradisjonell webhotell-drift, er dette fortsatt en praktisk fordel. WordPress kan også gjøre innhold tilgjengelig via REST API-et sitt.
EmDash vil føles mer naturlig for et team som allerede ønsker Astro-komponenter og TypeScript som utgangspunkt for utviklingen. Samtidig bør du kontrollere at de tilgjengelige EmDash-integrasjonene dekker de faktiske behovene, særlig hvis prosjektet er avhengig av spesialiserte utvidelser.
Å flytte innhold er noe annet enn å gjenskape hele nettstedet. EmDash dokumenterer import fra WordPress, blant annet gjennom WXR-eksport og API-er. Det gjør ikke WordPress-temaer eller PHP-utvidelser direkte kompatible. Sideoppsett og spesialfunksjoner kan måtte bygges om eller tilpasses.
Hvis den eksisterende nettsiden allerede fungerer godt, bør en migrering løse et konkret problem: tungvint publisering, krevende vedlikehold eller et visuelt uttrykk som ikke lenger passer merkevaren. En nyere teknologistakk er ikke i seg selv et forretningsresultat.
Hva ville vi valgt?
| Prosjektets prioritet | Et godt utgangspunkt | Dette bør du sjekke |
|---|---|---|
| En Astro-nettside med eget integrert CMS | EmDash | Drift, varig lagring og nødvendige integrasjoner |
| Felles strukturert innhold på tvers av flere grensesnitt | Sanity | Innholdsmodell, publiseringsflyt og abonnementskrav |
| Et kjent CMS med et bredt utvalg utvidelser | WordPress | Temakvalitet, kompatibilitet mellom utvidelser og vedlikehold |
Dette er utgangspunkter, ikke absolutte grenser. Det riktige valget avhenger av innholdet, menneskene som skal publisere det og tjenestene nettsiden skal kobles til.
Sammenlign også de samlede kostnadene over tid. Åpen kildekode kan fjerne en lisenskostnad, men ikke utgiftene til drift, sikkerhetskopiering, oppgraderinger eller utvikling. En driftet tjeneste flytter noe av ansvaret til leverandøren, men abonnementet og bruksvilkårene må fortsatt passe prosjektet. Ingen av modellene er automatisk billigst for alle bedrifter.
Derfor følger vi med på EmDash hos Kodemagisk
Astro er en av teknologiene vi liker aller best å jobbe med. Det gir oss et godt grunnlag for skreddersydde nettsider, mens et gjennomtenkt CMS-valg gjør sidene enklere for kundene å vedlikeholde etter lansering.
EmDash er interessant fordi det knytter disse to delene sammen på en måte som passer naturlig inn i et Astro-prosjekt. Åpen kildekode, redigerbare maler og innebygde publiseringsverktøy gjør det til et seriøst alternativ å vurdere ved siden av systemene teamet allerede kjenner.
Hos Kodemagisk jobber vi med Astro, Sanity og EmDash for å tilpasse løsningen til bedriften: hva som skal publiseres, hvem som skal oppdatere det og hvordan nettsiden skal bidra til flere henvendelser og vekst.
Vurderer du en ny nettside eller en redesign med Astro? Fortell oss hva teamet ditt trenger å administrere. Vi kan hjelpe deg med å velge CMS, tilpasse designet til merkevaren og bygge en publiseringsflyt som er enkel å bruke.
