
Sanity come CMS headless
Un contenuto, tante teste
Un CMS classico è un blocco unico: l’editor, il database e una “testa” integrata che produce le pagine web.
Headless non significa senza testa: significa staccare quella integrata per scegliere le proprie. Sito, app, schermi, voce, feed: tutti leggono gli stessi contenuti via API.
La condizione: contenuti strutturati, senza impaginazione dentro. Così un nuovo canale è una nuova testa, non una nuova redazione.
Il contenuto qui sotto è l’ultima notizia pubblicata: “CodeLand aggiunge Sanity alla sua offerta CMS”.
Modificalo nello Studio e pubblica: tutte le teste si aggiornano in pochi secondi, senza ricaricare. Apri nello Studio
Contenuti, non pagine
In Sanity non si salvano pagine HTML: si salvano documenti strutturati (titolo, estratto, testo ricco come dati, immagine con punto focale, riferimenti). Nessun colore, colonna o template dentro il contenuto.
Per questo ogni frontend decide da solo come mostrarlo, in qualsiasi tecnologia: React, HTML semplice, Python, un’app, uno schermo, una voce. Il riquadro 8 mostra esattamente i dati che ricevono tutti.
Frontend reali e separati
Quattro tecnologie diverse, nessun codice in comune, stessi contenuti in tempo reale:
Next.js (React)
Questo sito, con Visual Editing.
- HTML e JavaScript semplici
Un solo file, nessun framework né SDK: GROQ via HTTP e aggiornamenti live dalla Listen API di Sanity.
Python
Demo/heads/voice_briefing.py: legge le notizie ad alta voce.
Node.js
Demo/heads/terminal.mjs: le notizie nel terminale.
Le teste
1. Sito web
Next.js, questa pagina

2. App mobile
Anteprima: un’app nativa userebbe la stessa query
CodeLand

CodeLand aggiunge Sanity alla sua offerta CMS
Dopo una valutazione sul campo, CodeLand affianca Sanity ad Adobe Experience Manager e Strapi per contenuti strutturati, omnicanale e assistiti dall’AI.
3. Smartwatch
Anteprima: solo il titolo, perché il contenuto è strutturato
Press
CodeLand aggiunge Sanity alla sua offerta CMS
4. Schermo in ufficio o in aeroporto
Anteprima; la versione reale è a tutto schermo e live
CodeLand · News
CodeLand aggiunge Sanity alla sua offerta CMS
5. Assistente vocale
Testo semplice da pt::text(), letto ad alta voce
Sintesi vocale non disponibile in questo browser.
“CodeLand aggiunge Sanity alla sua offerta CMS. Dopo una valutazione sul campo, CodeLand affianca Sanity ad Adobe Experience Manager e Strapi per contenuti strutturati, omnicanale e assistiti dall’AI.”
6. Feed RSS
XML per lettori di feed e podcast
<item> <title>CodeLand aggiunge Sanity alla sua offerta CMS</title> <pubDate>Fri, 25 Sep 2026 07:00:00 GMT</pubDate> </item>/feed.xml?lang=it
7. Qualsiasi linguaggio
HTTP e GROQ, senza SDK: Python, terminale, Ruby…
curl "https://8augwmcx.apicdn.sanity.io/v2025-02-19/data/query/production?query=*%5B_type%20%3D%3D%20%22article%22%20%26%26%20language%20%3D%3D%20%22it%22%5D%20%7C%20order(publishedAt%20desc)%5B0%5D%7Btitle%2C%20excerpt%7D"
Nel repository: Demo/heads/voice_briefing.py (Python, legge i titoli ad alta voce) e Demo/heads/terminal.mjs (Node).
8. I dati grezzi (JSON)
Quello che ogni testa riceve dall’API
{
"_id": "5h6FyZinaruU6QbliPNNWp",
"author": "Marco Bianchi",
"coverImage": {
"_type": "accessibleImage",
"alt": "Where is my page editor? Visual Editing on a headless site",
"asset": {
"_id": "image-868094cb25c0572a1a0667e2832fa71b6a84536f-1600x900-png",
"metadata": {
"dimensions": {
"_type": "sanity.imageDimensions",
"aspectRatio": 1.7777777777777777,
"height": 900,
"width": 1600
},
"lqip": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAACFklEQVQokT2RW2sTQRiG96dkz7uzO7tz3NmZbdMclm42TdKkTdO0Gtq0FUGlFwoFRUSoUguKQbywgoL/VKbRztUM8708H89rODC3ADdDZgHmxGL9tAD3UuWlyo6FHWXrATNkbqJos593xxFvm4AbdpStPyzAnTi3Y2GGzI4zDxVuIu0o0+H/A6ioqtl5a/QoJE0zZIYJuKlRmR0JnQS8EVAnFu491nrABtRNZG/+5Nn71XDx3EeFGVBNBrQJRSdirQBv+KkKcZHwFuStABeehutwI6AwL5dXH959/z05PvETva/hJbLoDnvj4+3RvNufdur9avdwOF3U4+NycCDbfT9VayNFPbv6/OPT6vZorwQJsSOhw5vlaHd2snd0NjlcDqaL8eHpZL4cThejg0Wnvw/IRiMgfqpGp5c3P//cXr/Yr1gIiQOVXhvyVrZVy/ZOvlXzZo83e0SVSdZCeSfmW04sGgFBavvizc3q193by0lbpW6ceWlhWKFuSBeTyPuL9FHxUJgJ/nneHBy9/nq3+nb9dL5JMHJi6aMNwwy59gzztXYnkV6qdGeRsEB2L585UJYH5y8/frl6dbHTZQGkNlRuWhhuxPxEeFA4EXNjHmIVIOnBzIOZGzEHUAdQgIvmYLb7+LyqtzEhPuRBKv0kNwjBjDFCCcaIUJIJwTijlBBCsD4IY5QrWdZ1t6qEEBgjyijnnFD6F2a5lhPigxq5AAAAAElFTkSuQmCC"
},
"url": "https://cdn.sanity.io/images/8augwmcx/production/868094cb25c0572a1a0667e2832fa71b6a84536f-1600x900.png"
}
},
"excerpt": "Dopo una valutazione sul campo, CodeLand affianca Sanity ad Adobe Experience Manager e Strapi per contenuti strutturati, omnicanale e assistiti dall’AI.",
"kind": "pressRelease",
"plainText": "MILANO — CodeLand annuncia oggi che Sanity entra nella sua offerta CMS e gestione dei contenuti, accanto ad Adobe Experience Manager e Strapi. La decisione segu…",
"publishedAt": "2026-09-25T07:00:00Z",
"slug": "codeland-aggiunge-sanity-alla-sua-offerta-cms",
"title": "CodeLand aggiunge Sanity alla sua offerta CMS"
}Sanity rispetto ad altri CMS
| WordPress | AEM | Strapi | Sanity | |
|---|---|---|---|---|
| Testa (rendering) | Integrata (temi PHP) | Pagine (HTL) + headless (Content Fragments, GraphQL) | Nessuna: la scegli tu | Nessuna: la scegli tu |
| Dove vivono i contenuti | Il tuo database | Il tuo repository (o AEM Cloud Service) | Il tuo database (o Strapi Cloud) | Content Lake di Sanity (cloud, UE) |
| Chi gestisce il backend | Tu | Tu o Adobe | Tu | Sanity (zero ops) |
| Editor | wp-admin | Author (Sites) | Pannello admin | Studio open source, personalizzabile, ospitabile ovunque |
| Nuovo canale | Plugin o API REST | Headless in aggiunta | API REST/GraphQL | Una query GROQ: nessuna nuova redazione |
Contentful è headless SaaS come Sanity, ma il suo editor non si ospita da sé.