FvRE v3.1 — Per-builder mapper results

The v3.1 converter now knows about Elementor, Bricks, Divi, Gutenberg, and Spectra (Ultimate Addons for Gutenberg). Each builder has its own block primitives — different class prefixes, different widget names. The mapper extracts the widget type from the rendered HTML and converts it to an FVS block.

Builders supported (v3.1)

BuilderBlock prefixesCount
Elementor.elementor-widget-{name}, data-widget_type42 widgets
+ Essential Addons.eael-{name}39 widgets
+ Premium Addons.premium-addon-{name}33 widgets
Bricks.brxe-{name}37 elements
Divi.et_pb_{name}51 modules
Gutenberg (core).wp-block-{name}49 blocks
+ Spectra/UAGB.wp-block-uagb-{name}, .uagb-{name}49 blocks

Total: 300+ widget types across 5 builders + 2 addons.

Test results — real sites

SiteBuilderTotal blocksHigh-confidence% high
WPAstra.com Astra + Spectra (UAGB) 414 170 41%
ElegantThemes.com WordPress + Extra 76 0 0%

WPAstra breakdown (170 high-confidence blocks)

Source widgetCount→ FVS block
wp-block-uagb-container80rich-text/container
wp-block-uagb-info-box20card-grid/info
wp-block-uagb-image20image/single
wp-block-button14button/single
wp-block-uagb-advanced-heading9rich-text/text-heading
wp-block-uagb-counter__title7rich-text/counter
wp-block-uagb-buttons6button/group
wp-block-uagb-slider-child5carousel/item
wp-block-uagb-tabs-child4tabs/tabbed
wp-block-uagb-image-gallery3image-gallery/grid

ElegantThemes breakdown (0 high-confidence, all role-based)

The scanner misidentified this as Squarespace (it's actually WordPress + Extra). The Extra theme is registered in the theme classifier but the converter doesn't know what to do with it — it falls back to role-based mapping for all blocks. Future: add an "extra" / "divi" / "elegant-themes" mapper.

How the mapper decides which builder to use

  1. Look at the recipe's classification.theme.builder_guess (most accurate)
  2. If the theme is a Gutenberg-native theme (Blocksy, GeneratePress, Astra, Flatsome, Hello-Elementor), prefer Gutenberg mapper (because the page may not use Elementor even if it's installed)
  3. Fall back to theme_guess (Gutenberg for known Gutenberg themes)

Why the high-confidence count varies

Two main reasons a block doesn't get high-confidence mapping:

  1. The class prefix isn't in our mapper. The DOM has a class we don't know about. We fall back to the role-based guess (confidence 0.5).
  2. The block is rendered as plain HTML without builder-specific classes. Many "background image" or "spacer" elements are just <div> with no widget class. The scanner sees a div, the mapper says "rich-text".

What v3.1 can do now (per-builder mappers)

What's next

  1. Map the remaining common builders (Oxygen, Beaver Builder, WPBakery, Flatsome, Avada)
  2. Wire the per-builder mappers into v3.2 CMS (so the editor knows what block type to render)
  3. Build the multi-site dashboard (v3.3)

← back to v3 design · ← back to index