# What Is Editable In Sanity

## 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](../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. The last column lists the rows the document offers under **Sections on this page**. Each row changes one section for that page only, and its **Enable** switch hides the section there. A section with no row there can only be changed in its own document, under **Sections**, and that changes every page that shows it. The one-page sites under `/landing/` use the same documents as their homepages.

| Address | Studio location | Sections on this page |
| ------- | --------------- | --------------------- |
| `/` | **Homepages > Home 1 (Business consulting)** | Corporate About, Footer Award Section |
| `/corporate-consulting/` | **Homepages > Home 2 (Corporate consulting)** | Banner Section, Footer Award Section, Latest Articles Section |
| `/tax-accounting/` | **Homepages > Home 3 (Tax & accounting)** | Service Header, Hero, Stats, Problems, Partners, Statement, Deliver, Industries, Quote, Compliance, Process, Tax Calculator, Testimonials, Articles, and Contact Strip |
| `/about/` | **Main pages > About page** | Team Section, Award Section |
| `/about/style-02/` | **Main pages > FAQ page**, and **Sections > Faq image split** | None |
| `/company/` | **Sections > Company page** | None. The whole page is this document |
| `/awards/` | **Main pages > Awards page** | None |
| `/contact/` | **Main pages > Contact page** | Contact Info, Form |
| `/faq/` | **Main pages > FAQ page** | None. The questions are **FAQ Groups** |
| `/pricing/` | **Main pages > Pricing page** | Pricing Section |
| `/solutions/` | **Main pages > Solutions page** | Capabilities Section, and the rows marked **Default for every detail page** |
| `/solutions/{slug}/` | **Solutions**, one document per entry | Overview Section |
| `/solutions/style-01/`, `/solutions/style-02/` | **Main pages > Solutions page, style 1** and **style 2** | Intro Section. Style 2 adds Process Section |
| `/industries/` | **Main pages > Industries page** | Intro Section, Why Choose Section, and the rows marked **Default for every detail page** |
| `/industries/{slug}/` | **Industries**, one document per entry | Overview Section, Methodology Section, Trends Section |
| `/industries/style-01/`, `/industries/style-02/` | **Main pages > Industries page, style 1** and **style 2** | Style 1: Trust Section, Consultation Banner. Style 2: Intro Section, Industries Section, Roi Banner |
| `/portfolio/` | **Main pages > Portfolio page** | None |
| `/portfolio/{slug}/` | **Projects**, one document per entry | Challenge, Solution, Process, Key Features, Detail Images, Results |
| `/case-study/` | **Main pages > Case studies page** | Filter, Pagination, Details |
| `/case-study/{slug}/` | **Case studies**, one document per entry | None |
| `/people/` | **Main pages > People page** | None |
| `/people/{slug}/` | **People**, one document per entry | Certifications, Education |
| `/careers/` | **Main pages > Careers page** | Intro, Achievements, Recruitment, Openings |
| `/careers/{slug}/` | **Jobs**, one document per entry | Application |
| `/blog/`, `/blog/standard/`, `/blog/style-01/`, `/blog/style-02/` | **Main pages > Blog page** | None |
| `/blog/{slug}/` | **Blog posts**, one document per post | None |
| `/webinar-event/`, `/privacy-policy/`, `/terms-conditions/`, `/components/` | **Other pages** | Webinar Overview, Legal Page |
| `/search/` | **Sections > Search section** | None |
| 404 | **Interface labels**, search `notFound` | None |

Consultiz has no **Page options** group in the Studio. A document shows its **Meta Title** and **Meta Description** fields directly, where it has them, and a **Draft** switch on many of them. **Other pages** also have **Exclude From AI**. **Authors** holds the post authors, and **Main pages > Testimonials** holds the quotes in the sliders.

### New Entries
In a list, click the plus button, or duplicate an entry. **File name** becomes the address. 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.

A main page is different: clear a whole page down to its title and the build can stop, because some pages need their sections. Hide a section with its **Enable** switch instead.

### Sections
Each section is one document per language, under **Sections**. Open it, then click the row under **Section content** to open its fields. To hide it on every page, turn off **Enable** in that row, where it has one.

| Section | Where it appears |
| ------- | ---------------- |
| **Banner slider**, **About centered**, **Growth stats section**, **Testimonial video showcase** | `/` |
| **Banner tabbed slider**, **Estimate tax**, **Feedback section** | `/corporate-consulting/` |
| **About image stats**, **About process**, **Services parallax**, **Team section**, **Testimonial slider vertical**, **Video section** | `/about/` |
| **Award section** | `/about/`, `/awards/` |
| **Our journey section** | `/awards/` |
| **Services centered** | `/`, `/solutions/style-01/` |
| **Why choose section** | `/`, `/solutions/style-01/`, each solution page |
| **Industries stepper** | `/`, `/industries/style-01/` |
| **Industries cover** | `/corporate-consulting/`, `/industries/style-02/` |
| **Business challenges section** | `/corporate-consulting/`, `/solutions/style-01/`, each industry page |
| **Business value** | `/corporate-consulting/`, `/company/` |
| **Growth banner full width** | `/`, `/industries/style-02/` |
| **Growth banner card**, **Growth challenge** | `/corporate-consulting/`, `/solutions/style-02/` |
| **Blog grid centered** | `/`, `/corporate-consulting/`, `/industries/` |
| **Contact image form** | `/`, `/solutions/` |
| **Faq centered** | `/`, `/pricing/`, `/company/`, `/faq/`, `/webinar-event/`, and the solution and industry pages |
| **Faq image split** | `/about/style-02/` |
| **Pricing section** | `/pricing/` |
| **Newsletter** | `/corporate-consulting/`, `/contact/`, `/pricing/`, `/faq/`, people, careers, legal pages, and the solution and industry pages |
| **Customers**, **Partner marquee** | Client logos on most pages. Partner marquee is the corporate look |
| **Cta image banner**, **Features section** | Text pages under **Other pages**. The banner is also on `/about/` |
| **Footer awards** | Pages that opt in |
| **Call to action widget** | Each portfolio project page |
| **Home header**, **Footer newsletter grid**, **Cookie consent** | The header text, the footer of `/`, and the cookie banner |

The other section documents aren't on any demo page: About video stats, Blog grid, Contact split, Cta circle, Join team section, Portfolio slider, Portfolio slider panel, Process section, Roadmap section, Services slider, Solution steps counter, Solution steps slider, Teamwork section, Testimonial slider video, and Work with us section.

### Site-Wide Content
| Location | What's in it |
| -------- | ------------ |
| **Menus** | **Header menu**, with dropdowns and mega menus, **Footer menu**, and **Legal links**. Each language has its own. See [Menus](../../customization/menus/) |
| **Interface labels** | Buttons, labels, and form messages, your address and hours, office names, and the footer description and copyright. Each language has its own. The box at the top searches by name or text |
| **Site settings** | One for the whole site, below the languages: **Site**, **SEO** (including AI files, robots.txt, and sitemap), **Settings**, **Opengraph**, **Head** for analytics tags, and **Social** |

**Settings** holds the header and footer options: **Sticky Header**, **Header Top Bar** with its **Layouts** (the top bar style of each header), **Office Dropdown**, **Header Offcanvas** (the contact drawer), **Header Actions**, **Navigation Button**, **Contact Info** (phone and email), **Footer Description**, **Company Desk**, **Copyright**, **Subscription**, and **Theme Credit**. It also has **Contact Form Action**, **Contact Form Provider**, **Smooth Scroll**, **Keyboard Scroll**, **Cursor**, and **Page Actions**.

**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 per dataset: one for each distinct field path and type, across all documents. This edition stores content in a compact form to stay inside it.

Consultiz's sample content, with its images, measured 1,736 on a real project, which leaves 264. That is close to the limit, so watch it. New fields use more.

To read your real number, open `https://<project>.api.sanity.io/v2021-06-07/data/stats/<dataset>` with a token, and look at `fields.count`. If you reach the limit, the Growth plan raises it. [Sanity's pricing page](https://www.sanity.io/pricing) has the current limits.

### Online Preview
Click-to-edit and draft preview are set up for your own computer, with `npm run dev:all` and `SANITY_VISUAL_EDITING=true` in `.env`. 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](../sanity/) for the steps.

### What We Tested
**With a real Sanity project, on a local computer, in Chromium:**

- Importing the sample content: all 490 documents matched it, and the schema check passes.
- A static build from the project: every page matched the build from the sample content, apart from image addresses. Every image address answered from Sanity's CDN.
- `npm run dev:all`, logged in with a test token. Clicking a heading opens its field, and a draft shows only in the preview. **Publish** reached a visitor, in English and in Arabic with a right-to-left field.
- Draft mode on 479 pages of the dev server, with their text matching the static build.

While you preview drafts, the dev server needs about 1 GB after its pages are read, and reached about 3 GB at its peak. It read all 675 pages in one run with no error.

**With no project:** the preview server's pages, from the sample content.

**Not tried on this theme:**

- `npm run setup` from start to finish. The test project was made with the same Sanity commands.
- `npm run build:preview` and `npm run start:preview` with a real project.
- Uploading a new image, and editing Site settings or menus in the Studio.
- Any online host, a deployed Studio, or a webhook.

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:

- Page layouts, and the order of sections on a page. Adding a section to a page, or moving one, is a code change: see `SKILLS.md`.
- Section and component design, colors, type scale, and fonts.
- The list of languages: `src/config/language.json`.
- Favicons, and `settings.multilingual` with the folder names in `config.toml`.
- The lists of AI crawlers. The on and off switches are in **Site settings**.

### Do It With AI
```text
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.
```