The Sanity + Next.js Guide
Everything I've written on building with Sanity CMS and the Next.js App Router — grouped by topic, from getting started to Studio customisation. 52 articles, all from real production builds.
01
Getting started
Set up the stack, typed queries, and a working Studio.
How I build a Next.js blog that stays fast at 100+ postsJul 2026 · 7 min readContentful Alternatives for Next.js in 2026 (5 Compared)Jul 2026 · 8 min readSanity Embeddings: Semantic Search in a Next.js App Router SiteJul 2026 · 6 min readSanity Agent Actions: Automating Content WorkflowsJul 2026 · 7 min readSanity AI Assist Setup for Editors in Next.jsJul 2026 · 6 min readSanity + Mux Signed HLS Video Playback in Next.jsJul 2026 · 6 min readHow to Archive Documents in Sanity — Unpublish Without DeletingJun 2026 · 6 min readSanity Scheduled Publishing with Next.js ISR RevalidationJun 2026 · 6 min readBest Free Headless CMS for Next.js in 2026: 5 Tiers ComparedJun 2026 · 8 min readSanity Live Preview in Next.js App Router (Presentation)Jun 2026 · 5 min readSanity CMS + Next.js App Router: A Practical Getting Started GuideMay 2026 · 7 min readNext.js TTFB Optimization: Sub-200ms with PPR, Edge & SanityApr 2026 · 7 min read
02
GROQ & data modelling
Query and shape content without waterfalls.
Sanity image-url hotspot not working: four causes and fixesJul 2026 · 5 min readSanity vs Directus for Next.js in 2026: An Honest ComparisonJul 2026 · 7 min readSanity vs Hygraph 2026: An Honest Side-by-Side for Next.js TeamsJul 2026 · 7 min readHow I Migrate WordPress to Sanity + Next.js: A Technical WalkthroughJul 2026 · 6 min readHow to Vet a Senior Sanity CMS Developer: A Buyer's GuideJul 2026 · 6 min readSanity Custom Validation Rules: A Practical GuideJun 2026 · 6 min readSanity Structure Builder: Custom Ordering & GroupingJun 2026 · 5 min readSanity vs Strapi in 2026: an honest side-by-side comparisonJun 2026 · 6 min readAdvanced GROQ Queries: Joins, Coalesce & Array FlatteningJun 2026 · 6 min readSanity Portable Text Custom Components in Next.jsMay 2026 · 6 min readSanity TypeGen: Fully Typed GROQ Queries in TypeScriptMay 2026 · 7 min readSanity CMS vs Contentful for Next.js Projects: An Honest ComparisonMay 2026 · 6 min readSanity Slug Validation: Block Duplicate Slugs Before PublishMay 2026 · 6 min readGROQ Conditional Projections: Cut Query Payload by 60%May 2026 · 5 min readAvoiding N+1 Queries: Modeling Sanity References in RSCMay 2026 · 5 min readMulti-Locale Navigation in Sanity Without Bloating QueriesApr 2026 · 6 min readStructuring Sanity Schemas to Avoid Query WaterfallsApr 2026 · 6 min readShaving 140 kB Off a Next.js Bundle: Lazy-Load Portable TextApr 2026 · 6 min read
03
Draft mode & preview
Live preview and secure draft flows at the edge.
04
Images & media
Sanity's image pipeline, CLS, and video.
Sanity video hosting in 2026: Mux vs Cloudinary vs Bunny StreamJul 2026 · 7 min readNext.js Bundle Size: Analyzing and Cutting Chunk BloatMay 2026 · 5 min readMux Video in Next.js + Sanity CMS: Upload & Playback GuideMay 2026 · 6 min readServe WebP & AVIF from Sanity Without Double-EncodingMay 2026 · 6 min readKill CLS on Sanity Images: sizes, width & height from MetadataMay 2026 · 6 min readSanity Hotspot + next/image: Pixel-Perfect Focal Point CropsMay 2026 · 5 min readSanity Image Placeholders Under 50 kB: Palette, Not Base64 LQIPApr 2026 · 5 min read
05
Revalidation & webhooks
Keep published content fresh with ISR.
06
Internationalization
Multi-locale content and navigation.
07
Sanity Studio & workflow
Shape the Studio around how editors actually work.
CMS apps explained: what marketing and product teams actually getJul 2026 · 7 min readSanity CMS Development Services: What You Actually GetJul 2026 · 6 min readSanity Roles & Document-Level Permissions (RBAC) SetupJun 2026 · 6 min readSanity Studio Custom Input Component: A Colour PickerJun 2026 · 6 min readSanity Scheduled Publishing & Custom Document Actions (2026 Guide)Jun 2026 · 7 min readSanity Content Versioning Without Breaking Client PagesMay 2026 · 6 min readSanity Studio Bloat: Audit & Prune Unused Document TypesMay 2026 · 9 min readSanity Structure Builder: Hide Drafts, Speed Up EditorsMay 2026 · 6 min read
Want this built, not just documented?
I take on Sanity CMS + Next.js builds and migrations for startups and agencies — fixed price, staging URL from day one.