Page BuildersBeaver Builder

Beaver Builder Reference

Technical documentation for using Respira with Beaver Builder: serialized layouts, module targeting, and safe editing workflows.

Beaver Builder Reference

This page is the technical reference. For what Respira does on Beaver Builder, how it connects to Claude and ChatGPT, and how every edit lands on a copy first, start with the Beaver Builder MCP server page.

Technical documentation for using Respira with Beaver Builder.

About Beaver Builder

Beaver Builder is a reliable, user-friendly WordPress page builder trusted by agencies and developers. It stores layouts as serialized data and features over 30 content modules with a focus on stability and clean code.

Beaver Builder is full read and write. Respira builds, duplicates, batch-updates and renders native Beaver layouts, and mirrors every write to both the draft (_fl_builder_data) and published (_fl_builder_data_published) meta so the editor and the front end stay in lockstep.

Data Structure

Beaver Builder stores layouts as serialized PHP arrays in post meta (_fl_builder_data). The structure consists of rows, columns, and modules:

{
  "node-abc123": {
    "node": "abc123",
    "type": "row",
    "settings": { "width": "fixed" }
  },
  "node-def456": {
    "node": "def456",
    "type": "column",
    "parent": "abc123",
    "settings": { "size": "100" }
  },
  "node-ghi789": {
    "node": "ghi789",
    "type": "module",
    "parent": "def456",
    "settings": {
      "type": "heading",
      "heading": "Welcome to Our Site",
      "tag": "h1"
    }
  }
}

Module Identification

Set a custom label in Beaver Builder: Module Settings → Advanced → Label:

{ "admin_label": "Hero Heading" }

By CSS ID

Set in Module Settings → Advanced → ID:

{ "admin_label": "hero-cta" }

By Path

{ "path": "rows[0].columns[0].modules[0]" }

By Type and Content

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

Common Modules

ModuleTypeKey Settings
Headingheadingheading, tag
Text Editorrich-texttext (HTML content)
Buttonbuttontext, link
Photophotophoto, link
Iconiconicon, link
Calloutcalloutheading, text, photo
Call to Actionctaheading, text, btn_text, btn_link
Content Slidercontent-sliderslides array
Accordionaccordionitems array
Contact Formcontact-formemail settings

Example Prompts for Beaver Builder

Content Updates:

  • "Update the module labeled 'Hero Button' to say 'Contact Us'"
  • "Change the heading with ID 'hero-heading' to 'Welcome Home'"
  • "Replace the CTA button link with /get-started"

Structure Queries:

  • "Extract Beaver Builder structure for page 42"
  • "List all button modules on the homepage"
  • "Show me all rows and their modules"

Bulk Updates:

  • "Find all buttons with 'Learn More' and change to 'Get Started'"
  • "Update the phone number in all text editor modules"
  • "Change all H3 headings to H2"

Saved Modules & Templates

Beaver Builder saved modules and templates are editable:

  • "List all saved modules" → Shows saved module library
  • "Update the saved 'Contact Section' phone number"

Themer Layouts

Beaver Themer layouts (headers, footers, archives) are fully supported:

  • "Update the header template button to link to /contact"
  • "Change the footer copyright year to 2025"

Limitations

  • Advanced tab settings: Margins, padding, and responsive settings may need the visual editor
  • Animations: Animation and visibility settings are preserved but need the builder
  • Field connections: Beaver Themer field connections are preserved but not directly editable
  • Third-party modules: Support varies by add-on; core modules have full support

When to Use This Tool

  • Content updates - Change text, links, and images without opening the builder
  • Template maintenance - Update Themer layouts across the site
  • Bulk editing - Fix repeated content across multiple pages
  • Post-launch changes - Make quick edits after client handoff

See Also

v5.2.0 Elemental — New Capabilities

HTML-to-Beaver Conversion

The convert_html_to_builder tool now fully supports Beaver Builder with:

Type Mapping:

  • heading → heading module
  • text/paragraph → rich-text module
  • image → photo module
  • button/link → button module
  • video → video module
  • divider → separator module
  • tables, forms, unknown → html module (fallback)

Multi-Column Layout: Flex-row and grid layouts in source HTML are converted to Beaver Builder's column-group > column structure.

Content Merging: HTML content is mapped to BB-native settings keys:

  • Headings → settings.heading + settings.tag
  • Rich text → settings.text (HTML preserved)
  • Photos → settings.photo_src + settings.photo_source
  • Buttons → settings.text + settings.link

Support Level

Beaver Builder has Smart Defaults support — element operations work via the generic tree utility with builder-specific content merging.

Recent capabilities (7.4.x)

  • Compound settings no longer fatal on write. Beaver reads compound settings (border, place_content, typography, dimension and friends) with array syntax, so Respira now coerces every compound setting value to a PHP array on the write path. That fixes duplicate, batch-update and page render in one place, where they previously could fatal with "Cannot use object of type stdClass as array."
  • HTML-to-builder preserves section order on nested layouts. Sections wrapping nested <div>s used to reorder because the converter produced invalid row-in-row structures. The Beaver hierarchy pass now emits valid row > column-group > column > module in source order, keeping multi-column grids intact.
  • inject-builder-content accepts raw HTML (a string, or { html: "..." }), running it through the same converter convert_html_to_builder uses, so the two tools take the same input.