Next.js build taking too long on a Sanity site: causes and the fix
Next.js build taking too long on your Sanity site? Learn why static builds crawl, what slow deploys cost your team, and the fix path in order.
Tag
Deep dives into Sanity CMS — schema design, GROQ queries, Studio customisation, webhook-driven revalidation, and content modelling patterns.
111 posts
Next.js build taking too long on your Sanity site? Learn why static builds crawl, what slow deploys cost your team, and the fix path in order.
How to restructure a Sanity schema on a live Next.js site: audit, dual-read GROQ, scripted migrations and cleanup, without broken pages or lost content.
Vercel bill too high on your Next.js site? Here are the usual cost drivers on Sanity-backed builds, how to confirm each, and the fixes in order.
Next.js pages not indexed by Google on a Sanity site? Here are the real causes, what ignoring them costs, the fix order, and what to ask a developer.
Sanity staging and production on one dataset is risky. Here is how to spot it, split it with export and import, and wire Next.js env vars.
Sanity API bill spiking on your Next.js site? Learn the usual causes of runaway requests, what ignoring it costs, and the fix path.
Sanity preview not working in Presentation or draft mode? Work through CORS origins, secrets, the draftMode cookie, stega and caching causes.
A Next.js website audit should end in a ranked fix list, not a PDF of scores. Here is what a paid performance and Sanity audit covers and how to judge it.
Is Sanity CMS right for my business? A plain-English guide to when it fits, when WordPress or Webflow is the better call, and the thresholds that matter.
A Sanity Next.js website case study of a nonprofit build: scope, schema decisions, editor training, launch and what we measured, told without client names.
How to fix Core Web Vitals on a Next.js Sanity site: which metric fails and why, the order to fix it, and how long Search Console takes to go green.
Best headless CMS for agencies compared on client handover, editor training, per-client licensing and margin: Sanity vs Payload vs Storyblok.
How I build a multilingual website Sanity Next.js teams can maintain: document vs field-level i18n, routing, hreflang, sitemaps and editor workflow.
How to upgrade Next.js 15 to 16 on a Sanity-backed site: what changed, typical breakages, the cost of staying behind, and effort by codebase size.
A Sanity CMS project handover checklist for clients: project and Vercel ownership, env vars, README, roles, training and backups to demand at launch.
A WordPress to Next.js migration SEO plan: permalink parity, Yoast metadata transfer, image URLs, edge redirects, and 8 weeks of Search Console tracking.
Hiring a white label Next.js developer for agencies? Learn how capacity, communication, handoff and client pricing work, plus subcontractor red flags.
Improve your Sanity Studio editor experience: fix flat schemas, missing previews, cluttered desks and weak validation so your marketing team uses it.
Next.js website maintenance cost for a Sanity site: monthly ranges for upgrades, Sanity and Vercel plans, monitoring and content support.
How to do a website redesign without losing SEO on Sanity + Next.js: URL inventory, 301 map, metadata parity, schema, sitemap and GSC monitoring.
Sanity website slow on Next.js? Learn to tell GROQ waterfalls, uncached fetches, heavy images and bundle bloat apart, and what a fix engagement looks like.
How to migrate Next.js Pages Router to App Router route by route: when it's worth it, Sanity data fetching, SEO risks and effort ranges.
How to take over an existing Next.js project and Sanity codebase: first-week audit, access and ownership steps, red flags, and repair vs rebuild.
A practical contentful to sanity migration walkthrough: model mapping, rich text to Portable Text, assets, references, locales, import script and cutover.
Still on Sanity Studio v2? What breaks in the v2 to v3 rewrite, why you should land straight on v6, and the real upgrade path by Studio size.
Gatsby's plugin ecosystem has stalled. Here's the real migration path to Next.js App Router, keeping Sanity, URL parity, and your editors sane.
Sanity vs WordPress.org: real annual costs including hosting, plugins, and CDN. Side-by-side pricing table for teams at every scale.
Sanity vs Webflow pricing compared at every scale — free tier limits, per-seat costs, CDN delivery, and when each platform gets expensive.
Sanity vs Prismic side-by-side: schemas, GROQ vs query API, pricing, and which fits a Next.js App Router project in 2026.
Exact Prismic pricing tiers for 2026: free plan limits, per-seat costs, what triggers an upgrade, and how it compares to Sanity and Contentful.
Cloudinary vs Sanity CDN for Next.js image delivery — formats, transforms, pricing thresholds, and which to pick for your project.
Sanity vs Ghost for Next.js projects: schema flexibility, pricing, editor experience, and API delivery compared with no vendor bias.
Side-by-side cost breakdown of Sanity CMS vs WordPress.com — free tiers, paid plans, hosting, and when each gets expensive. Updated September 2026.
Sanity vs Webflow side-by-side: editor experience, developer control, pricing, and which fits a Next.js project in 2026.
Sanity, headless WordPress, and Webflow compared on DX, editor UX, pricing, and Next.js fit. Honest trade-offs with a decision table.
Sanity, Hashnode, and Dev.to compared on data ownership, Next.js integration, content API, and real running costs for developer blogs in 2026.
Cloudflare R2 free tier: 10 GB storage, 1M Class A and 10M Class B operations a month, no egress fees. Paid rates, cost examples, and how it compares with S3.
A concrete TCO breakdown comparing Sanity CMS + Next.js against headless WordPress for real production sites in 2026.
Sanity vs Kontent.ai compared on schema flexibility, GROQ vs REST/GraphQL, pricing, and Next.js fit. Pick the right CMS for your project.
Sanity vs Keystatic side-by-side: hosting model, editor UX, GROQ vs reader collections, and which fits your Next.js project in 2026.
Sanity, Storyblok, and Contentful pricing compared across free tiers, growth plans, and hidden costs. Real numbers for Next.js teams in 2026.
Kontent.ai's free Developer plan allows 2 users, 2 environments and 500 content items; paid plans are quote-based. What's included and when you outgrow it.
Storyblok vs Sanity compared on DX, editor experience, pricing, and Next.js fit. Real trade-offs, no vendor spin.
A practical decision framework for headless CMS setup — covering team size, content velocity, channel count, and budget before you commit.
A CMS website should let editors publish without calling a developer. Here is what good actually looks like — preview, content models, performance, handover.
Hiring a freelance web developer? Here's what to expect on communication, staging, pricing models, handover, and warranty — before you sign anything.
A practical guide to API-first CMS architecture — omnichannel delivery, developer control, editor experience trade-offs, preview complexity, and glue code cost.
Sanity CMS agency or freelancer? The real cost, speed, and accountability differences — with a clear decision framework for startups, founders, and agencies needing Sanity development.
What does a Sanity CMS developer actually cost in 2026? Freelance rates run $80–$160/hour or $8k–$25k per project. Agency retainers start higher. Breakdown of what drives the price and what you get at each tier.
A web CMS should work for editors and developers without compromise. Here is the baseline I hold every platform against before recommending it.
Choosing a Node.js CMS for a custom website? Honest trade-offs across Payload, Strapi, Directus, Keystone, and Sanity with a side-by-side comparison table.
A practical setup checklist for a CMS for marketing teams — roles, content models, preview, publishing workflow, and analytics wiring. Done right the first time.
A plain-English guide to how modern CMS apps work — content models, editing UI, publishing workflows, and integrations — for non-developers choosing the right tool.
Comparing Mux, Cloudinary, and Bunny Stream for sanity video hosting — upload workflow, adaptive streaming, pricing, and LCP poster handling.
A steady-state cost breakdown of Sanity + Next.js vs WordPress: hosting, plugins, security, and editor time. Real annual totals compared.
Sanity hotspot not applying to your rendered image? Here are the four real causes and exact fixes for each one.
Sanity vs Directus compared across data ownership, schema design, querying, editor UX, and self-hosting for Next.js projects in 2026.
Sanity vs Hygraph in 2026: GROQ content lake vs GraphQL-native federation compared on DX, editor UX, pricing, and Next.js fit. Make the right call.
Switching from Contentful? Compare Sanity, Payload, Strapi, Storyblok, and Hygraph as Contentful alternatives for Next.js in 2026 — pricing, schema model, and fit.
A step-by-step guide to exporting WordPress content, mapping schemas, running an import script, converting HTML to Portable Text, and preserving SEO with 301 redirects.
Step-by-step guide to indexing Sanity content with native Embeddings, running a semantic query, and wiring a debounced search UI in Next.js App Router.
How to configure Sanity Agent Actions to trigger AI content workflows from the API — generate drafts, translate, and enrich fields at scale. Includes working code examples and real automation patterns.
Step-by-step setup of Sanity AI Assist (@sanity/assist) in a Next.js + Sanity project: install, config, field instructions, and real editor workflows. Updated for 2026.
Step-by-step guide to Sanity Mux video playback in Next.js: signed URLs, hls.js adaptive streaming, poster images, and LCP optimisation.
Step-by-step: custom Sanity document actions to unpublish, archive, and restore content without deleting, plus Next.js front-end handling for archived docs.
Learn how to write Sanity custom validation rules: required fields, regex, async checks, cross-field logic, and clear editor error messages.
Learn how to configure Sanity Structure Builder's defaultOrdering, documentTypeList grouping, and icons so a 20+ schema Studio still feels deliberate.
A practical guide to Sanity scheduled publishing in Next.js: enabling scheduling in Studio, wiring SANITY_REVALIDATE_SECRET, and triggering ISR so content goes live on time.
Headless CMS pricing compared for 2026: Sanity, Payload, Contentful, Strapi, Storyblok, Prismic, Directus, Hygraph and Keystatic — free tiers, paid plans, and upgrade triggers.
Sanity vs Strapi 2026: GROQ content lake vs self-hosted SQL, editor UX, image pipelines, pricing, and lock-in trade-offs compared honestly.
Step-by-step guide to wiring the Sanity Presentation tool for live preview in Next.js App Router, with overlay clicks, live GROQ queries, and draft mode.
Step-by-step guide to wiring Sanity CMS role-based access control with document-level permissions in a Next.js project. Covers custom roles, GROQ filters, and Studio UI.
Wondering if Next.js and Sanity CMS gives marketing teams real editorial control? Here is what the editor experience looks like in practice.
Next.js vs Astro for content-heavy sites — rendering models, Sanity CMS integration, bundle size, ISR, and when to pick each for a real project.
Step-by-step: webhook-driven Sanity-to-Algolia sync, InstantSearch React UI, and handling stale index edge cases in Next.js. Practical and production-tested.
Step-by-step guide to building a Sanity Studio custom input component using definePlugin, useFormValue, and PatchEvent with a real colour-picker example.
Step-by-step guide to connecting Sanity document internationalisation to next-intl in the App Router, with schema design, GROQ patterns, hreflang, and slug pitfalls.
How to set up true scheduled publishing in Sanity via the Releases API, plus custom document actions: an approval gate before publish and Slack notifications.
Deep dive into advanced GROQ queries in Sanity: inline joins, the coalesce() function, conditional projections, and array flattening with real payload sizes measured.
Sanity pricing for 2026: Free covers 20 seats and 10k documents; Growth is $15 per seat a month, so 3–5 editors pay $45–$75. Enterprise triggers explained.
Payload CMS vs Sanity for Next.js in 2026: hosting, GROQ vs the local API, TypeScript DX, pricing, and lock-in — compared honestly from a Sanity developer's point of view.
Step-by-step: route handlers, cookie strategy, and Vercel Edge Config secret rotation for Sanity draft mode preview in Next.js. No leaks.
Step-by-step guide to Mux video hosting in Next.js and Sanity CMS: sanity-plugin-mux-input setup, direct uploads, signed playback URLs, and poster images for fast LCP.
Learn when to use Sanity's auto=format image URL API vs next/image formats, how cache keys work, and how to keep payloads small in a Next.js project.
A honest breakdown of WordPress to Sanity migration cost, including plugin savings, hosting, editorial gains, and when the switch simply isn't worth it.
Sanity vs WordPress headless CMS compared on editor UX, performance, dev experience, and migration cost. Honest about where WordPress still wins.
Which CMS wins for a Next.js project in 2026? Sanity, Strapi, and Payload compared on pricing, editor UX, schema modelling, and lock-in. Payload vs Strapi gets its own section. No affiliate bias.
A plain-English breakdown of Sanity CMS website cost in 2026, from small marketing sites to complex multi-locale builds. Real ranges, real drivers.
Kill CLS on Sanity images for good. Pull metadata.dimensions into next/image sizes and aspect-ratio boxes — exact GROQ and component code.
Use @sanity/image-url with hotspot, crop, fit, width, and height to crop Sanity images to an exact size in next/image — focal point preserved, with code and the exact GROQ.
Learn how to build Sanity Portable Text custom components in Next.js — code blocks, callouts, embedded forms, and captioned images with full TypeScript types.
Slow pages, locked content, and plugin chaos are warning signs your WordPress site has hit its ceiling. Here's how to know when a headless rebuild makes sense.
Which headless CMS works best with Next.js App Router in 2026? Honest comparison of Sanity, Contentful, Payload, and Storyblok on DX, pricing, and real integration complexity — with a clear recommendation by team type.
A step-by-step guide to Sanity TypeGen: CLI config, generating TypeScript types from GROQ queries, CI integration, and handling schema evolution gotchas.
A step-by-step Sanity CMS + Next.js tutorial for developers setting up schemas, GROQ queries, and Sanity Studio with the App Router for the first time.
Step-by-step guide to connecting Sanity webhooks to Next.js route handlers for on-demand ISR revalidation, with correct HMAC signature verification and error handling.
Sanity CMS or Contentful for your next Next.js build? Honest comparison — pricing, GROQ vs GraphQL, editor DX, lock-in, and which one wins where.
A pattern for consolidating dozens of per-document Next.js revalidations into one tagged endpoint using SANITY_REVALIDATE_SECRET, cutting webhook noise and redundant cache purges.
Sanity's slug field only checks uniqueness within a single document type by default. Here's the custom GROQ validation that blocks duplicate slugs at publish, across multiple document types.
A production pattern for rolling schema changes in Sanity without throwing runtime errors or requiring a full site rebuild — coalesce in GROQ, migrate later.
A step-by-step approach to identifying orphaned Sanity schemas, measuring Studio bundle impact, and safely removing dead document types without breaking production.
Sanity Studio's default structure lists every document type in one flat sidebar. I use structure builder filters, defaultOrdering, and custom panes to cut editor noise.
A pattern for projecting only the fields your Next.js components actually render, using GROQ's select() and type filters to prune unused blocks from a union array.
A pattern for structuring Sanity references and GROQ projections that eliminates query waterfalls in server components by resolving references in a single round-trip.
Cut LQIP overhead on Sanity + Next.js sites to nearly zero using Sanity's built-in metadata.palette instead of inline Base64 blur data. Exact GROQ and component code.
A singleton pattern for i18n navigation that keeps GROQ queries fast, using dynamic field access (field[$param]) instead of string interpolation.
Denormalising references and embedding common fields in Sanity schemas keeps list queries lean and fast in Next.js server components. Here's the pattern I ship.
Next.js TTFB optimization in practice: Partial Prerendering for the shell, cached and streamed dynamic fragments, and tight GROQ projections — with illustrative before/after targets.
Portable Text can bloat client bundles when it renders inside a client component. Here's how to keep it in Server Components, lazy-load only the heavy interactive blocks, and where lazy-loading trades away SEO visibility.
A production pattern for Sanity draft previews in Next.js that keeps published pages on the edge while editors see real-time changes.
A practical breakdown of when Next.js + Sanity is the right stack, what it buys you for SEO and velocity, and the trade-offs to watch.