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. Each section is one document per language, under Sections, and every page that shows it uses the same content. A few pages also have Sections on this page rows, which change one section on that page only. A field you leave empty keeps the section’s own content.
| Address | Studio location | Sections on this page |
|---|---|---|
/ | Homepages > Home 1 (its title and meta description) | None |
/home-two/ | Homepages > Home 2 (its title and meta description) | None |
/about/ | Main pages > About page | None |
/contact/ | Main pages > Contact page | None |
/faq/ | Main pages > FAQ page | FAQ Section, the search header |
/pricing/ | Main pages > Pricing page | None |
/team/ | Main pages > Team page, including the team members | Team Section |
/services/ | Main pages > Services page | Services Section, but this page’s list doesn’t read it, so leave it empty |
/services/{slug}/ | Services, one document per entry | None |
/case-studies/ | Main pages > Case studies page | None |
/case-studies/{slug}/ | Case studies, one document per entry | None |
/blog/ | Main pages > Blog page | Search Section |
/blog/{slug}/ | Blog posts, one document per post | None |
/blog/category/..., /blog/tag/..., /blog/page/... | Built from Blog posts | None |
/privacy-policy/, /terms-conditions/, /components/ | Other pages | None |
| 404 | Interface labels, under Not Found | None |
Main pages > Testimonials holds the reviews. Authors holds the people named on blog posts.
Taxo’s Studio has no Page options group. Options the sample content doesn’t use have no field: see What Stays In Code below.
New Entries
Use the + button to add a service, a case study, a post, an author, or another page. Give it a File name, which the Studio requires.
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. The pricing plans and the FAQ questions are here too. A change here shows on every page in its row.
| Section | Where it appears | Can you hide it? |
|---|---|---|
| Hero section | / | Yes |
| Hero section two | /home-two/ | Yes |
| About hero section | /about/ | Yes |
| About section | / | Yes |
| About section two | /about/, /home-two/, /team/ | Yes |
| About metrics section | /about/, /home-two/, /team/ | Yes |
| Features grid | /, /about/ | No. Remove it from the page file |
| Features grid two | /home-two/ | No. Remove it from the page file |
| Features grid three | /services/, /services/{slug}/ | No. Remove it from the page file |
| Services section | / | Yes |
| Services section two | /home-two/ | Yes |
| Stats section | /, /about/ | Yes |
| Stats marquee section | /case-studies/, /faq/, /home-two/, /pricing/, /services/, /services/{slug}/, /team/ | Yes |
| Process section | /home-two/ | Yes |
| Process section two | /pricing/, /services/ | Yes |
| Pricing section | /pricing/, /services/ | Yes |
| Testimonial section | / | Yes |
| Testimonial section two | /about/, /home-two/ | Yes |
| Case studies section | /, /home-two/ | Yes |
| FAQ section | /, /faq/ | Yes |
| FAQ section 2 | /faq/, /services/{slug}/ | Yes |
| Team section | /, /about/, /team/ | Yes |
| Blog section | / | Yes |
| Blog section two | /home-two/ | Yes |
| Brand logos | /about/, /home-two/, /services/ | Yes |
| Contact section | /home-two/ | Yes |
| Contact section two | /contact/ | Yes |
| CTA section | Most pages, above the footer. Not /home-two/ | Yes |
| CTA gallery section | /home-two/, and most inner pages | Yes |
| CTA bar section | /home-two/ | Yes |
| CTA video section | /, /about/ | Yes |
| CTA video section 2 | /home-two/, /services/ | Yes |
| Social bar section | /home-two/ | Yes |
To hide a section on every page that uses it, turn off Enable in its document. Comment section is also listed. No page shows it, so it has no effect.
Some sections have more than one layout. Set Options > Layout on Blog section, Blog section two, or Blog page, and Card Layout on the services, features grid, and testimonial sections.
The contact form fields are in Contact section and Contact section two, under Form > Inputs.
Site-Wide Content
| Location | What’s in it |
|---|---|
| Menus | Header menu, with Has a dropdown, Dropdown items, Is a mega menu, Mega menu columns, Mega menu card, and Mega menu bottom bar, and Footer 1 links and Footer 2 links. Each language has its own. See Menus |
| Interface labels | Buttons, labels, form messages, and footer copy. Common holds the tagline, the site description, and the keywords. Each language has its own |
| Site settings | One for the whole site, below the languages: site title, Base URL, logo, SEO, AI files, forms, header options, newsletter, contact details, social links, smooth scroll, the theme credit, and analytics tags |
Taxo shows menu items in the order of their rows, and Order doesn’t move them. In Menus, Show hides a header item. The footer shows every link in its list, so delete a footer link to remove it.
Footer Description, and Title and Note under Subscription, in Site settings don’t change what the footers show. Use Footer and Subscription in Interface labels. Copyright in Site settings applies to Footer 2 only.
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.
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 of Taxo’s sample content and images measured 939, 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
With no Sanity project, in Chromium: building and serving the static site from the bundled sample content, in all three languages.
With a real Sanity project, in Chromium, on localhost:
npm run setupon a project that already existed, andnpm run import-seedwith all the sample content and images.- The Studio and Live preview, with
npm run dev:all. Clicking a text or an image on the page opens its field. A text was changed in English and in Arabic, showed as a draft in the preview only, and went live on Publish. A visitor onnpm run dev:allsaw it about 2 minutes after Publish, and a build right after Publish had it. - A Site setting changed through Sanity’s API, not typed in the Studio form, reaching the page while
npm run dev:allruns. - A static build from the project, with its images served by Sanity’s CDN.
- The preview server on
localhost: Live preview loads, and the text of all 141 pages matches the published site in draft mode.
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. An edit was saved and published on npm run dev:all, not on the preview server.
What Stays In Code
These change how the site is built, not what it says:
- The page routes, the order of sections on a page, and which header and footer a page uses:
src/pages/[...lang]/. - Section and component design, colors, type scale, and fonts.
- Scroll animations, which are set inside each section component.
- The list of languages:
src/config/language.json. - Favicons, and the language settings and collection folder names in
config.toml. - Page options the sample content doesn’t use, so the Studio has no field for them: custom meta title, robots, canonical link, keywords, and leaving a page out of the sitemap or the AI files.
SKILLS.mdshows how to add a field. - The notice on the preview server, which is in English and only editors see.
- 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.