Builderius – Landing Page Builder + Dynamic Templates

Description

Drag-and-drop page builder for WordPress website creators who want to build visually with professional results. Create landing pages, dynamic templates, and custom designs with clean code output. Visual building that doesn’t compromise on quality.

Why Choose Builderius

Tired of choosing between easy visual building and professional code quality? Builderius eliminates that compromise. Our page builder combines intuitive drag-and-drop functionality with clean, semantic HTML and CSS output that performs well and follows web standards. Unlike other builders that create bloated markup, Builderius generates lean code that loads fast and ranks well in search engines. You get the efficiency of visual building with the quality you’d expect from hand-coded websites.

Perfect for Landing Pages and Content Templates

Builderius excels at creating high-converting landing pages and templates that control how your content displays. Build standalone landing pages with precision and no limits, or create templates that automatically style your blog posts, pages, and archives with consistent design while pulling from WordPress content and custom fields.

Whether you’re building individual landing pages or creating templates that style hundreds of posts consistently, Builderius saves time while maintaining quality across your entire site.

Professional Features That Scale

  • Template System: Create templates that control how your posts, pages, and archives display. Design once and apply consistent styling to unlimited content, use built in header and footer components with the ability to customize through properties and conditions.
  • Clean Code Architecture: Every element generates semantic HTML with clean CSS. No shortcode bloat, no unnecessary wrapper divs, no inline styles cluttering your markup.
  • Built-in Staging Environment: Test changes safely before going live. Make updates in your staging environment, preview the results, then deploy when ready.
  • Dynamic Data Integration: Connect to Advanced Custom Fields, Meta Box, and WordPress queries visually. Display dynamic content without writing code.
  • Visual CSS Control: Style elements using visual controls that correspond directly to CSS properties. Access selectors and create CSS variables through the visual interface.

Free Version Capabilities

The free version provides everything needed for professional landing pages and basic template building:

  • Unlimited landing pages and content templates
  • Global header and footer components
  • Basic dynamic data (ACF and Meta Box simple fields)
  • WordPress main query integration for post loops
  • Built-in staging environment with Releases for import and export between websites
  • Clean code output with visual CSS controls
  • Responsive design tools

Screenshots

FAQ

Do I need coding skills to use Builderius?

No coding required. Builderius provides visual tools for everything, while teaching web standards through its interface. You’ll understand HTML and CSS better by using it, but you don’t need to know them to start.

How does Builderius compare to Elementor or other page builders?

Builderius focuses on code quality and professional workflows. While other builders prioritize ease of use above all else, we provide visual building that maintains web standards and generates clean markup. You get professional results without sacrificing efficiency.

Will Builderius slow down my website?

Builderius websites load faster than most page builder sites because we generate clean, minimal code. No bloated CSS, no unnecessary JavaScript, no shortcode overhead. Just semantic HTML and efficient stylesheets.

Is my site secure with Builderius?

Yes. Builderius passed a rigorous security audit when selected for the Ukrainian Territorial Defense website (Ukrainian Military). Our architecture prevents common security vulnerabilities found in other builders by using a customized GraphQL system that blocks potentially harmful functions and prevents unauthorized database modifications. Additionally, Builderius restricts builder access to WordPress administrators only – we don’t just hide the interface, we prevent it from running for users without proper permissions.

Can I migrate from other page builders?

Yes. Builderius works alongside other builders during transition periods. You can gradually rebuild pages and templates at your own pace without breaking existing content.

Is the free version limited or a trial?

The free version is fully functional for landing pages and basic template building. It’s not a trial or demo – it’s a complete solution for many use cases. Pro features add advanced capabilities for complex sites and agency workflows.

What themes work with Builderius?

Builderius works with any properly coded WordPress theme. For maximum flexibility, we recommend minimal themes, but Builderius functions with any theme that follows WordPress standards.

Can I use Builderius with the Advanced Custom Fields Plugin?

Certainly, the pro version works with all ACF fields. The free version of the builder works with simple fields only, including:

  • text
  • textarea
  • number
  • range
  • email
  • url
  • password
  • image
  • file
  • wysiwyg editor
  • select
  • checkbox
  • radio
  • button
  • true/false
  • link
  • page link

Can I use Builderius with the Meta Box Plugin?

Certainly, the pro version works with all Meta Box fields. The free version of the builder works with simple fields only, including:

  • button
  • checkbox
  • checkbox list
  • email
  • hidden
  • number
  • password
  • radio
  • range
  • select
  • select advanced
  • text
  • textarea
  • url
  • autocomplete
  • color picker
  • Google Maps
  • image select
  • oEmbed
  • slider
  • time
  • wysiwyg
  • file
  • file advanced
  • file input
  • image
  • image advanced
  • video

Reviews

October 23, 2025
It's just amazing! If you're tired of bloated builders that dictate their rules and generate tons of “junk” code, you should definitely check it out. It gives you complete control over the structure and CSS (finally, you can work with CSS Variables properly!). It outputs the cleanest HTML. Seriously, for me, it's probably one of the best and most flexible builders on WordPress right now. It will especially appeal to those who value clean code and real flexibility.
October 21, 2025
I was really surprised. Builders can really do great things without having to pay extra for plugins to make something as simple as a card. Congratulations, great product.
October 20, 2025
Builderius is pretty powerful and creates a clean HTML output. I also love the releases feature which basically allows you to create branches of your website for good staging and version control. You also have the freedom to add any CSS property of your choice.
March 27, 2025
Builderius is one of the most innovative page builders ever developed for WordPress. With its React-based architecture, it offers a lightning-fast and modern experience. While it provides advanced flexibility for developers, it also features an intuitive and beginner-friendly interface that’s easy to learn. Real-time editing, the ability to work directly with data structures, and clean code output make it a perfect tool for both technical users and designers. Its lightweight nature puts minimal load on your site, which is a huge advantage for SEO as well. The passion and vision of the development team are truly inspiring — this isn’t just a page builder, it’s a professional-grade development tool. Highly recommended for users of all levels!
March 20, 2025
I have been trying out Builderius for two weeks. It is impressive, encourages best practice in web development and outputs clean code. It offers amazing functionality for a free plugin. I have subscribed to the new pro version (released later this year) which is also amazing value for a Life Time Deal.
Read all 16 reviews

Contributors & Developers

“Builderius – Landing Page Builder + Dynamic Templates” is open source software. The following people have contributed to this plugin.

Contributors

“Builderius – Landing Page Builder + Dynamic Templates” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Builderius – Landing Page Builder + Dynamic Templates” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.5-rc1

BUILDERIUS

  • Feature: Builderius is now one plugin per tier — Community, Website, Professional or Studio — instead of a free plugin and a paid one installed together. A site on the old pair keeps working: the new plugin runs beside the one it replaces, and activating it turns the old ones off for you. Your licence key, templates and settings carry across. Because the plugin’s name changes, that one switch is a download from your account; everything after it updates normally
  • Feature: A licence that covers a different tier offers that plugin as an ordinary update, and the switch changes the plugin over without the site losing its builder along the way. A licence is only ever offered the edition it covers
  • Feature: Preview as — look at the canvas, and the front end, as any user on the site or as a logged-out visitor, without logging out yourself. Rendering conditions, data variables and the templates that apply all follow the previewed user, and a banner says who you are looking at. Off until you switch it on, and a previewed page can run forms and actions as that user only if you allow it
  • Feature: Translate, on the content editor’s context menu, and translate() registered under its WordPress name __() so a string can be translated where it is written
  • Feature: sort, rsort and usort in the expression language, alongside is_numeric and is_json — all four were documented and none were registered. Both engines, the canvas’s and the page’s, are now held to one corpus so they cannot drift apart again
  • Feature: Renaming a class renames it everywhere — its rules in every scope, and the class on every element carrying it, across every template and component. Ones you have not opened are carried along at Save. The rename offers “everywhere” or “this selector only”, and renaming onto a name that already exists is refused rather than quietly merging the two
  • Feature: Deleting a class now takes the class off every element as well as removing its rules. It asks before it acts, and says how far the deletion reaches in the scope you are in
  • Feature: Import Images, a new option on HTML import. Every image the markup points at is copied into the media library and the page re-pointed at the copies, so an imported design stops depending on the site it came from. The download runs in the background with progress, an image already imported is reused rather than fetched again, and one that cannot be fetched keeps its original address and is reported
  • Feature: Allow Inline Scripting, a new option on HTML import, off by default. With it on, an imported page keeps behaving as it did: inline handlers — onclick and the rest — become JavaScript snippets you can see and edit in the JS panel, javascript: links and <iframe srcdoc> are kept, and imported iframes are left unsandboxed. With it off, none of that imported code can run
  • Feature: The %local% / %selector% badge is a split control — the label inserts the plain selector, the caret offers :hover, ::before and ::after

  • Fix: Dynamic data could render blank across a whole site, leaving a fatal in the log about Type::getNullableType(). A template’s data variable query and a global one were being merged every time a page rendered, and the merge could produce a document nobody wrote: two different fields answering to one response key, a variable used with nothing defining it, a fragment nothing spreads — and one invalid document costs the page every value in it. Queries are no longer merged at render time — a template’s own data variable wins, the way it always has in components

  • Fix: A wp data variable that had reached Global Settings is folded back into the templates and components that should have held it, once, on upgrade. Nobody could create one by hand; it got there when an added, pasted or imported element’s config was written to global settings. History is rewritten too, not only what is active, so restoring an older commit or release cannot bring one back
  • Fix: A data variable named wp can no longer be created through the API. The name is reserved, and the builder maintains that variable itself from the bindings you make
  • Fix: A default of 0 in a query — query ($limit: Int = 0) — was dropped when the query was printed, and a 0 inside a list value went with it, because the bundled GraphQL library read “0” as false
  • Updated: The bundled GraphQL library no longer emits deprecation notices on PHP 8.2 to 8.4

  • Fix: Text that an imported page displayed as characters could come back as markup the browser runs. &lt;img onerror=...&gt; in the source arrived as a real tag, because the importer stored text decoded and the renderer prints it as HTML. Imported text is now re-encoded, so what the original showed as text the import shows as text

  • Fix: Imported content containing [[, [%, [# or [^ was compiled as template syntax rather than printed — a wiki link, a regex or a footnote marker could take the whole template down with a syntax error. Those sequences are now neutralised on import, and still display as written
  • Fix: Imported markup carried its scripts into the page. Inline handlers are now either rehomed as snippets or dropped, depending on Allow Inline Scripting, and srcdoc, object data and javascript: URLs are handled the same way. An imported iframe pointing somewhere else is sandboxed; one pointing at your own site is not, since sandboxing it would break it
  • Fix: Text inside a template could call PHP functions. Twig’s sandbox let a string like system through on seven filters, because a string is a valid callable in PHP
  • Fix: Relative URLs in an imported page no longer change meaning. They are resolved against the page they came from, <base> included
  • Fix: A <template> element’s contents were dropped on import, and everything below 255 levels of nesting with them
  • Fix: <textarea> content and preformatted whitespace survive an import, instead of being collapsed
  • Fix: Microdata and document attributes — itemscope, itemprop, lang, dir and the rest — are kept rather than stripped
  • Fix: A <style> block’s media condition is kept, and only the @import rules that are really there are lifted out of it
  • Fix: An inline style could escape its own rule, and an inline stylesheet could end its own <style> element
  • Fix: Framework attributes — Alpine’s x-on:, Vue’s @click and :class — failed the whole import rather than being carried through
  • Fix: One unsafe SVG no longer takes the whole template with it, and ids that HTML allows but the builder does not are renamed instead of refused
  • Fix: A page full of icons could not be saved, and afterwards could not be opened. focusable and mask-type were missing from the SVG allow-list, and the rule refuses a value it cannot reproduce exactly — so an attribute missing from the list is one nobody can save. Reading a setting runs the same rule, so a config holding one bad icon read as corrupted rather than rejected. The message now says what was dropped and from which element, instead of printing the whole SVG
  • Fix: Imported pages ran none of their scripts. The canvas is painted after the page’s own document loads, so an inline script found nothing and bailed, and nothing pushed the preview after an import
  • Fix: Valid scripts were skipped or deduplicated away, and every imported script was named “Imported script”. They are now named from their own content, and two snippets can no longer share one asset file
  • Fix: Two inline modules gained a space between them, and three standard HTML attributes were removed by the compiler
  • Fix: HTML is parsed with an HTML5 parser where the server has one, so what you see imported is what a browser would have built
  • Fix: A commit that cannot be compiled no longer becomes the active one

  • Fix: Undo of a class rename or delete put the stylesheet back and left every element on the old class, so the rule stopped matching and both names sat on screen at once. Undo and redo now move the stylesheet, the markup, the components the canvas draws from and every other open tab together — and return to the tab the change was made in

  • Fix: The selector named in the panel could go on pointing at a name that no longer existed after an undo, and come back the moment the element was clicked again
  • Fix: Renaming a class missed it in raw class attributes and inside Html Code and SVG Code element content. Those were reported as references that could not be updated instead of being rewritten
  • Fix: The warning on Delete selector opened across the row it was warning about
  • Fix: The end of a long stylesheet could not be scrolled to in the CSS code editor. The room for the floating badges was made by moving the editor down rather than making it shorter, so its last lines were drawn below the panel and never shown
  • Fix: The breakpoints list was painted over by the settings field beneath it. Its own stacking order only ranked it inside the selector field, and the fields below carried the same one
  • Fix: On the row under the cursor, the two action buttons were indistinguishable — a hovered row takes the same colour the live button is filled with, so the fill vanished into it and holding Alt appeared to do nothing. The live button now steps up a shade
  • Fix: Committing a create row with Alt held attached the class to the element anyway, contradicting both the modifier and the row’s own label
  • Fix: Opening two code editors on selectors whose names differ only by case showed the same content in both
  • Fix: Opening a settings category scrolled the panel past the heading just clicked — Backgrounds most visibly — and Collapse all left one category open
  • Fix: The breakpoints switcher and its list had no pointer cursor, and the list had no hover state, in the selectors and variables panels
  • Fix: The canvas resize outline appeared whenever the pointer was anywhere over the canvas. It now appears over the drag line only, as the sidebar lines already did
  • Fix: The “New CSS variable” tooltip opened to the left of its button, over the input, hiding the name you had just typed. It now opens above
  • Fix: Two translation calls had no wp.i18n binding in scope. One took the whole selectors panel down; the other fired only when a session expired, so the notice saying so could not render
  • Fix: Global/Template sat further in than every other row in the CSS code mode panel
  • Fix: A fatal error when registering any library asset, from a version field that was never set
  • Fix: Pipeline builds shipped a half-scoped Twig, so every admin page rendered through it died with “cache might be corrupted”

  • Fix: After extracting a release or installing a starter, the builder showed canvas tabs for entities that no longer existed — and closing them and reloading brought them straight back. Where the new content had the same pages under new ids, they appeared twice

  • Fix: With more than one builder window open, a window still holding the replaced site could pass its global settings to a window that had loaded the new ones, so a previous release’s styles turned up in the canvas. Windows looking at different site content no longer talk to each other at all
  • Fix: Restoring a commit group left the undo history from before it in place, so one undo could put back content the restore had just replaced. It also left the generated assets the restore invalidated unrebuilt
  • Fix: Branches and commits belonging to entities a release extract or starter install replaced were kept forever. They are kept on purpose while a commit group can still restore them, but nothing removed them once those groups were dropped, so every extract added another site’s worth. One development site had built up 492 of them against 13 live entities. They are now collected once the last group referencing them is gone, and existing sites are cleaned up on upgrade
  • Fix: An import or starter install that stopped part-way — a timeout, a fatal, a closed tab — kept the one job slot forever, and every later one refused with a message naming nothing. A job that has stopped advancing now loses the slot, a refusal says what is holding it, and jobs that cannot conflict run at the same time

  • Updated: A builder left open while a release was extracted or a starter installed now says so and asks to be reloaded. It looked entirely normal before, while everything in it described a site that no longer existed — and saving from it would have put that content back over the new

  • Updated: Renaming happens in a popover built to its design, and the selector field has its clear button back
  • Updated: The selector field is now one box on every surface it appears — the breakpoints button, the input area and the clear button divided by hairlines — in the element sidebar, the selectors panel and the CSS variables panel. Two of them were building the same field out of two half-bordered boxes, which had drifted apart by 2px
  • Updated: On a selector row, the filled action button is the one the row will actually commit to; holding Alt moves it to the “style only” button, and says what it will do — “Style “.x” selector” rather than “Add “.x” to element”
  • Updated: The breakpoints switcher is hidden in CSS code mode. It scoped nothing there — the editor holds the selector’s CSS whole, media queries included — so it only looked as though the code below had narrowed to that breakpoint. The Breakpoints inserter, which writes the media query, is unchanged
  • Updated: Clicking an element opens its Styles tab; Alt/Option-click opens Content
  • Updated: Styling panel categories open and close independently — clicking an open one closes it, and opening one no longer collapses another
  • Updated: Breakpoint icons in the list all sit in the same 26px box, so the names line up
  • Updated: Script Manager and the rest of the bottom panel take the surface colour from the design; the chosen option in a card list is the one that looks chosen
  • Updated: Script Manager settings sit on a fixed four-column grid that keeps its shape whatever the library type
  • Updated: A new script starts inactive, and its menu offers Rename and Move to template/global
  • Updated: Attribute rows collapse, one open at a time
  • Updated: Code shortcut badges (%local%, %selector%, Breakpoints) are larger and legible, and short selector chips are wide enough to click while their actions button is showing
  • Tweak: Inserter badges take the background, radius and padding the design specifies

  • Fix: A release moved to another site lost the page it pointed at. A template’s location rules were rebuilt from the page id alone, so user_logged_in and everything else around it was dropped — seven members-only pages arrived public — and a post_id inside a module’s own rendering conditions was left naming a page on the site it came from, so those blocks rendered nowhere. Both now travel by a {type, slug} reference the destination resolves, and anything that cannot be resolved is left alone and reported rather than guessed at

  • Fix: Deleting a release left its sub-modules behind, orphaned, because the listener that cleans them up was in a file the bundle never loaded. Existing orphans are collected on upgrade
  • Fix: A form submission that is refused says which refusal it was — a page open long enough for its nonce to expire asks you to reload, rather than saying you are not allowed — and one address can send five messages per form per minute
  • Fix: A JavaScript snippet runs again on every canvas repaint and takes its listeners off whatever it put them on, including document and window. Page scripts are told when the canvas tree is really there, instead of being announced at two thirds of it and bailing
  • Fix: An interactive collection shows its rows in the builder, and newly drawn elements are given the state the store already holds
  • Fix: Reading a property that is not there answers null rather than taking the page down, and a dotted index is read as an index instead of a name
  • Fix: A font or library file that is simply not there is reported as that, not as a download that failed, and both can be fetched over plain http
  • Fix: An uppercase <SVG> root is read from the source rather than from the sanitiser, and a value that is not a single <svg> is refused instead of being thrown over
  • Fix: A tab edited while it was in the background is still unsaved, and the question is put to the tab being inspected rather than the one in front
  • Updated: An ID is an attribute row like any other — typing one in the selectors panel offers to set it on the element, deleting that selector takes the ID off with its rule, and letting go of it stops the panel pointing at a name nothing wears
  • Updated: A site keeps a capped number of save points — 50 by default, 200 at most. They accumulated per save and nothing ever removed them; one staging copy had built up 221 of them holding 10.7MB of configs. Only the save point is dropped, never a commit

BUILDERIUS PRO

  • Feature: The HTML import ability takes an option to import the page’s images into the media library, matching the Import Images option in the builder
  • Fix: A fatal error when registering any library asset, from a version field that was never set — the same listener is shared by ten asset types
  • Fix: The notice in Script Manager was pinned to 296px and inset from its column, so it stopped short of the panel and wrapped its text early
  • Feature: The Preview as picker sits in the admin bar on the front end as well as in the builder, pins the user being previewed, and reaches the windows already open so every builder shows the same person
  • Fix: A previewed page could not submit a Builderius form. Every smart form posts to a route whose name begins with the entity endpoint’s, and the guard that keeps Builderius’s own routes as the developer’s was matching on that text — so a payout request arrived signed by whoever was previewing rather than by the customer the page was rendered for
  • Fix: A preview left running overnight, or across a re-login, quietly stopped being honoured while the chip went on naming the customer. The cookie is re-stamped with the current page’s nonce, and marked Secure wherever the page can honour it
  • Fix: The act-as header was added to requests leaving the site, which the receiving server rejects — a checkout library’s call failed exactly that way. It is added only to requests to this site now, while a cross-origin action is still stopped when previewing as someone is switched off

1.4-beta

BUILDERIUS

  • Feature: Close a builder tab with a middle click
  • Feature: Tab context menu with Close, Close Other Tabs and Close All Tabs
  • Updated: Publishing now publishes the whole commit group instead of autopublishing per commit
  • Updated: A save that skips a document now reports which documents it skipped and why, instead of reporting success
  • Fix: Wrong post data on the front end. A template’s query loop borrowed WordPress’s current post and never handed it back, so anything reading it afterwards read whichever post the loop finished on: SEO plugins writing schema and Open Graph published/modified times, and get_previous_post()/get_next_post() in a template. The loop can run while the page head is being built, which is why the wrong post could differ between requests for the same URL
  • Fix: Reload Canvas button did nothing at all
  • Fix: Components did not appear in the editor after turning a group of elements into a component, until the page was refreshed
  • Fix: Choosing a different post in the preview dropdown kept showing the previous one
  • Fix: The preview dropdown could show another template’s pages, or none of the current template’s, until the editor was refreshed
  • Fix: A save could be silently discarded and still report success, losing the work
  • Fix: A stale save is now decided from the stored configs rather than the client’s dirty flag
  • Fix: Component properties were parsed as template syntax, breaking the page on large properties and mangling accented characters
  • Fix: Backslashes in visibility conditions were not escaped, so a regex or path condition changed meaning or broke the page
  • Fix: Dynamic data was not resolved in component property overrides
  • Fix: Two scope errors that silently killed the post-save handler
  • Fix: Inline JS snippets set to the header produced no script tag at all. External and footer snippets were unaffected
  • Fix: Collection elements rendered with no children when their context attribute contained encoded characters
  • Fix: Date archive applicants, and archive and extended condition functions
  • Fix: Release descriptions lost their line breaks, storing a literal \n. A description containing a backslash or a Windows line ending produced invalid GraphQL and the release failed to create
  • Fix: Dynamic Data and JS editor panel styling were mixed up (BLDR-391)

BUILDERIUS PRO

  • Fix: A fatal error could take down wp-admin during WordPress’s routine plugin update check, dropping the site into recovery mode. The licence server’s reply was counted without checking it had parsed: any answer that is not JSON — a firewall challenge page, a captive portal, an empty or truncated body — decodes to null, and counting null is fatal on PHP 8 rather than the warning it was on PHP 7. The same unguarded count sat in the plugin information modal and the update downloader
  • Fix: Static export shipped absolute paths inside the ZIP
  • Fix: Static site generation wizard and job handling
  • Feature: Builderius reference documents (GraphQL schema, modules, CSS framework) are now served by the plugin, so every AI surface reads one authoritative copy instead of guessing field names
  • Updated: Sense AI settings screen redesigned. One switch for the whole surface, a mode each for live editing and abilities, and the connection details written for the AI client you actually use
  • Updated: The connect step now prints one configuration block for the whole screen instead of one per mode. With both modes on it previously printed two complete files, and pasting both produced a file with two mcpServers keys — where the second silently replaces the first and one of the two servers is lost without any error
  • Updated: The list of published abilities is collapsed behind a summary, so the connection details are not buried under seventy rows
  • Updated: The AI client list offers ChatGPT (Codex) rather than Codex. OpenAI folded Codex into the ChatGPT desktop app, so nobody has an application by the old name to look for
  • Updated: The connector is invoked as @latest. It was pinned to the 2.x line, which does not exist on npm, so every generated config failed with “No matching version found”
  • Updated: A site served over local HTTPS now gets NODE_TLS_REJECT_UNAUTHORIZED in the abilities server’s own environment, and the screen says so. Node ignores the operating system’s trust store, so a development certificate every browser on the machine accepts is still refused there. Only for names that cannot resolve anywhere but this machine — .test, .localhost, .local, .ddev.site and loopback
  • Updated: Abilities are now the AI surface. The plugin no longer installs or runs a local terminal server, the connector owns that
  • Fix: The abilities configuration named the site’s address where the MCP server’s address was wanted. A bare address sends the proxy to the route of Automattic’s deprecated wordpress-mcp plugin, so the config 404’d against a site that was publishing its abilities perfectly well. It now carries the endpoint the site reports
  • Fix: Install MCP server did nothing at all. The screen was never given the REST root or a nonce, so the request went to /wp-json/ — which on a site with plain permalinks is not the REST API but the home page, answering 200 with HTML. Saving settings and creating the application password failed the same way and for the same reason
  • Fix: A plugin install that failed could still report success, because Plugin_Upgrader returns true while leaving the error on the upgrader skin
  • Fix: The generated MCP config named a binary that is not present on customer machines. It now runs the connector through npx
  • Fix: The Sense AI credential badge reported whether Builderius minted the application password rather than whether the builder can authenticate, so a working setup was shown as unpaired
  • Fix: open_tab reported success before the tab had finished activating, so an agent could write into the wrong tab

SENSE AI CONNECTOR — npx @builderius/sense-ai 2.0.0

  • First release of the 2.x connector. It is now an MCP server you point your own AI client at, rather than a terminal and chat interface of its own. The plugin no longer installs or runs it
  • Local development certificates are accepted on names that can only be this machine — .test, .localhost, .local, .ddev.site and loopback — so live editing works on a local HTTPS site with nothing to configure. Node does not read the operating system trust store, and the failure it produced was silent: the token exchange fell back to a credential the builder page could not match, and every command reported that no builder page was connected while one plainly was
  • A command naming a document is routed to whichever open builder page holds it, so a template in a background tab is still reachable. With several pages open and no focus reported, a command is refused with the ids to retry with rather than run against the wrong one

1.3.6-beta

  • Feature: History with undo & redo. Changes are tracked together with their context, and undo opens the page, template or component, and the editor panel, where the change was made
  • Feature: Commits and preview. Global save states are stored in the development branch, and Preview mode lets you inspect and navigate any commit state without reverting to it
  • Feature: Change detection per commit, so changes can be found and inspected before reverting
  • Feature: Persistent builder tabs. Tabs stay open after closing the site or the browser, switching between them is instant, and switching no longer fires a save you did not initiate
  • Feature: WordPress admin bar link to open the currently active template or page in Builderius
  • Feature: Rename elements inside the navigator by double click or right click
  • Feature: Change the HTML tag of an element from any element tab (Style & Content)
  • Feature: Navigator context menu additions: Rename, Auto-BEM, Wrap in, Expand Children
  • Feature: Reorder elements in the navigator by drag and drop
  • Feature: Canvas resizing by drag, independent of sidebar size, with breakpoints updating accordingly
  • Updated: CSS scope toggles now visible in the style panel under the class input, with classes and selectors colored by scope, making it clear where styles come from
  • Updated: Styling panel now shows added classes and any selectors influencing the element, including parent based and element based selectors
  • Updated: %local% selector is now always visible in all modes
  • Fix: Template scope CSS now shows only in template scope, not in global
  • Fix: Release creation date bug that caused issues for static site generation

1.3.5-beta

  • Fix: Broken whole dynamic tags because of rendering condition based on post meta
  • Fix: Loosing first character while typing in textareas and inputs

  • Fix: Critical PHP error when saving component with certain conditions

  • Added: Foundation for Static Site Generation functionality in Builderius PRO.

1.3.4-beta

  • Fix: Critical PHP error when saving component with certain conditions
  • Added: Foundation for Static Site Generation functionality in Builderius PRO.

1.3.3-beta

  • Fix: Critical PHP error when saving templates with certain conditions

1.3.2-beta

  • Fix: CSS load order now consistent between builder mode and frontend (Global Components Template)
  • Fix: CSS generation spaces clearing bug that caused selector logic to break on frontend
  • Fix: Starter site theme toggle now works regardless of browser dark/light preference

1.3.1-beta

  • Added: New “Architecture Studio” Starter
  • Added: Possibility to include WP data in Builderius release export

1.3-beta

  • Fix: Preview zoom incorrectly triggering breakpoint switch when manually entering width value
  • Fix: Site logo not switching correctly between dark and light mode variants
  • Fix: Social icons not switching correctly between dark and light mode variants
  • Updated: Supporting changes for Pro 1.3-beta compatibility

1.2.1-beta

  • Fix: JS caching by browser causing stale assets after update

1.2-beta

  • Updated: Supporting changes for Pro 1.2-beta compatibility

1.1.9-beta

  • Feature: Direct canvas selection of collection child elements in complex nested layouts
  • Updated: Flexbox display settings …