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

What Is Editable In Sanity

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

Run npm run dev:all, open the Studio at http://localhost:3333, and log in with your Sanity account. Content has one entry per language, then Site settings. Sanity has the full guide, including npm run setup for your first project. Everything below exists in English, French, and Arabic, and each language has its own documents.

Where Each Page Is Edited

All locations are under Content, then your language. A row under Sections on this page changes a section on that page only, and a field you leave empty keeps the section’s own content. Everything else on the page comes from the section’s document under Sections.

AddressStudio locationRows under Sections on this page
/Homepages > Home 1Services Section and CTA Section. See below
/home-two/Homepages > Home 2Team Section
/home-three/Homepages > Home 3None. It has Has Footer Dark Background
/about/Main pages > About pageTeam Section, Solutions Section
/services/Main pages > Services pageServices Section
/services/{slug}/Services, one document per entryNone
/projects/, /projects/grid/, /projects/page/...Main pages > Projects page, and ProjectsNone
/projects/{slug}/Projects, one document per entryNone
/team/Main pages > Team pageTeam Section. A title here doesn’t show
/team/{slug}/Team members, one document per entryNone
/pricing/Main pages > Pricing page, Pricing section, and FAQ sectionNone
/faq/Main pages > FAQ pageFAQ Section
/testimonials/Main pages > Testimonials pageTestimonial Section
/contact/Main pages > Contact pageContact Section. The form itself comes from Contact section
/blog/, /blog/creative/, /blog/page/...Main pages > Blog page, and Blog postsNone
/blog/{slug}/Blog posts, one document per postNone
/blog/category/..., /blog/tag/...Made from the categories and tags on Blog postsNone
/privacy-policy/, /terms-conditions/, /components/Other pagesNone
404Interface labels, under Not FoundNone

On Home 1, the Services Section row doesn’t change the page: edit Services section instead. The CTA Section row changes Home 1’s closing call to action.

Pages also have SEO and page options, folded under their other fields: a meta title and description, a preview image (a post or project uses its main image), keywords, robots, whether the page goes in the sitemap and the AI files, draft (except the three homepages), and on entries a custom address.

New Entries

Use the + button to add a service, project, team member, post, author, or other page. The Studio also asks for a File name. Authors holds the author shown on blog posts.

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

Each section is under Sections, in each language. A change there shows everywhere the section is used. Pricing plans are in Pricing section, and the contact form’s fields are in Contact section.

SectionWhere it appears
Banner/
Banner two/home-two/
Banner three/home-three/
Customers/, inside the banner
Features/
About section/, /about/
Skill section/
Startup skill section/home-two/, /home-three/
Services section/, /home-two/, /home-three/, /services/
Working process/home-three/, /services/
Projects section/, /home-two/, /home-three/
Pricing section/home-two/, /pricing/
Team section/, /home-two/, /home-three/, /about/, /team/
Testimonial/, /home-three/, /testimonials/
FAQ section/home-two/, /pricing/, /faq/
Blog section/, /home-two/, /home-three/
Stats section/about/
Contact section two/about/, /home-three/
Contact section/contact/
CTA sectionEvery page, above the footer
CTA widget sectionService and project detail pages

About one, About two, Awards, Clients, Personal portfolio banner, Portfolio section, Skills, and Video section are also in the list, but no page shows them. They are there for you to build on with a developer.

Services, projects, team, blog, and testimonial sections have more than one layout: set Options > Layout on the section or on a page’s row. The layouts and item limits the homepages set stay in code, and they win over Options.

Site-Wide Content

LocationWhat’s in it
MenusHeader menu, with dropdowns and mega menus, and Footer menu, with a Column heading and Column links for each column. Each language has its own. See Menus
Interface labelsButtons, labels, form messages, and footer copy (Footer > Copyright and the description). Each language has its own. French and Arabic also have their own tagline, description, and office hours
Site settingsOne for the whole site, below the languages: site title, Base URL, logo, SEO, AI files, form endpoint, navigation button, contact details, smooth scroll, the theme credit, social links, and analytics tags

In Menus, Show hides an item without deleting it. Items appear in the order of the list.

Site settings apply when the site builds. While npm run dev:all runs, they apply when you publish them. They don’t change as you type, and click-to-edit doesn’t reach them, so change them in their form. Subscription has settings there, but no page shows that form as it ships. See Subscription.

Plans And Attributes

At the time of writing, Sanity’s free plan allows 2,000 attributes, one for each distinct field path in your content. A test project holding all the sample content and images measured 895, by Sanity’s own count, so it fits. Your own fields and content add to that. Sanity’s pricing page has the current limits.

Online Preview

Click-to-edit and draft preview are set up for 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 drafts can’t be shown from static files. A static host can’t do this. See Sanity for the steps. Without a preview server, editors online can still edit in the Studio’s forms and publish.

What We Tested

On this theme with no Sanity project, in Chromium: building and serving the static site from the bundled sample content, in all three languages.

On this theme with a real Sanity project, in Chromium, on localhost:

  • npm run import-seed with all the sample content and images, and npm run setup run again on that project. The project and its token were made with the same Sanity commands by hand, not by npm run setup.
  • The Studio and Live preview, with npm run dev:all. Clicking a heading on the page opens its field. Text was changed in English, French, and Arabic, showed as a draft in the preview only, and was published with Publish.
  • Typing and publishing in the Site settings, Menus, and Interface labels forms.
  • A static build from the project, with its images served by Sanity’s CDN.
  • The preview server (npm run build:preview, npm run start:preview) on localhost: all 300 pages, published and in draft.
  • Adding a language with npm run generate-multilingual-content on the project. Removing languages was tried on the sample content only.

Not tested on this theme:

  • npm run setup creating a brand-new project.
  • A deployed Studio, any online host, an online preview server, and webhooks.
  • In the Studio: creating a new document, uploading an image, and clicking an image on the page.

Try these on your own project before you rely on them.

What Stays In Code

These change how the site is built, not what it says:

  • The page routes and the order of sections on a page: src/pages/[...lang]/.
  • Which header a page uses, and whether its footer is dark: the route files, such as index.astro, home-two.astro, and home-three.astro. Home 3’s footer has a switch in its form.
  • The layouts and item limits the homepages set for services and projects: the same route files.
  • Section and component design, colors, type scale, and fonts.
  • The list of languages: src/config/language.json.
  • Favicons, and the language settings and collection folder names in config.toml.
  • Which sections and fields exist. To add one, see SKILLS.md.

Do It With AI

I use the Sanity edition. Tell me where to edit [TEXT OR SETTING] in the Studio: the language entry,
the document, and the field. If it comes from a section document, say which pages will change.
Don't change any files, and don't print anything from .env.
Type something to search...