Page BuildersGutenberg

Gutenberg (Block Editor) Reference

Technical documentation for using Respira with Gutenberg: WordPress block editing, block templates and template parts, synced patterns, block navigation, global styles, content updates, and SEO workflows.

Gutenberg (Block Editor) Reference

Technical documentation for using Respira with the WordPress Block Editor (Gutenberg).

About Gutenberg

The WordPress Block Editor, commonly known as Gutenberg, is WordPress's default content editor since version 5.0. It powers over 40% of all websites on the internet through WordPress core.

This page covers block-level editing inside a page or post. For the site-level surface, block templates and template parts, synced and unsynced patterns, block navigation and global styles, see Site Editor (Full Site Editing), new in Respira 8.0 "Canopy".

Prompting for great results on Gutenberg

For the full prompting guide, see Get Great Results: How to Prompt. The one thing to know on Gutenberg:

  • "Native" means blocks, not raw HTML. The same do-not-write-raw-HTML rule applies as on any builder. Blocks (core/heading, core/paragraph, core/columns, core/group, core/cover, core/button) are the native structure. Ask for blocks and the page stays editable in the block editor. Ask for "the HTML" and you get a single classic/HTML block the editor cannot break apart.
  • Prime once at the start. "This is a Gutenberg site. Build with core blocks, not raw HTML, and duplicate any live page before editing."
Add an FAQ section to [page] using native Gutenberg blocks (a heading plus details/accordion blocks if available). Keep it editable in the block editor. Duplicate the page first and show me a preview.

Data Structure

Gutenberg stores content as HTML with block comment delimiters in post_content:

<!-- wp:heading {"level":1} -->
<h1 class="wp-block-heading">Welcome to Our Site</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>This is the introduction paragraph with some <strong>bold text</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:button {"backgroundColor":"primary"} -->
<div class="wp-block-button">
  <a class="wp-block-button__link has-primary-background-color">Get Started</a>
</div>
<!-- /wp:button -->

Block attributes are stored as JSON in the opening comment. The HTML between comments is the rendered content.

Module Identification

By Block Type

{ "type": "core/heading", "match_content": "Welcome" }

By CSS Anchor

Set in Block Settings → Advanced → HTML Anchor:

{ "admin_label": "hero-cta" }

By Position

{ "path": "blocks[0]" }

By Content Match

{ "match_content": "Get Started" }

Common Blocks

BlockTypeKey Attributes
Headingcore/headinglevel, content
Paragraphcore/paragraphcontent
Imagecore/imageurl, alt, caption
Buttoncore/buttontext, url
Listcore/listvalues
Quotecore/quotevalue, citation
Columnscore/columnsnested column blocks
Groupcore/grouplayout, nested blocks
Covercore/coverurl, dimRatio
Gallerycore/galleryimages array

Example Prompts for Gutenberg

Content Updates:

  • "Update the first H1 on the About page to 'About Our Company'"
  • "Change the hero button text to 'Start Free Trial'"
  • "Replace all instances of '2024' with '2025' in the footer"

Structure Queries:

  • "Show me all headings on page 42"
  • "List all button blocks on the homepage"
  • "What blocks are on the contact page?"

Bulk Updates:

  • "Find all buttons with 'Learn More' and change to 'Get Started'"
  • "Update the copyright text in the footer on all pages"
  • "Add alt text to all images missing it"

Patterns (formerly Reusable Blocks)

Patterns are addressable through Respira, including their synced or unsynced state:

  • Registered theme and plugin patterns are read-only. They live in theme or plugin code, not in the database.

  • Editable user patterns (wp_block) can be created, read, updated and deleted, and a synced pattern changes everywhere it is used.

  • "List the synced patterns on this site" → shows the editable pattern library with its synced state

  • "Update the CTA pattern button text" → changes it everywhere the synced pattern is used

Full detail, including the safety contract that applies because a synced pattern is a shared object, is on the Site Editor page.

Full Site Editing (FSE)

Respira 8.0 "Canopy" makes the native WordPress Site Editor a first-class target rather than a partial read. On a block theme, these are addressable:

  • Block templates and template parts (wp_template, wp_template_part) with template hierarchy and source discovery, so you know whether a template is theme-provided, plugin-provided or a database customisation
  • Synced and unsynced patterns (wp_block), with registered theme and plugin patterns kept read-only
  • Block navigation (wp_navigation), edited by exact block path rather than by rewriting the navigation document. A guessed path is refused, and a stale revision is refused
  • Gutenberg design tokens and global styles, so colours, typography and spacing change at the source

Every structural write is fingerprint-guarded against a stale base, snapshotted, read back through WordPress, and server-render verified. It reports verified only after WordPress has actually rendered it. A write can also be staged as a proposal for human approval instead of applied.

Structural writes to site-level objects are beta-gated per site and OFF by default. Read-only discovery of templates, patterns, navigation and global styles works everywhere. Structural writes have to be enabled for the specific site.

Example: "Show me the header template part and the navigation inside it, and do not change anything."

The FSE work exists because of a published field study by Dale Smith of revWorx, who builds exclusively on FSE block themes and documented, live-verified, where Respira went inert on that stack.

See Site Editor (Full Site Editing) for the tools, the mutation-result contract, and the beta gate.

Best Use Cases

  • Editing headings and body content - Quick text changes without the editor
  • Adding/removing sections - Modify content structure via content updates
  • SEO and readability workflows - Batch-fix heading hierarchy or missing alt text
  • Programmatic content - Update dates, years, or repeated content across pages

Recent capabilities (8.0 "Canopy")

  • The Site Editor is a first-class target. Block templates, template parts, synced and unsynced patterns, block navigation and global styles are addressable, with structural writes behind a fingerprint, a snapshot, a read-back and a server-render check. See Site Editor.
  • Navigation is edited by block path. A menu link changes without re-serialising the whole navigation document, and a guessed path or a stale revision is refused instead of applied.

Recent capabilities (7.4.x)

  • build_page no longer emits a non-existent core/section block. A section type used to fall through to core/section, which WordPress renders as "This block is not supported" and the front end drops; row had the same gap. section/container/wrapper now map to core/group and row to core/columns, so a full-page build is valid, nested and renders. Native block support is otherwise full: Respira reads every registered block from the block registry, core and third-party alike.

Limitations

  • Registered theme and plugin patterns are read-only: they live in code, not the database. Copy one into a user pattern to change it
  • Third-party blocks: Respira reads all registered blocks dynamically from the block registry, including core and third-party blocks
  • Interactive blocks: Blocks with complex interactivity (forms, carousels) may need manual editing
  • Site-level structural writes are beta-gated per site and off by default: read-only discovery of templates, patterns, navigation and global styles is available everywhere

When to Use This Tool

  • Before publishing - Review and fix content before going live
  • Monthly maintenance - Update dates, phone numbers, addresses site-wide
  • After migrations - Batch-fix content issues after moving from another builder
  • SEO audits - Fix heading structure and add missing meta content

See Also