Migrate Beaver Builder to Gutenberg
Version: 2.1.0
Updated: 2026-08-04
Freshly updated: v2.1.0 adds design-token awareness: conversion writes now register the colors and typography they carry as named design tokens in the block editor's own global styles, and converted pages reference those tokens instead of carrying value copies. Reuse registered tokens instead of re-inlining raw values, and report the registration in the migration summary.
Full-site migration from Beaver Builder to the WordPress block editor (Gutenberg). Audits every Beaver Builder page, maps modules to their Gutenberg block equivalents, builds a migration plan for approval, and executes page-by-page conversion into native block markup — all through duplicates so your live site stays untouched. Use this skill whenever someone mentions migrating from Beaver Builder to Gutenberg, switching from Beaver Builder to blocks, converting Beaver Builder pages to the block editor, or moving away from Beaver Builder to native WordPress.
What This Skill Does
Beaver Builder uses a module-based architecture with rows, columns, and modules stored in _fl_builder_data and _fl_builder_data_settings. Gutenberg uses a flat block structure in post_content with HTML comments as block delimiters. The architectural gap is moderate — Beaver Builder's row/column grid must be translated to Gutenberg's Group, Columns, and Column blocks, while individual modules map to core blocks.
This skill reads every Beaver Builder page, extracts the module structure, translates each row/column/module to its Gutenberg block equivalent, and writes the result to duplicate pages in native block markup — giving you a complete parallel version of your site to review before going live.
Handles:
- Row → Group block mapping
- Column layouts → Columns/Column block mapping
- Text Editor module → Paragraph/Heading blocks
- Photo module → Image block
- Button module → Buttons/Button block
- Video module → Video/Embed block
- HTML module → Custom HTML block
- Heading module → Heading block
- Icon/Icon Group modules → basic equivalents
- Separator module → Separator block
- Content slider → basic markup (flagged for enhancement)
- Call to Action module → Group + Heading + Paragraph + Button blocks
What This Skill Does NOT Do
- Migrate Beaver Builder's saved rows/modules library — these are separate entities
- Convert Beaver Themer layouts (headers, footers, archives, parts) — these must be rebuilt as block template parts or theme templates
- Replicate exact Beaver Builder animations/effects — Gutenberg has limited animation support
- Migrate advanced modules from third-party Beaver Builder add-ons (PowerPack, UABB, etc.) — flagged for manual handling
- Preserve exact column width percentages in all cases — Gutenberg columns have different width constraints
- Guarantee pixel-perfect visual parity — the block editor renders differently than Beaver Builder
Requirements
- Respira for WordPress plugin installed and connected
- MCP connection active (desktop or WebMCP)
- Beaver Builder active on the source site
- Read access to scan Beaver Builder content
- Write access to create duplicates with Gutenberg content
Trigger Phrase
- "migrate beaver builder to gutenberg"
Alternative Triggers
- "convert beaver builder to blocks"
- "switch from beaver builder to gutenberg"
- "move beaver builder to block editor"
- "replace beaver builder with gutenberg"
- "beaver builder to wordpress blocks"
- "migrate bb to gutenberg"
Builder Technical Context
Source: Beaver Builder
- Content stored in post_meta keys
_fl_builder_data and _fl_builder_data_settings
- Module-based structure with rows → columns → modules hierarchy
- Read via
respira_extract_builder_content with builder=beaver or builder=beaver-builder
- Module types:
rich-text, photo, button, heading, html, video, icon, separator, callout, cta, numbers, content-slider, etc.
Target: Gutenberg (Block Editor)
- Content stored in
post_content as HTML with block comment delimiters
- Format:
<!-- wp:paragraph --><p>Text</p><!-- /wp:paragraph -->
- Write via standard WordPress content tools (
respira_update_page / respira_update_post)
- Core blocks:
paragraph, heading, image, buttons, columns, group, html, video, separator, embed, etc.
Execution Workflow
Phase 1: Pre-Migration Audit
- Verify Respira + MCP connection via
respira_get_site_context. If unavailable, stop and show setup guidance.
- Detect Beaver Builder presence via
respira_get_builder_info or respira_list_plugins.
- Inventory and scope the source pages first:
respira_find_builder_targets with builder=beaver — a fast, ranked list of every BB-managed page/post before you touch anything
- Fall back to
respira_list_pages / respira_list_posts + respira_get_builder_info to confirm builder per item where needed
- For each BB page, extract content:
respira_extract_builder_content with builder=beaver
- Catalog: module types used, row/column structures, custom CSS, third-party modules, saved rows/modules referenced
- Produce an Audit Report:
- Total pages/posts using Beaver Builder
- Module type frequency (how many text editors, photos, buttons, etc.)
- Column layout patterns (common row structures)
- Complexity flags (third-party modules, Beaver Themer, custom CSS, animations)
- Estimated migration difficulty per page (simple / moderate / complex)
Phase 2: Migration Plan
Present a structured migration plan:
## Beaver Builder → Gutenberg Migration Plan
### Site Overview
- Total Beaver Builder pages: X
- Simple pages (direct mapping): X
- Moderate pages (some manual review needed): X
- Complex pages (significant manual work): X
### Module Mapping
| BB Module | Gutenberg Block | Notes |
|---|---|---|
| Text Editor | Paragraph / Heading | Content parsed into appropriate blocks |
| Photo | Image | Direct mapping |
| Button | Buttons > Button | Wrapped in Buttons container |
| Row (2 col) | Columns (2 col) | Width ratios preserved where possible |
| ... | ... | ... |
### Migration Order
1. [Page Title] — Simple — estimated 2 min
2. [Page Title] — Moderate — estimated 5 min
...
### Items Requiring Manual Attention
- [Page X] — PowerPack module (no core block equivalent)
- [Page Y] — Content slider (basic fallback only)
- Beaver Themer layouts — must be rebuilt as block templates
Then ask:
Here's the migration plan. Would you like me to:
- Migrate all pages (creates duplicates for review)
- Migrate only simple pages first
- Migrate specific pages you choose
- Just keep this as a reference — no changes
Wait for explicit confirmation before proceeding.
Phase 3: Page-by-Page Migration
For each approved page:
- Extract Beaver Builder content via
respira_extract_builder_content with builder=beaver
- Map the row/column/module hierarchy to Gutenberg blocks:
- Rows →
<!-- wp:group --> blocks
- Columns →
<!-- wp:columns --> with <!-- wp:column --> children
- Text Editor → Parse rich text into
<!-- wp:paragraph --> and <!-- wp:heading --> blocks
- Photo →
<!-- wp:image --> with src, alt, caption
- Button →
<!-- wp:buttons --> wrapper with <!-- wp:button --> child
- HTML →
<!-- wp:html --> block
- Preserve text content, image URLs, link targets, heading levels
- Flag any unmappable modules with
<!-- wp:paragraph --><p>[MIGRATION NOTE: ...]</p><!-- /wp:paragraph -->
- Assemble the complete Gutenberg block markup
- Create a duplicate via
respira_create_page_duplicate or respira_create_post_duplicate
- Before writing, take a snapshot with
respira_get_snapshot so the duplicate's pre-write state can be restored if anything goes wrong
- Update the duplicate's
post_content with the Gutenberg markup via respira_update_page or respira_update_post
- Surgical fix pass — if the written page has validation issues (collapsed column widths, malformed block markup, a misconverted module), do not rewrite the whole page. Locate the specific block with
respira_find_element and correct it with respira_update_element. For repeated fixes across many blocks or several pages, batch them with respira_batch_update
- Log the migration result (success, warnings, manual review items)
Phase 4: Post-Migration Verification
- Summarize all migrated pages with status:
- Design tokens registered in the block editor's global styles (token names and counts)
- Clean migrations (no issues)
- Migrations with warnings (flagged items needing review)
- Failed migrations (if any)
- List all manual review items:
- Third-party modules that need manual replacement
- Content sliders or advanced layouts that need enhancement
- Custom CSS that needs to be moved to theme/Additional CSS
- Beaver Themer layouts that need separate rebuilding
- Provide review instructions:
- Where to find duplicates in WordPress admin
- How to preview pages in the block editor
- How to delete duplicates if not wanted
Design Tokens
Conversion writes now register the colors and typography they carry as named design tokens in the block editor's own global styles, and the converted pages reference those tokens instead of carrying value copies. When fixing or extending a migrated page, reuse the registered tokens (respira_list_design_tokens shows them) rather than re-inlining raw hex values or font stacks. And say so when you finish: the migration summary should name the tokens that were registered and note that migrated pages reference them.
Safety Model
- Read-only analysis first — full Beaver Builder content audit before any changes
- Explicit user confirmation before creating any duplicates
- Duplicate-first only — never modifies live/published Beaver Builder content
- Never auto-publishes duplicates
- Snapshot before every write —
respira_get_snapshot captures the duplicate's pre-write state, and respira_restore_snapshot rolls it back if a write goes wrong
- Two explicit rollback paths: restore the snapshot to revert a bad write, or delete the draft duplicates entirely to undo the migration
- Preserves all original Beaver Builder content untouched
Honest Disclaimer
This skill converts Beaver Builder page structures to Gutenberg block markup and creates duplicates for review.
It cannot:
- Guarantee pixel-perfect visual parity between builders
- Migrate Beaver Themer layouts automatically
- Convert third-party BB add-on modules
- Replicate animations or advanced effects
- Replace a thorough manual QA pass on every page
It can:
- Map 70-85% of standard Beaver Builder modules to core Gutenberg blocks
- Preserve content, images, links, and basic layout structure
- Move you off a third-party builder dependency to native WordPress
- Save days of manual rebuild work
- Identify exactly what needs manual attention
Tooling
Core WordPress tools
respira_get_site_context
respira_get_builder_info
respira_list_pages
respira_list_posts
respira_list_plugins
respira_find_builder_targets
respira_extract_builder_content
respira_create_page_duplicate
respira_create_post_duplicate
respira_update_page
respira_update_post
respira_read_page
respira_read_post
Safety and surgical-fix tools
respira_get_snapshot
respira_restore_snapshot
respira_find_element
respira_update_element
respira_batch_update
Telemetry
After run completion, send fire-and-forget usage tracking to:
POST https://www.respira.press/api/skills/track-usage
Include:
skill_slug = migrate-beaver-builder-to-gutenberg
- site/version context
- duration and success
- pages audited, pages migrated, warnings count
- tools used
Never block user flow on telemetry failure.
Related Skills
- WordPress Site DNA (understand site structure before migrating)
- Technical Debt Audit (clean up before or after migration)
- SEO & AEO Amplifier (verify SEO preservation post-migration)
Built by Respira Team
https://respira.press/skills/migrate-beaver-builder-to-gutenberg
1---2name: migrate-beaver-builder-to-gutenberg3description: Use when the user says 'migrate beaver builder to gutenberg', 'convert beaver builder to blocks', or 'move beaver builder to the block editor'. Reads the Beaver Builder flat node map, maps modules to core blocks, and creates draft duplicates for review.4license: MIT5---67# Migrate Beaver Builder to Gutenberg89**Version:** 2.1.010**Updated:** 2026-08-0411**Freshly updated:** v2.1.0 adds design-token awareness: conversion writes now register the colors and typography they carry as named design tokens in the block editor's own global styles, and converted pages reference those tokens instead of carrying value copies. Reuse registered tokens instead of re-inlining raw values, and report the registration in the migration summary.1213Full-site migration from Beaver Builder to the WordPress block editor (Gutenberg). Audits every Beaver Builder page, maps modules to their Gutenberg block equivalents, builds a migration plan for approval, and executes page-by-page conversion into native block markup — all through duplicates so your live site stays untouched. Use this skill whenever someone mentions migrating from Beaver Builder to Gutenberg, switching from Beaver Builder to blocks, converting Beaver Builder pages to the block editor, or moving away from Beaver Builder to native WordPress.1415## What This Skill Does1617Beaver Builder uses a module-based architecture with rows, columns, and modules stored in `_fl_builder_data` and `_fl_builder_data_settings`. Gutenberg uses a flat block structure in `post_content` with HTML comments as block delimiters. The architectural gap is moderate — Beaver Builder's row/column grid must be translated to Gutenberg's Group, Columns, and Column blocks, while individual modules map to core blocks.1819This skill reads every Beaver Builder page, extracts the module structure, translates each row/column/module to its Gutenberg block equivalent, and writes the result to duplicate pages in native block markup — giving you a complete parallel version of your site to review before going live.2021**Handles:**22- Row → Group block mapping23- Column layouts → Columns/Column block mapping24- Text Editor module → Paragraph/Heading blocks25- Photo module → Image block26- Button module → Buttons/Button block27- Video module → Video/Embed block28- HTML module → Custom HTML block29- Heading module → Heading block30- Icon/Icon Group modules → basic equivalents31- Separator module → Separator block32- Content slider → basic markup (flagged for enhancement)33- Call to Action module → Group + Heading + Paragraph + Button blocks3435## What This Skill Does NOT Do3637- Migrate Beaver Builder's saved rows/modules library — these are separate entities38- Convert Beaver Themer layouts (headers, footers, archives, parts) — these must be rebuilt as block template parts or theme templates39- Replicate exact Beaver Builder animations/effects — Gutenberg has limited animation support40- Migrate advanced modules from third-party Beaver Builder add-ons (PowerPack, UABB, etc.) — flagged for manual handling41- Preserve exact column width percentages in all cases — Gutenberg columns have different width constraints42- Guarantee pixel-perfect visual parity — the block editor renders differently than Beaver Builder4344## Requirements4546- Respira for WordPress plugin installed and connected47- MCP connection active (desktop or WebMCP)48- Beaver Builder active on the source site49- Read access to scan Beaver Builder content50- Write access to create duplicates with Gutenberg content5152## Trigger Phrase5354- "migrate beaver builder to gutenberg"5556## Alternative Triggers5758- "convert beaver builder to blocks"59- "switch from beaver builder to gutenberg"60- "move beaver builder to block editor"61- "replace beaver builder with gutenberg"62- "beaver builder to wordpress blocks"63- "migrate bb to gutenberg"6465## Builder Technical Context6667**Source: Beaver Builder**68- Content stored in post_meta keys `_fl_builder_data` and `_fl_builder_data_settings`69- Module-based structure with rows → columns → modules hierarchy70- Read via `respira_extract_builder_content` with `builder=beaver` or `builder=beaver-builder`71- Module types: `rich-text`, `photo`, `button`, `heading`, `html`, `video`, `icon`, `separator`, `callout`, `cta`, `numbers`, `content-slider`, etc.7273**Target: Gutenberg (Block Editor)**74- Content stored in `post_content` as HTML with block comment delimiters75- Format: `<!-- wp:paragraph --><p>Text</p><!-- /wp:paragraph -->`76- Write via standard WordPress content tools (`respira_update_page` / `respira_update_post`)77- Core blocks: `paragraph`, `heading`, `image`, `buttons`, `columns`, `group`, `html`, `video`, `separator`, `embed`, etc.7879## Execution Workflow8081### Phase 1: Pre-Migration Audit82831. Verify Respira + MCP connection via `respira_get_site_context`. If unavailable, stop and show setup guidance.842. Detect Beaver Builder presence via `respira_get_builder_info` or `respira_list_plugins`.853. Inventory and scope the source pages first:86 - `respira_find_builder_targets` with `builder=beaver` — a fast, ranked list of every BB-managed page/post before you touch anything87 - Fall back to `respira_list_pages` / `respira_list_posts` + `respira_get_builder_info` to confirm builder per item where needed884. For each BB page, extract content:89 - `respira_extract_builder_content` with `builder=beaver`90 - Catalog: module types used, row/column structures, custom CSS, third-party modules, saved rows/modules referenced915. Produce an **Audit Report**:92 - Total pages/posts using Beaver Builder93 - Module type frequency (how many text editors, photos, buttons, etc.)94 - Column layout patterns (common row structures)95 - Complexity flags (third-party modules, Beaver Themer, custom CSS, animations)96 - Estimated migration difficulty per page (simple / moderate / complex)9798### Phase 2: Migration Plan99100Present a structured migration plan:101102```103## Beaver Builder → Gutenberg Migration Plan104105### Site Overview106- Total Beaver Builder pages: X107- Simple pages (direct mapping): X108- Moderate pages (some manual review needed): X109- Complex pages (significant manual work): X110111### Module Mapping112| BB Module | Gutenberg Block | Notes |113|---|---|---|114| Text Editor | Paragraph / Heading | Content parsed into appropriate blocks |115| Photo | Image | Direct mapping |116| Button | Buttons > Button | Wrapped in Buttons container |117| Row (2 col) | Columns (2 col) | Width ratios preserved where possible |118| ... | ... | ... |119120### Migration Order1211. [Page Title] — Simple — estimated 2 min1222. [Page Title] — Moderate — estimated 5 min123...124125### Items Requiring Manual Attention126- [Page X] — PowerPack module (no core block equivalent)127- [Page Y] — Content slider (basic fallback only)128- Beaver Themer layouts — must be rebuilt as block templates129```130131Then ask:132133> Here's the migration plan. Would you like me to:134> 1. Migrate all pages (creates duplicates for review)135> 2. Migrate only simple pages first136> 3. Migrate specific pages you choose137> 4. Just keep this as a reference — no changes138139Wait for explicit confirmation before proceeding.140141### Phase 3: Page-by-Page Migration142143For each approved page:1441451. Extract Beaver Builder content via `respira_extract_builder_content` with `builder=beaver`1462. Map the row/column/module hierarchy to Gutenberg blocks:147 - Rows → `<!-- wp:group -->` blocks148 - Columns → `<!-- wp:columns -->` with `<!-- wp:column -->` children149 - Text Editor → Parse rich text into `<!-- wp:paragraph -->` and `<!-- wp:heading -->` blocks150 - Photo → `<!-- wp:image -->` with src, alt, caption151 - Button → `<!-- wp:buttons -->` wrapper with `<!-- wp:button -->` child152 - HTML → `<!-- wp:html -->` block153 - Preserve text content, image URLs, link targets, heading levels154 - Flag any unmappable modules with `<!-- wp:paragraph --><p>[MIGRATION NOTE: ...]</p><!-- /wp:paragraph -->`1553. Assemble the complete Gutenberg block markup1564. Create a duplicate via `respira_create_page_duplicate` or `respira_create_post_duplicate`1575. Before writing, take a snapshot with `respira_get_snapshot` so the duplicate's pre-write state can be restored if anything goes wrong1586. Update the duplicate's `post_content` with the Gutenberg markup via `respira_update_page` or `respira_update_post`1597. Surgical fix pass — if the written page has validation issues (collapsed column widths, malformed block markup, a misconverted module), do not rewrite the whole page. Locate the specific block with `respira_find_element` and correct it with `respira_update_element`. For repeated fixes across many blocks or several pages, batch them with `respira_batch_update`1608. Log the migration result (success, warnings, manual review items)161162### Phase 4: Post-Migration Verification1631641. Summarize all migrated pages with status:165 - Design tokens registered in the block editor's global styles (token names and counts)166 - Clean migrations (no issues)167 - Migrations with warnings (flagged items needing review)168 - Failed migrations (if any)1692. List all manual review items:170 - Third-party modules that need manual replacement171 - Content sliders or advanced layouts that need enhancement172 - Custom CSS that needs to be moved to theme/Additional CSS173 - Beaver Themer layouts that need separate rebuilding1743. Provide review instructions:175 - Where to find duplicates in WordPress admin176 - How to preview pages in the block editor177 - How to delete duplicates if not wanted178179## Design Tokens180181Conversion writes now register the colors and typography they carry as named design tokens in the block editor's own global styles, and the converted pages reference those tokens instead of carrying value copies. When fixing or extending a migrated page, reuse the registered tokens (`respira_list_design_tokens` shows them) rather than re-inlining raw hex values or font stacks. And say so when you finish: the migration summary should name the tokens that were registered and note that migrated pages reference them.182183## Safety Model184185- Read-only analysis first — full Beaver Builder content audit before any changes186- Explicit user confirmation before creating any duplicates187- Duplicate-first only — never modifies live/published Beaver Builder content188- Never auto-publishes duplicates189- Snapshot before every write — `respira_get_snapshot` captures the duplicate's pre-write state, and `respira_restore_snapshot` rolls it back if a write goes wrong190- Two explicit rollback paths: restore the snapshot to revert a bad write, or delete the draft duplicates entirely to undo the migration191- Preserves all original Beaver Builder content untouched192193## Honest Disclaimer194195This skill converts Beaver Builder page structures to Gutenberg block markup and creates duplicates for review.196197It cannot:198- Guarantee pixel-perfect visual parity between builders199- Migrate Beaver Themer layouts automatically200- Convert third-party BB add-on modules201- Replicate animations or advanced effects202- Replace a thorough manual QA pass on every page203204It can:205- Map 70-85% of standard Beaver Builder modules to core Gutenberg blocks206- Preserve content, images, links, and basic layout structure207- Move you off a third-party builder dependency to native WordPress208- Save days of manual rebuild work209- Identify exactly what needs manual attention210211## Tooling212213**Core WordPress tools**214- `respira_get_site_context`215- `respira_get_builder_info`216- `respira_list_pages`217- `respira_list_posts`218- `respira_list_plugins`219- `respira_find_builder_targets`220- `respira_extract_builder_content`221- `respira_create_page_duplicate`222- `respira_create_post_duplicate`223- `respira_update_page`224- `respira_update_post`225- `respira_read_page`226- `respira_read_post`227228**Safety and surgical-fix tools**229- `respira_get_snapshot`230- `respira_restore_snapshot`231- `respira_find_element`232- `respira_update_element`233- `respira_batch_update`234235## Telemetry236237After run completion, send fire-and-forget usage tracking to:238239- `POST https://www.respira.press/api/skills/track-usage`240241Include:242- `skill_slug = migrate-beaver-builder-to-gutenberg`243- site/version context244- duration and success245- pages audited, pages migrated, warnings count246- tools used247248Never block user flow on telemetry failure.249250## Related Skills251252- WordPress Site DNA (understand site structure before migrating)253- Technical Debt Audit (clean up before or after migration)254- SEO & AEO Amplifier (verify SEO preservation post-migration)255256---257258Built by Respira Team259https://respira.press/skills/migrate-beaver-builder-to-gutenberg