--- title: "Editing Content and Design" url: "https://plugpress.io/docs/editing-content-and-design.md" canonical: "https://plugpress.io/docs/editing-content-and-design/" published: "2026-07-28" modified: "2026-08-03" author: "Fahim" description: "Saddle lets AI edit real Gutenberg blocks, matched to your theme's own colours and spacing, and validated before saving. Your pages stay editable." tags: - "Saddle" --- # Editing Content and Design **When an AI edits your site through Saddle, it works with your real editor blocks** — not raw HTML dumped into a page, and not a proprietary format only it understands. Every layout it builds opens in the WordPress editor exactly like something a person made there, follows your theme’s own colors and spacing, and is validated before it’s allowed to save. ## How does an AI build pages through Saddle? Saddle exposes the block tree as structured tools: read a page’s blocks, add one, edit one’s attributes, move it, remove it, or replace the whole layout at once. Each block type has a schema the assistant reads *before* composing it, so it knows the real attribute names rather than guessing. Every change is validated on the way in. Malformed block markup is rejected rather than saved, so a mistake produces an error message instead of a broken page. There are also **section recipes** — blueprints for the sections most pages need (hero, features, pricing, testimonials, call to action, FAQ) that build as proper block structures ready to fill in. ## Does the AI follow my site’s design? Yes, and this is the part that makes the difference between “an AI touched my site” and “my site got updated”. Before designing anything, the assistant reads your **design system** — your theme’s palette, font sizes, and spacing scale — and refers to them by their real slugs rather than pasting hex codes and pixel values. The practical upshot: if you later change your theme’s accent color, pages the AI built change with it, because they were never hard-coded in the first place. For common sections it can also insert your theme’s own **block patterns**, which beats hand-composing something off-brand. ## Which page builders does this work with? | Builder | Support | | --- | --- | | **Gutenberg** — the WordPress block editor | Fully supported in the free plugin | | **Divi 5** | Needs [Saddle Pro](/docs/saddle-pro-divi-page-building/) | | Elementor, Bricks, others | Not supported yet | If an assistant tries to work on a Divi page without Pro installed, it’s told so plainly rather than quietly producing something wrong. Classic-editor content is read and written as content; the block tools need blocks. ## Can I check AI edits before they go live? Several safeguards, and they stack: - **Drafts first.** The AI can create content as a draft and publish only when you say so. A standing instruction on the **Guidance** screen — “always save new posts as drafts for me to review” — makes that the default behaviour. - **Preview links.** Saddle can generate a temporary, signed, no-index preview URL so you see the page in your real theme before anything is published. - **Lint.** Reviews a page’s design against your site’s own styles and reports concrete problems — button contrast, inconsistent spacing, mixed accent colors, a long run of single-column rows that reads like a document instead of a designed page — each pointed at the block it’s about. - **Verify.** Scores the page’s saved state for structure, accessibility basics, and design violations, so the AI can fix and re-check rather than declaring victory. The grade is honest: a structural break caps it at C, styling the editor silently ignored caps it at B, and every report says plainly that it covers what the server can check — for real pixels, the assistant is pointed at the preview link. - **Revisions.** Ordinary WordPress revisions still apply, so any previous version is restorable from the editor. The intended loop is: build, verify, fix what it reports, verify again — the assistant catching its own mistakes before you ever see the page. ## What about media and images? Connected assistants can upload media, set titles, captions and alt text, and — if you add your own free Unsplash Access Key under **Saddle → Integrations** — search Unsplash and import openly licensed photos straight into your media library, with photographer credit attached automatically. Media deletions go through the same [approval gate](/docs/safe-deletions/) as everything else. ## Why does “real blocks” matter? Because of what happens six months later. Pages built as genuine editor blocks stay yours: your theme controls the markup, anyone on your team can edit any section by hand, and nothing is locked into a format only an AI can maintain. Your site stays portable and your content stays editable. It’s the difference between an assistant that works *in* WordPress and one that pastes things *at* it. ## FAQ ### Will AI-built pages look like AI-built pages? Not if the design tools are doing their job. The assistant reads your real design system rather than inventing one, and the lint checks flag the tells — rows of identical centered cards, ad-hoc sizes, too many accent colors competing. ### Can it edit an existing page without wrecking it? Yes. Blocks are addressed individually, so it can change one heading or swap one image without touching the rest of the layout. ### What if it produces invalid block markup? The save is rejected and the assistant gets an error. Your page is unchanged. ### Does it need the access level raised? Reading blocks works at **Just reading**. Changing them needs **Reading & writing**. See [Permissions and access levels](/docs/permissions-access-levels/). ### Can I stop it touching pages but let it write posts? Yes — turn off the page tools individually on the Permissions screen and leave the post tools on. ## Related guides - [Permissions and access levels](/docs/permissions-access-levels/) - [Safe deletions and the approval gate](/docs/safe-deletions/) - [Saddle Pro: AI that builds real Divi pages](/docs/saddle-pro-divi-page-building/) - [Getting started: connect your first AI app](/docs/getting-started/)