WPBakery fix
Why Is [vc_row] Showing on My Page? WPBakery Shortcodes as Text
A WPBakery page is stored as text: square-bracket tags wrapped around your words. Something has to translate those tags on the way to the browser, and when it does not, visitors see the brackets. Which tags show, and on which part of the site, narrows the cause to one of five.
- Passjs_composer pluginActive
- FailTheme core pluginInactive
- WarnTheme-named elements14 unrendered
- FailExcerpts and searchRaw tags
- WarnRows nested in rows2 pages
- PassBackground-loaded contentRenders
What you are seeing
- Every page shows [vc_row] and [vc_column] around the text
- The layout is fine, but a few tags named after your theme print as text
- Pages look right while search results and blog excerpts show brackets
- Content loaded by a popup, a filter or a load-more button arrives as raw tags
- One row on one page prints its tags and the rest of the page renders
Why it happens on WPBakery
Most common first.
- 1
Nothing is registered to read the tags
WPBakery's plugin, js_composer, registers every vc_ shortcode when it loads. If it is deactivated, deleted or paused by WordPress after a fatal error, the tags have no translator and print as written, on every page at once. This is the wholesale version of the problem, and the rest of this list covers the partial ones.
- 2
The theme's companion plugin is off
Themes that bundle WPBakery add their own elements, and they usually register them from a separate core or extensions plugin. Deactivate that plugin, or switch themes, and the standard rows and columns keep working while every theme-made element prints its tag. A page that is mostly fine with a few stray brackets is this.
- 3
The content is being shown without being processed
Shortcodes are translated when a page's content passes through WordPress's content filter. Excerpts, search results, related-post boxes and some SEO descriptions take the raw text instead. The page itself renders, and the summary of it elsewhere shows brackets.
- 4
Content fetched in the background
WPBakery registers its elements for ordinary page loads. Content requested by script, such as a quick-view window, an infinite-scroll batch or a filterable portfolio, can be assembled before those elements are registered. The same post renders at its own address and arrives as tags through the popup.
- 5
Tags nested in a way WordPress cannot parse
WordPress's shortcode parser cannot place a shortcode inside another of the same name. That is why WPBakery uses vc_row_inner for a row within a row. Paste a full row inside another in the text view, drop a closing tag or let the block editor split the content into separate blocks, and the inner tags print as text.
How to fix it, in order
Least invasive first. Stop at the step that fixes it.
- 1
Note exactly which tags appear, and where
Before changing anything, view the affected pages in a private window and write down the tag names. All vc_ tags on every page means the builder is not running. Only theme-named tags means the theme's plugin. Brackets only in excerpts, search or popups means the content is being used unprocessed.
- 2
Check both plugins on the Plugins screen
Look for WPBakery Page Builder and for a plugin named after your theme, often labeled core, extensions or addons. Activate whichever is inactive. If WordPress emailed about a plugin it paused, read that message before reactivating, because the error behind the pause will return.
- 3
Repair the nesting on the affected page
Open the page in the backend editor and switch to classic mode to see the raw tags. Count the opening and closing pairs around the stray text. A row inside a row should be vc_row_inner, and a column inside it vc_column_inner. Correct the pair, update and reload.
- 4
Keep the block editor away from builder pages
Current versions include an option under WPBakery Page Builder, General Settings to disable the Gutenberg editor. If builder pages have been opened and converted to blocks, restore the last good version from the page's revisions, then switch that option on.
- 5
Give excerpts and search results clean text
For posts whose summaries show brackets, write a manual excerpt in the post's Excerpt field, which WordPress uses in preference to the raw content. If the theme's search or blog template prints content directly, that template needs a small change in a child theme to strip or process the shortcodes.
- 6
Fix background-loaded content at the source
If brackets appear only in popups, filters or load-more results, the component making the request has to ask WPBakery to register its elements first. That is a developer change in the theme or the plugin responsible. Until it is made, the quickest workaround is to keep builder layouts out of the content that loads that way.
Keep it from coming back
- Before switching themes, list the theme-named elements in use and replace them with standard ones
- Edit builder pages in the builder, not in the block editor or the Text tab
- Write manual excerpts for posts built with the builder
- Search the database for [vc_ after any migration, before WPBakery is removed
The permanent fix
A faster Next.js build, with a CMS made for your business
Stray brackets show how these pages are kept: in a private markup language inside the content field. If tags keep surfacing in new places, in search results, in feeds, in a popup someone added last month, the site is leaking its storage format wherever a plugin reads content directly. A Next.js build keeps content as plain structured fields in a custom CMS and renders it to static pages, so there is no markup language in the middle to leak.
| On WPBakery today | On Next.js with a custom CMS | |
|---|---|---|
| What you keep updated | WordPress, the theme, its builder and every bundled plugin, all in step | Nothing on a schedule. There is no theme or plugin stack to fall out of step |
| How a page is served | Built from the database on each visit, through the theme and its builder | Built ahead of time and served as finished files from servers near the visitor |
| How you edit it | A general-purpose builder with every option the theme ships | A CMS built around what your business actually changes: services, prices, photos, posts |
| What can break it | An update to any one of those parts, or a license that lapses | A change someone makes on purpose, tested before it goes live |
Your content, your addresses and your rankings come with you: every page is moved, every old address is redirected, and you get a login to an editor that only shows what you need. A repair is still the right call for many sites, and we will say so when it is.
Want this fixed on your WPBakery site?
Tell us what you are seeing. We look at the site, tell you plainly what is wrong and what it takes, and quote a fixed price before any work starts.
Which of these sounds like you? (pick any)
Frequently asked
The working ones belong to WPBakery and the printed ones belong to your theme. Theme-made elements are registered by the theme or its companion plugin, and if that code is inactive or gone, only its tags lose their translator. Reactivate the companion plugin, or replace those elements with standard ones.
Those places show an excerpt, and an automatic excerpt is cut from the raw content before any shortcode is processed. A manual excerpt or a hand-written SEO description replaces it. Google's snippet catches up after it next crawls the page.
You can, and the brackets will go, along with the layout they described and some of the content. Headings, buttons and images in WPBakery are often stored inside the tag itself, as an attribute, so deleting tags deletes them too. Fix the cause, or convert the page properly.
Yes, if the missing builder was the cause. The tags are still in the database, complete with their settings, and an active copy of the builder translates them again. Theme-made elements need the theme's own plugin back as well. Nothing has to be typed in again.
Keep reading
- ServiceFixing WordPress PluginsOne bad plugin can take your whole site down. We fix plugin conflicts, fatal errors, and security holes fast — and build custom plugins when the off-the-shelf ones fall short.
- ServiceDesign & Layout FixesOverlapping text and broken spacing tell a customer you do not sweat details. We fix the glitches so the site looks as competent as the business.