Skip to content
Now accepting Q2 projects — limited slots available. Get started →
Capability

Sanity CMS-ontwikkeling

Gestructureerde content op schaal — aangepaste Sanity schemas, GROQ-query's en real-time bewerking.

Stack
Sanity v3GROQSanity StudioNext.jsAstroTypeScriptVercel

Sanity is geen CMS dat inhoud in templates opslaat en het beste hoopt. Het is een structured content platform gebouwd op het uitgangspunt dat inhoud en presentatie fundamenteel verschillende problemen zijn. Waar de meeste headless CMS-platformen je een vast schema en een REST-eindpunt geven, biedt Sanity je een realtime content lake, een in JavaScript gedefinieerd schema, en een querytaal die speciaal is ontworpen voor relationele documenten.

Social Animal bouwt op Sanity wanneer klanten een contentsysteem nodig hebben dat verder kan schalen dan één website, meerdere frontends tegelijkertijd kan bedienen, of redactionele workflows mogelijk maakt die realtime samenwerking vereisen. Als je inhoud complex is, meertalig, of uit één bron een mobiele app, webapp en digital signage-systeem moet voeden, is Sanity de juiste basis.

Waarom Sanity beter presteert dan traditionele headless CMS

Het kenmerkende kenmerk van Sanity is dat je schema in code leeft, niet in een database. Je definieert documenttypen, veldvalidatie en referentierelaties in JavaScript-bestanden die in je repository aanwezig zijn. Dit betekent dat schemawijzigingen versiebeheerd, peer-reviewed en deployable zijn net als toepassingscode.

GROQ, Sanity's querytaal, is een projection-first querysyntaxis speciaal ontworpen voor diep geneste documentbomen. Een query als *[_type == "article" && category._ref == $categoryId]{ title, slug.current, author->{ name, image } } geeft je precies de gegevensvorm die je frontend nodig heeft zonder over te fetchen. Er is geen N+1-probleem. Er is geen REST-eindpunt dat drie niveaus joins retourneert die je client-side moet filteren.

Sanity Studio, de redactionele interface, draait als een React-applicatie die je volledig kunt aanpassen. Invoercomponenten, desk layouts, documentacties en badge-decorators zijn allemaal uitbreidbaar met standaard React-code. Je bent niet vastgeklonken aan de UI-keuzes van een leverancier.

Realtime samenwerking ingebouwd

Sanity's realtime bewerkingsengine gebruikt operational transformation om gelijktijdige bewerkingen zonder conflicten samen te voegen. Twee redacteurs kunnen tegelijkertijd aan hetzelfde document werken en elkaars cursors live zien. Voor zakelijke redactionele teams die parallel inhoud produceren, elimineert dit de coördinatie-overhead die plagen op lock-gebaseerde CMS-systemen.

Live Preview werkt op CDN-niveau wanneer gecombineerd met frameworks als Next.js. Concept-inhoud wordt direct weergegeven terwijl redacteurs typen, zonder pagina-herladen en zonder cache-ongeldigheidsvertragingen. Het resultaat is een publicatiewerkstroom waarbij wat je in Studio ziet exact is wat op de live site verschijnt.

Onze Sanity-implementatiebenadering

We beginnen elke Sanity-engagement door je contentmodel in kaart te brengen voordat we een enkel schemabestand schrijven. Contenttypen, referentierelaties, arrayvelanden portable text-extensies worden allemaal gedefinieerd in een schemadocument dat het redactionele team controleert en goedkeurt voordat de ontwikkeling begint.

Studio-implementatie gaat naar Sanity's beheerde hosting op your-project.sanity.studio. Je contentteam krijgt een URL die ze kunnen bladwijzeren. Geen servers om te beheren, geen SSL-certificaten om te vernieuwen.

GROQ-query's worden eenmaal geschreven en getest tegen je werkelijke dataset met Sanity's GROQ Playground voordat ze in de frontend worden geïntegreerd. We documenteren elke query met de exacte vorm die deze retourneert, zodat frontend-ontwikkelaars een nauwkeurig contract hebben.

Webhooks verbinden Sanity met je implementatiepijplijn. Wanneer een document wordt gepubliceerd, vreemdt een webhook af, herbouwt je hostingplatform de betrokken pagina's, en de wijziging is binnen seconden live. Geen handmatige implementaties, geen verouderde pagina's.

Portable Text en rijke inhoud

Sanity's Portable Text-indeling verwerkt rijke tekst als een gestructureerde array van blokobjecten in plaats van ruwe HTML-strings. Dit betekent dat je redactionele team productkaarten, interactieve componenten en aangepaste callouts rechtstreeks in body-inhoud kan insluiten zonder code aan te raken. De frontend geeft elk bloktype weer met zijn eigen React-component, waardoor je volledige controle hebt over hoe gestructureerde inhoud verschijnt zonder HTML-strings te desinfecteren.

We breiden Portable Text uit met aangepaste bloktypen specifiek voor je contentmodel. Een website met juridische documenten kan clausuleverwijzingen toevoegen. Een receptenwebsite voegt ingrediëntenlijsten toe. Een SaaS-documentatiesite voegt API-codevoorbeelden toe met syntaxismarkering. Deze extensies zijn eersteklas contentobjecten, opvrraagbaar en indexeerbaar.

Multi-site en multi-channel-architecturen

Sanity's content lake heeft geen concept van "een website." Een document dat in Sanity wordt gepubliceerd, is beschikbaar voor elke frontend die API-referenties heeft. Een enkel Sanity-project kan een marketingsite, een native iOS-applicatie, een partnerportaal en een e-mailnieuwsbriefysteem van dezelfde canonieke inhoud voeden.

We ontwerpen multi-site Sanity-implementaties met datasetségmentatie voor echte content-isolatie waar nodig, of gedeelde datasets met documentniveau-filtering waar teams gedeelde assets moeten referentiëren. Sanity's toestemmingssysteem ondersteunt op rollen gebaseerde toegang op dataset-, documenttype- en veldniveau.

Prestaties en schaal

Sanity's CDN biedt inhoud aan de rand wereldwijd met antwoordtijden van minder dan 50 ms in koude toestand. Datasets met miljoenen documenten reageren op GROQ-query's in minder dan 100 ms bij het 95e percentiel. Voor websites met veel verkeer kan Sanity's API duizenden gelijktijdige leesverzoeken zonder snelheidsbeperkingen verwerken.

Statische generatie met Next.js of Astro zet GROQ-queryresultaten op buildtijd om in HTML, wat runtime-API-aanroepen voor gepubliceerde inhoud volledig elimineert. Conceptpreview gebruikt de live-API. Gepubliceerde inhoud gebruikt de CDN-gecachte statische uitvoer. Je krijgt de redactionele ervaring van een dynamisch CMS met het prestatieprofiel van een statische site.

FAQ

Common questions

What is GROQ and why does it matter?

GROQ is Sanity''s query language. It is more expressive than REST for content queries — you can fetch deeply nested content, filter by reference, and join across documents in a single query. It significantly reduces the number of API calls in complex content architectures.

Can you set up real-time preview with Sanity?

Yes — Sanity''s live preview connects the Studio to your frontend in real-time. Editors see changes as they type, before publishing. I set this up with both Next.js (Draft Mode) and Astro.

How do you handle images in Sanity?

Sanity''s image pipeline (Sanity CDN + transformation API) handles responsive images, format conversion, and lazy loading. I configure next/image or custom picture elements to use Sanity CDN URLs with the correct parameters.

Can multiple content editors use Sanity at once?

Yes — Sanity Studio has real-time collaboration built in. Multiple editors can work on different documents simultaneously. Presence indicators show who is editing what.

Is Sanity expensive?

The free tier covers most small to medium projects (3 users, 10GB bandwidth). Growth plan starts at $15/month. For most client sites, the free or growth tier is sufficient.

Ready to get started?

Free consultation. No commitment. Just an honest conversation about your project.

Book a free call →
Get in touch

Let's build
something together.

Whether it's a migration, a new build, or an SEO challenge — the Social Animal team would love to hear from you.

Get in touch →