Skip to content

Astro + Sanity for Cultural Projects

How I structure Astro and Sanity builds for ateliers, archives, and artist sites — content models, previews, and deploy setups that respect editors.

  • astro
  • sanity
  • cms
  • portfolio
  • web development

Cultural clients — art ateliers, archives, local directories, artist portfolios — need sites that look considered and stay editable after launch. The stack I keep coming back to is Astro on the frontend and Sanity as the CMS. Here’s the shape of that setup when it works well.

Why this pairing

Astro ships mostly static HTML, which is ideal for brochure and archive sites: fast, cheap to host, easy to cache. Islands cover the few interactive bits (filters, lightboxes, forms) without turning the whole page into a SPA.

Sanity gives editors structured content with a studio they can actually learn. For galleries, exhibition records, and bilingual copy, structured documents beat a pile of WordPress pages.

Together: marketers and curators own content; you own performance and design constraints.

Content model first

Before components, sketch the documents:

  • Pages — home, about, contact, landing sections
  • Projects / works — title, year, medium, images, body, tags
  • People — artists, team, bios
  • Events / exhibitions — dates, venue, related works
  • Settings — navigation, SEO defaults, social links

Keep relationships explicit (references, not pasted URLs). Cultural sites grow sideways — more shows, more artists — and references scale better than copy-paste.

Editor experience is the product

A pretty frontend with a painful studio will be abandoned in six months. Invest in:

  • Intuitive field order and groups (content vs SEO vs metadata)
  • Image hotspots and alt text as required fields where it matters
  • Previews that open the real Astro route for that document
  • Sensible defaults so empty states don’t look broken

If the client is bilingual, design the studio for that from day one — don’t bolt on a second language later.

Frontend habits that pay off

  • Fetch only what the page needs; archive indexes don’t need full portable text
  • Generate static paths from Sanity at build time for known routes
  • Use on-demand or webhook rebuilds when content updates (Netlify / Cloudflare)
  • Keep design tokens in the Astro project; don’t let the CMS become a second stylesheet

A realistic scope

This stack shines for content-led sites with occasional interactivity. It’s the wrong default for heavy authenticated apps or real-time dashboards — use the right tool there.

For ateliers, archives, and portfolios, Astro + Sanity hits a sweet spot: the site feels authored, the editors stay independent, and you’re not babysitting plugin updates every quarter.

Back to blog