Skip to content
New: Customize your theme with an AI assistant. Read the guide

What Is Editable In Sanity

Files: sanity/, sanity.config.ts, .env · Skill level: Beginner

Run npm run setup once, then npm run dev:all, and open the Studio at http://localhost:3333. Sanity explains the setup. In the Studio, open Content, then a language. Every entry below exists in English, French, and Arabic, apart from Site settings, which is one for the whole site.

Where Each Page Is Edited

Each row of Sections on this page changes one section for that page only. A field you leave empty keeps the section’s own content. A page’s title and search fields are at the top of its document.

AddressStudio locationSections on this page
/Homepages > Home 1None: edit its sections under Sections
/home-2/Homepages > Home 2Hero, Logos, Why, Integrations, Pricing, FAQ
/home-3/Homepages > Home 3Hero, Feature rows, Testimonials, Integrations
/features/Main pages > Features pagePage header, Features
/pricing/Main pages > Pricing pagePage header, Pricing, Logos, FAQ
/about/Main pages > About pagePage header, Mission, Logos, Stats, Company values, Overview, Team, Testimonials
/testimonials/Main pages > Reviews pagePage header, Testimonials
/contact/Main pages > Contact pagePage header, Contact cards, Contact message
/request-demo/Main pages > Request a demo pagePage header, Demo form, Demo reasons
/faq/Main pages > FAQ pagePage header, FAQ
/help/Main pages > Help centerPage header, Search, Help categories, Popular articles, Contact
/status/Main pages > Status pagePage header, Status, Call to action
/integrations/Main pages > Integrations pagePage header, Integrations catalog
/integrations/ + entryIntegrationsNone
/solutions/Main pages > Solutions pagePage header, Solutions list, Comparison, Testimonials
/solutions/ + entrySolutionsPage header, Comparison, Feature rows, Steps, Testimonials, FAQ, Call to action
/templates/Main pages > Templates pagePage header, Templates catalog, Call to action
/templates/ + entryTemplatesNone
/careers/Main pages > Careers pagePage header, Company values, Careers list, Benefits, Call to action
/careers/ + entryJobsSalary range only
/blog/Main pages > Blog pagePage header
/blog/ + postBlog postsNone
/changelog/Main pages > Changelog pagePage header
/changelog/ + releaseReleasesNone
/privacy-policy/, /terms-conditions/, /cookie-policy/Legal or text pagesPage header, Content page
/login/, /signup/, /forgot-password/Main pages > Log in, Sign up, Forgot passwordForm, Footer link, Aside
/elements/Main pages > Layout gallery labelsPage header, Labels
404Sections > Not found sectionNone

Category, tag, and page lists are built from your posts and releases. Use the + button on Authors, Blog posts, Releases, Integrations, Jobs, Legal or text pages, Solutions, or Templates to add an entry.

A new entry with only a title won’t break the site, and it builds. Its card or page shows what you filled in, and images and other fields stay empty until you add them, so fill them in before you publish. We tested this in the bundled demo content, not on a real project.

Sections

Under your language, Sections has one document per section. Its fields are the default on every page that shows the section. Layout on the section, or on a page’s row, picks its look.

SectionWhere it appears
Hero, Integrations/, /home-2/, /home-3/
Logos/, /home-2/, /about/, /pricing/, and inside the sign-up hero on /home-3/
Why/, /home-2/
Features/, /features/
Overview/, /about/
Testimonials/, /home-3/, /about/, /testimonials/, /solutions/, solution pages
Pricing/, /home-2/, /pricing/
FAQThe three homepages, /features/, /pricing/, /faq/, solution pages
Stats panel, Solution tabs, Latest posts/home-2/
Proof/home-2/, /pricing/
Feature rows/home-2/, /home-3/, solution pages
Intro, Bento, Control panel/home-3/
Steps/home-3/, solution pages
Comparison/home-3/, /solutions/, solution pages
Feature collage, Feature summary, Numbers/features/
Benefits/features/, /careers/
Plan compare/pricing/
Mission, Stats, Team/about/
Company values/about/, /careers/
Contact cards, Contact message/contact/
Demo form, Demo reasons/request-demo/
Integrations catalog, Integration detail/integrations/, each integration page
Templates catalog, Template detail/templates/, each template page
Solutions list/solutions/
Careers list, Career detail/careers/, each job page
Blog posts, Related articles/blog/, under each post
Release notes/changelog/
Help categories, Popular articles/help/
Status/status/
Call to actionEvery page except the log-in, sign-up, and password screens
Not foundThe 404 page

Site-Wide Content

  • Menus (under your language): Header menu and Footer menu. Turn on Has a dropdown and add Dropdown items, or turn on Is a mega menu and add Mega menu columns, Mega menu card, and Mega menu bottom bar. Show hides an item without deleting it.
  • Interface labels (under your language): buttons, labels, form messages, and footer copy.
  • Main pages (under your language): the announcement bar, the cookie banner, and the dashboard’s sample data.
  • Site settings (below the languages): Site (title, Base URL, logo), SEO, Settings (forms, search, smooth scroll, cookie banner, announcement bar, page action links, copyright, theme credit, contact info, newsletter, the header button and text link), Opengraph, Head (analytics tags), and Social.

Site settings apply when the site builds. While npm run dev:all runs, they apply when you publish them, and the page reloads. They don’t change as you type, and click-to-edit doesn’t reach them.

Plans And Attributes

At the time of writing, Sanity’s free plan allows 2,000 attributes per dataset. This theme’s demo content, with its images, measured 1,803 of them on a real project, after opening Live preview, which leaves 197. That is close to the limit, so watch it. New text in fields the demo content already fills uses no more. Filling a field it leaves empty, or adding a new field, can use more. Sanity’s pricing page has the current limits.

Online Preview

Click-to-edit and draft preview run on your own computer, with npm run dev:all. To use them online, your editors need a second copy of the site running as a small Node.js server, because a static host can’t show drafts. See Sanity. Without a preview server, an online Studio still edits and publishes everything: only Live preview needs one.

What We Tested

With a real Sanity project, on localhost:

  • npm run setup creating the project, and importing the sample content: all 379 documents matched it field by field, and the schema check passes.
  • A static build from the project: all 438 pages and text files match the build from the sample content, apart from image addresses and random IDs. Every image address answered from Sanity’s CDN. A blog post whose image is an SVG uses that image from the CDN as its social image. With sample content, it uses a generated card or the shared image.
  • npm run dev:all starting the site and the Studio, with an editor token standing in for the Studio login. On the About page, in English and in Arabic, clicking the heading in Live preview opened its field, right to left in Arabic. The change showed in the preview as a draft and not to a visitor, and reached a visitor after Publish. We then put the text back.
  • Clicking the first word of a heading or statement opened its field on 13 pages in the three languages. With draft preview on, all 263 pages kept the invisible edit markers out of links, including share links, and out of <head>.

Not tested: Sanity’s own login screen, publishing an edit in French, clicking every kind of text and image, editing menus, labels, or Site settings in the Studio, a site rebuilt after an edit, npm run build:preview and npm run start:preview with a project, any online host, a deployed Studio, a webhook, and Netlify or Vercel functions, which this edition doesn’t support.

What Stays In Code

  • The page routes and the order of sections on a page: src/pages/[...lang]/
  • Section and component design, colors, type scale, and fonts
  • The list of languages: src/config/language.json
  • Favicons, and the language settings, layout switcher, and blog folder name in config.toml
  • The lists of AI crawlers: src/lib/utils/aiCrawlers.ts. The on and off switches are in Site settings
  • Which sections and fields exist: to add one, see SKILLS.md

Do It With AI

I use the Sanity edition of Taskly. I want to change [WHAT] on [PAGE]. Tell me where to find it in
the Studio: the language, the group, the document, and the field. Say whether it belongs under
Sections on this page or in the section's own document, and whether I need to rebuild the site after
I publish. If it can't be done in the Studio, say which file to change. Don't change any files or
print anything from .env.
Type something to search...