Migrate Elementor to Breakdance
Converts Elementor-built WordPress pages to Breakdance Builder. Reads Elementor's JSON widget tree from post meta, maps each widget to its Breakdance element equivalent, generates a migration plan for approval, and writes Breakdance content to the target pages. Use this skill whenever someone wants to move from Elementor to Breakdance, switch builders from Elementor to Breakdance, or rebuild Elementor pages in Breakdance.
What This Skill Does
Breakdance is a newer builder created by the Oxygen team with a focus on clean output and familiar visual editing. Both Elementor and Breakdance are widget/element-based builders, making this a relatively smooth migration path. The main challenge is mapping Elementor's JSON widget tree (_elementor_data) to Breakdance's post meta format, translating settings names, and handling the structural differences in how each builder handles sections, columns, and responsive design.
Handles:
- Section/Column layouts → Breakdance Section/Div elements
- Text Editor, Heading, Image, Video, Button → native Breakdance equivalents
- Icon, Icon Box, Image Box → Breakdance icon and media elements
- Tabs, Accordion, Toggle → Breakdance interactive elements
- Form widgets → Breakdance form element
- Spacer, Divider → Breakdance spacing and separator elements
- Google Maps → Breakdance map element
- Image Gallery → Breakdance gallery element
- Pricing Table → Breakdance pricing element
- Progress Bar, Counter → Breakdance equivalents
- Custom CSS → Breakdance custom CSS fields
- Responsive visibility → Breakdance breakpoint controls
Preserves:
- All text content, headings, links, and inline formatting
- Image URLs, alt text, captions
- Typography settings (font, size, weight, line-height)
- Color values and gradients
- Spacing (margin, padding)
- Background images and overlays
- Border and shadow settings
- Button styles, links, and targets
- CSS classes and custom attributes
What This Skill Does NOT Do
- Third-party Elementor addons — Widgets from Essential Addons, JetElements, Crocoblock, etc. are flagged for manual migration.
- Elementor Pro dynamic tags — ACF fields, custom loops, and dynamic content need Breakdance's dynamic data system configured separately.
- Theme Builder templates — Elementor headers, footers, archive templates are not page content and require Breakdance's own template system.
- Popup content — Elementor popups need to be rebuilt as Breakdance popups manually.
- WooCommerce widgets — Elementor's WooCommerce elements need Breakdance's WooCommerce builder.
- Motion effects — Parallax, entrance animations, and scroll effects have different implementations in Breakdance.
- Global widgets — Referenced by
templateID in Elementor; these are resolved to inline content. Breakdance global blocks must be set up separately.
Requirements
- Respira for WordPress plugin installed and connected
- MCP connection active (desktop or WebMCP)
- Elementor plugin active (to read source content)
- Breakdance plugin installed and active (to write target content)
- Read access to scan Elementor content
- Write access to create duplicates with Breakdance content
Trigger Phrase
- "migrate elementor to breakdance"
Alternative Triggers
- "convert elementor to breakdance"
- "switch from elementor to breakdance"
- "rebuild elementor pages in breakdance"
- "move from elementor to breakdance"
- "elementor to breakdance migration"
Source Builder: Elementor
Elementor stores page content in the _elementor_data post meta field as a JSON string. The structure is a nested tree:
Document
└─ Section (type: "section")
├─ settings: { structure, layout, content_width, ... }
└─ elements: [
Column (type: "column")
├─ settings: { _column_size, ... }
└─ elements: [
Widget (type: "widget", widgetType: "heading")
└─ settings: { title, size, header_size, ... }
]
]
Key Elementor specifics:
- Widget types are in the
widgetType field (e.g., heading, text-editor, image, button)
- Responsive settings use suffixes:
margin, margin_tablet, margin_mobile
- CSS is cached in
_elementor_css post meta
- Page settings in
_elementor_page_settings
- Global widgets reference a template via
templateID
Read Elementor content via wordpress_extract_builder_content with builder=elementor.
Target Builder: Breakdance
Breakdance stores content in post meta. Elements follow a structured format with type, settings, and children.
Key Breakdance specifics:
- Elements have types like
EssentialElements\\Heading, EssentialElements\\Text, EssentialElements\\Image
- Section/Div structure for layouts (similar conceptual model to Elementor sections/columns)
- Clean CSS output — Breakdance generates minimal, optimized CSS
- Built-in WooCommerce support, form builder, and popup system
- Responsive design uses breakpoint-specific settings within element properties
Write Breakdance content via wordpress_inject_builder_content with builder=breakdance.
Execution Workflow
Phase 1: Pre-Migration Audit
- Verify Respira + MCP connection via
wordpress_get_site_context. If unavailable, stop and show setup guidance.
- Confirm Elementor is active via
wordpress_list_plugins.
- Confirm Breakdance is installed and active via
wordpress_list_plugins.
- Scan all content for Elementor usage:
wordpress_list_pages and wordpress_list_posts
- For each, check builder via
wordpress_get_builder_info
- For each Elementor page, extract content via
wordpress_extract_builder_content with builder=elementor
- Build an inventory:
- Total pages/posts using Elementor
- Widget types used (frequency count)
- Third-party addon widgets detected
- Pro widgets that need Breakdance Pro equivalents
- Global widgets and dynamic tags
- Complexity per page (simple/moderate/complex)
Phase 2: Migration Plan
Present a migration plan:
## Elementor → Breakdance Migration Plan
### Site Inventory
- Total Elementor pages: X
- Total widgets to convert: X
- Auto-convertible: X (Y%)
- Manual attention: X (Y%)
### Widget Mapping Summary
| Elementor Widget | Breakdance Element | Status |
|-----------------|-------------------|--------|
| heading | Heading | Auto |
| text-editor | Text | Auto |
| image | Image | Auto |
| button | Button | Auto |
| tabs | Tabs | Auto |
| form | Form | Partial|
| [addon widget] | — | Manual |
### Page-by-Page Plan
1. **[Page Title]** — X widgets, [complexity]
- Auto-convertible: X
- Needs attention: [details]
2. ...
### Migration Advantages
- Breakdance produces cleaner CSS output
- Better WooCommerce integration (if applicable)
- Similar visual editing workflow — team adjustment is minimal
Ask for confirmation:
Ready to migrate? Your original Elementor pages remain untouched.
- Migrate all pages
- Migrate specific pages
- Start with a test page
- Just keep this plan
Phase 3: Page-by-Page Migration
For each approved page:
- Read full Elementor content via
wordpress_extract_builder_content with builder=elementor
- Walk the Elementor JSON tree and map each widget:
- Convert Section → Breakdance Section
- Convert Column → Breakdance Div (with flex layout)
- Convert each widget → appropriate Breakdance element
- Map typography, color, spacing, background, border settings
- Convert responsive suffixes to Breakdance breakpoint format
- Resolve global widgets to inline content
- Flag unmappable widgets with migration notes
- Generate valid Breakdance element structure
- Create a duplicate via
wordpress_create_page_duplicate or wordpress_create_post_duplicate
- Write Breakdance content to the duplicate via
wordpress_inject_builder_content with builder=breakdance
- Report status before moving to next page
Phase 4: Post-Migration Verification
- Summarize all migrations:
- Pages migrated, widgets converted, items flagged
- For each migrated page:
- Link to edit in Breakdance
- Flagged items list
- Settings that may need fine-tuning
- Post-migration checklist:
Safety Model
- Read-only analysis first — full content scan before any changes
- Explicit user confirmation required before creating duplicates
- Original Elementor pages are never modified or deleted
- All migrated content goes to draft duplicates only
- Never auto-publishes migrated pages
- Creates a snapshot before migration begins (when available)
- Provides clear rollback path (delete duplicates)
Honest Disclaimer
This skill converts Elementor page content to Breakdance format and creates draft duplicates for review.
It cannot:
- Migrate third-party addon widgets automatically
- Convert Elementor Pro dynamic tags to Breakdance dynamic data
- Guarantee pixel-perfect visual match
- Migrate theme builder templates or popups
- Replace manual QA and visual review
It can:
- Convert 85-95% of standard Elementor widgets to Breakdance equivalents
- Preserve all text content, images, links, and core styling
- Take advantage of Breakdance's cleaner CSS output
- Save days of manual rebuilding
- Clearly flag everything that needs manual attention
- Keep original pages safe throughout the process
Tooling
Core WordPress tools
wordpress_get_site_context
wordpress_list_plugins
wordpress_list_pages
wordpress_list_posts
wordpress_read_page
wordpress_read_post
wordpress_get_builder_info
wordpress_extract_builder_content
wordpress_inject_builder_content
wordpress_find_builder_targets
wordpress_create_page_duplicate
wordpress_create_post_duplicate
Telemetry
After run completion, send fire-and-forget usage tracking to:
POST https://www.respira.press/api/skills/track-usage
Include:
skill_slug = migrate-elementor-to-breakdance
- site/version context
- duration and success
- pages migrated, widgets converted, widgets flagged counts
- tools used
Never block user flow on telemetry failure.
Related Skills
- WordPress Site DNA (understand site structure before migrating)
- Internal Link Builder (verify internal links post-migration)
- SEO & AEO Amplifier (verify SEO preservation post-migration)
- Technical Debt Audit (clean up post-migration)
Built by Respira Team
https://respira.press/skills/migrate-elementor-to-breakdance
1---2name: migrate-elementor-to-breakdance3description: Converts Elementor-built WordPress pages to Breakdance Builder. Reads Elementor's JSON widget tree from post meta, maps each widget to its Breakdance element equivalent, generates a migration plan for approval, and writes Breakdance content to the target pages. Use when user says "migrate Elementor to Breakdance", "switch from Elementor to Breakdance", or "rebuild Elementor pages in Breakdance".4license: MIT5---6
7# Migrate Elementor to Breakdance
8
9Converts Elementor-built WordPress pages to Breakdance Builder. Reads Elementor's JSON widget tree from post meta, maps each widget to its Breakdance element equivalent, generates a migration plan for approval, and writes Breakdance content to the target pages. Use this skill whenever someone wants to move from Elementor to Breakdance, switch builders from Elementor to Breakdance, or rebuild Elementor pages in Breakdance.
10
11## What This Skill Does
12
13Breakdance is a newer builder created by the Oxygen team with a focus on clean output and familiar visual editing. Both Elementor and Breakdance are widget/element-based builders, making this a relatively smooth migration path. The main challenge is mapping Elementor's JSON widget tree (`_elementor_data`) to Breakdance's post meta format, translating settings names, and handling the structural differences in how each builder handles sections, columns, and responsive design.
14
15**Handles:**
16- Section/Column layouts → Breakdance Section/Div elements
17- Text Editor, Heading, Image, Video, Button → native Breakdance equivalents
18- Icon, Icon Box, Image Box → Breakdance icon and media elements
19- Tabs, Accordion, Toggle → Breakdance interactive elements
20- Form widgets → Breakdance form element
21- Spacer, Divider → Breakdance spacing and separator elements
22- Google Maps → Breakdance map element
23- Image Gallery → Breakdance gallery element
24- Pricing Table → Breakdance pricing element
25- Progress Bar, Counter → Breakdance equivalents
26- Custom CSS → Breakdance custom CSS fields
27- Responsive visibility → Breakdance breakpoint controls
28
29**Preserves:**
30- All text content, headings, links, and inline formatting
31- Image URLs, alt text, captions
32- Typography settings (font, size, weight, line-height)
33- Color values and gradients
34- Spacing (margin, padding)
35- Background images and overlays
36- Border and shadow settings
37- Button styles, links, and targets
38- CSS classes and custom attributes
39
40## What This Skill Does NOT Do
41
42- **Third-party Elementor addons** — Widgets from Essential Addons, JetElements, Crocoblock, etc. are flagged for manual migration.
43- **Elementor Pro dynamic tags** — ACF fields, custom loops, and dynamic content need Breakdance's dynamic data system configured separately.
44- **Theme Builder templates** — Elementor headers, footers, archive templates are not page content and require Breakdance's own template system.
45- **Popup content** — Elementor popups need to be rebuilt as Breakdance popups manually.
46- **WooCommerce widgets** — Elementor's WooCommerce elements need Breakdance's WooCommerce builder.
47- **Motion effects** — Parallax, entrance animations, and scroll effects have different implementations in Breakdance.
48- **Global widgets** — Referenced by `templateID` in Elementor; these are resolved to inline content. Breakdance global blocks must be set up separately.
49
50## Requirements
51
52- Respira for WordPress plugin installed and connected
53- MCP connection active (desktop or WebMCP)
54- Elementor plugin active (to read source content)
55- Breakdance plugin installed and active (to write target content)
56- Read access to scan Elementor content
57- Write access to create duplicates with Breakdance content
58
59## Trigger Phrase
60
61- "migrate elementor to breakdance"
62
63## Alternative Triggers
64
65- "convert elementor to breakdance"
66- "switch from elementor to breakdance"
67- "rebuild elementor pages in breakdance"
68- "move from elementor to breakdance"
69- "elementor to breakdance migration"
70
71## Source Builder: Elementor
72
73Elementor stores page content in the `_elementor_data` post meta field as a JSON string. The structure is a nested tree:
74
75```
76Document
77 └─ Section (type: "section")
78 ├─ settings: { structure, layout, content_width, ... }
79 └─ elements: [
80 Column (type: "column")
81 ├─ settings: { _column_size, ... }
82 └─ elements: [
83 Widget (type: "widget", widgetType: "heading")
84 └─ settings: { title, size, header_size, ... }
85 ]
86 ]
87```
88
89Key Elementor specifics:
90- **Widget types** are in the `widgetType` field (e.g., `heading`, `text-editor`, `image`, `button`)
91- **Responsive settings** use suffixes: `margin`, `margin_tablet`, `margin_mobile`
92- **CSS** is cached in `_elementor_css` post meta
93- **Page settings** in `_elementor_page_settings`
94- **Global widgets** reference a template via `templateID`
95
96Read Elementor content via `wordpress_extract_builder_content` with `builder=elementor`.
97
98## Target Builder: Breakdance
99
100Breakdance stores content in post meta. Elements follow a structured format with type, settings, and children.
101
102Key Breakdance specifics:
103- Elements have types like `EssentialElements\\Heading`, `EssentialElements\\Text`, `EssentialElements\\Image`
104- Section/Div structure for layouts (similar conceptual model to Elementor sections/columns)
105- Clean CSS output — Breakdance generates minimal, optimized CSS
106- Built-in WooCommerce support, form builder, and popup system
107- Responsive design uses breakpoint-specific settings within element properties
108
109Write Breakdance content via `wordpress_inject_builder_content` with `builder=breakdance`.
110
111## Execution Workflow
112
113### Phase 1: Pre-Migration Audit
114
1151. Verify Respira + MCP connection via `wordpress_get_site_context`. If unavailable, stop and show setup guidance.
1162. Confirm Elementor is active via `wordpress_list_plugins`.
1173. Confirm Breakdance is installed and active via `wordpress_list_plugins`.
1184. Scan all content for Elementor usage:
119 - `wordpress_list_pages` and `wordpress_list_posts`
120 - For each, check builder via `wordpress_get_builder_info`
1215. For each Elementor page, extract content via `wordpress_extract_builder_content` with `builder=elementor`
1226. Build an inventory:
123 - Total pages/posts using Elementor
124 - Widget types used (frequency count)
125 - Third-party addon widgets detected
126 - Pro widgets that need Breakdance Pro equivalents
127 - Global widgets and dynamic tags
128 - Complexity per page (simple/moderate/complex)
129
130### Phase 2: Migration Plan
131
132Present a migration plan:
133
134```
135## Elementor → Breakdance Migration Plan
136
137### Site Inventory
138- Total Elementor pages: X
139- Total widgets to convert: X
140- Auto-convertible: X (Y%)
141- Manual attention: X (Y%)
142
143### Widget Mapping Summary
144| Elementor Widget | Breakdance Element | Status |
145|-----------------|-------------------|--------|
146| heading | Heading | Auto |
147| text-editor | Text | Auto |
148| image | Image | Auto |
149| button | Button | Auto |
150| tabs | Tabs | Auto |
151| form | Form | Partial|
152| [addon widget] | — | Manual |
153
154### Page-by-Page Plan
1551. **[Page Title]** — X widgets, [complexity]
156 - Auto-convertible: X
157 - Needs attention: [details]
1582. ...
159
160### Migration Advantages
161- Breakdance produces cleaner CSS output
162- Better WooCommerce integration (if applicable)
163- Similar visual editing workflow — team adjustment is minimal
164```
165
166Ask for confirmation:
167> Ready to migrate? Your original Elementor pages remain untouched.
168> 1. Migrate all pages
169> 2. Migrate specific pages
170> 3. Start with a test page
171> 4. Just keep this plan
172
173### Phase 3: Page-by-Page Migration
174
175For each approved page:
176
1771. Read full Elementor content via `wordpress_extract_builder_content` with `builder=elementor`
1782. Walk the Elementor JSON tree and map each widget:
179 - Convert Section → Breakdance Section
180 - Convert Column → Breakdance Div (with flex layout)
181 - Convert each widget → appropriate Breakdance element
182 - Map typography, color, spacing, background, border settings
183 - Convert responsive suffixes to Breakdance breakpoint format
184 - Resolve global widgets to inline content
185 - Flag unmappable widgets with migration notes
1863. Generate valid Breakdance element structure
1874. Create a duplicate via `wordpress_create_page_duplicate` or `wordpress_create_post_duplicate`
1885. Write Breakdance content to the duplicate via `wordpress_inject_builder_content` with `builder=breakdance`
1896. Report status before moving to next page
190
191### Phase 4: Post-Migration Verification
192
1931. Summarize all migrations:
194 - Pages migrated, widgets converted, items flagged
1952. For each migrated page:
196 - Link to edit in Breakdance
197 - Flagged items list
198 - Settings that may need fine-tuning
1993. Post-migration checklist:
200 - [ ] Open each duplicate in Breakdance editor and verify layout
201 - [ ] Check responsive views (tablet, mobile)
202 - [ ] Verify images and media
203 - [ ] Test links and buttons
204 - [ ] Recreate flagged widgets manually
205 - [ ] Test forms and interactive elements
206 - [ ] Check Breakdance's CSS output for clean rendering
207 - [ ] Compare with Elementor original
208
209## Safety Model
210
211- Read-only analysis first — full content scan before any changes
212- Explicit user confirmation required before creating duplicates
213- Original Elementor pages are never modified or deleted
214- All migrated content goes to draft duplicates only
215- Never auto-publishes migrated pages
216- Creates a snapshot before migration begins (when available)
217- Provides clear rollback path (delete duplicates)
218
219## Honest Disclaimer
220
221This skill converts Elementor page content to Breakdance format and creates draft duplicates for review.
222
223It cannot:
224- Migrate third-party addon widgets automatically
225- Convert Elementor Pro dynamic tags to Breakdance dynamic data
226- Guarantee pixel-perfect visual match
227- Migrate theme builder templates or popups
228- Replace manual QA and visual review
229
230It can:
231- Convert 85-95% of standard Elementor widgets to Breakdance equivalents
232- Preserve all text content, images, links, and core styling
233- Take advantage of Breakdance's cleaner CSS output
234- Save days of manual rebuilding
235- Clearly flag everything that needs manual attention
236- Keep original pages safe throughout the process
237
238## Tooling
239
240**Core WordPress tools**
241- `wordpress_get_site_context`
242- `wordpress_list_plugins`
243- `wordpress_list_pages`
244- `wordpress_list_posts`
245- `wordpress_read_page`
246- `wordpress_read_post`
247- `wordpress_get_builder_info`
248- `wordpress_extract_builder_content`
249- `wordpress_inject_builder_content`
250- `wordpress_find_builder_targets`
251- `wordpress_create_page_duplicate`
252- `wordpress_create_post_duplicate`
253
254## Telemetry
255
256After run completion, send fire-and-forget usage tracking to:
257
258- `POST https://www.respira.press/api/skills/track-usage`
259
260Include:
261- `skill_slug = migrate-elementor-to-breakdance`
262- site/version context
263- duration and success
264- pages migrated, widgets converted, widgets flagged counts
265- tools used
266
267Never block user flow on telemetry failure.
268
269## Related Skills
270
271- WordPress Site DNA (understand site structure before migrating)
272- Internal Link Builder (verify internal links post-migration)
273- SEO & AEO Amplifier (verify SEO preservation post-migration)
274- Technical Debt Audit (clean up post-migration)
275
276---
277
278Built by Respira Team
279https://respira.press/skills/migrate-elementor-to-breakdance