DOM Improvements Ahead! HTML Wrappers Removal from v3.0

We are always looking for new ways to improve the speed and performance of Elementor websites.

This has been a long time coming. Lately, we have been receiving feedback from our users about the large number of wrapper elements we include in the HTML output of the website builder. The feedback stated that many of the wrappers are not necessary, and they increase the size of web pages and harm performance.

The presence of these wrappers is due to the diverse use of Elementor, the ability to use these selectors in various ways to customize your site, and the omni-purpose of Elementor as a solution for creating advanced websites visually.

Removing wrapper elements from the DOM contributes to more simplified code output, better readability and less complexity. A smaller DOM contributes to increases in speed and performance.

** Warning: Breaking Changes **

We have wanted to address this issue for a while now, and Elementor 3.0 provided us with the perfect opportunity to do so. Elementor 3.0 will bring many changes to the way our users build websites with Elementor, and some of these changes, including the removal of several HTML wrappers from our code, are potentially breaking. This means that when you update the Elementor version in your website from 2.x (or even 1.x, for some very out of date sites) to Elementor 3.x, your website’s appearance and/or functionality could break.

Interested in the changes coming down the road? Read more here

The Wrappers Being Removed

Without further ado, here are the classes of the wrappers being removed from Elementor in Elementor 3.0:

.elementor-inner

Previously used under the main wrapper for each document type (e.g. header, post content, footer), a document’s markup in Elementor v2.9 and below looks like this:

<div data-elementor-type="wp-post" data-elementor-id="1234" class="elementor elementor-1234" data-elementor-settings="[]">
	<div class="elementor-inner">
		<div class="elementor-section-wrap">
			// Section Content
		</div>
	</div>
</div>

In Elementor 3.0+, it will look like this:

<div data-elementor-type="wp-post" data-elementor-id="1234" class="elementor elementor-1234" data-elementor-settings="[]">
	<div class="elementor-section-wrap">
		// Section Content
	</div>
</div>

.elementor-row and .elementor-column-wrap

.elementor-row was previously used inside sections. .elementor-column-wrap was previously used under the main wrapper for each column in Elementor.

A section’s markup in Elementor v2.9 and below looks like this:

<section class="elementor-element elementor-element-1234 elementor-section-boxed elementor-section-height-default elementor-section elementor-top-section" data-id="1234" data-element_type="section">
	<div class="elementor-container elementor-column-gap-default">
		<div class="elementor-row">
			<div class="elementor-element elementor-element-c5165a6 elementor-column elementor-col-100 elementor-top-column" data-id="c5165a6" data-element_type="column">
				<div class="elementor-column-wrap  elementor-element-populated">
					<div class="elementor-widget-wrap">
						// Widgets here
					</div>
				</div>
			</div>
		</div>
	</div>
</section>

In Elementor 3.0+, it will look like this:

<section class="elementor-element elementor-element-1234 elementor-section-boxed elementor-section-height-default elementor-section elementor-top-section" data-id="1234" data-element_type="section">
	<div class="elementor-container elementor-column-gap-default">
		<div class="elementor-element elementor-element-1a2b3c4 elementor-column elementor-col-100 elementor-top-column" data-id="1a2b3c4" data-element_type="column">
			<div class="elementor-widget-wrap">
				// Widgets here
			</div>
		</div>
	</div>
</section>

Why We Did It, and Why Now

As mentioned previously, we are always looking for new ways to improve the performance of Elementor websites, and by reducing the DOM that is being output to Elementor websites we are making one more step towards better performance.

We do our best at Elementor to address feedback coming from our community. The complaints about Elementor’s markup being unnecessarily bloated have always been on our radar, but since removing wrappers is a high-potential breaking change, we had to wait for a good opportunity to introduce it. 

Elementor 3.0 is a major release. We took the opportunity to introduce substantial changes and improvements to the way our users build websites using Elementor. Introducing breaking changes is something that is traditionally done only in major releases, so we took this opportunity to include the wrappers removal among the many features and improvements coming.

What to Do, How to Prepare

Website Builders, Add-on Developers

We highly recommend you go over your code and look for any uses of the wrapper classes mentioned above. If you use them anywhere, refactor your code to use different wrapper classes that aren’t being removed. 

If you have not registered as an Elementor Beta Tester in your Elementor sites, we recommend doing that for sites you want to test Elementor 3.0 on before it is released. You can register as an Elementor Beta Tester in any Elementor site by going to your admin dashboard, then going to Elementor > Tools > Version Control. At the bottom of the version control tab, choose “Enable” in the Beta Tester select box, submit your e-mail address, then click on “Save Changes”.

If you are not yet subscribed to our developer newsletter, we highly recommend subscribing via the subscription form in the footer below. When Elementor 3.0 beta is released, our mailing list will be notified.

Elementor Users

If you are an Elementor user, we highly recommend backing up your website’s files and database prior to upgrading to Elementor 3.x, and keeping them somewhere safe (we recommend downloading a copy of the backup to your computer, or saving a copy in a cloud drive service such as Dropbox, Google Drive, or Microsoft Onedrive).

It is also recommended that you test the upgrade process in a sandbox environment (test site) if you have one, and only upgrade your live site when you are sure you have taken all the steps to make sure that your website will look and function like it did before the upgrade.

Learn more about Elementor 3.0 by reading more about the upcoming changes here.

Liked This Article?

We have a lot more where that came from! Join 1,878,431 subscribers who stay ahead of the pack.
By entering your email, you agree to our Terms of Service and Privacy Policy.

About the Author

Shilo Eish Yemini
Shilo Eish Yemini
Shilo is Elementor’s Editor Product Manager. He loves innovative products, pays attention to the small details, and is passionate about solving puzzles.

Share on

Share on facebook
Share on google
Share on twitter
Share on linkedin

Comments

3 Responses

  1. This is a big step forward and will take the wind out of the sails of many critics of Elementor. Though I do expect a substantial number of changes to existing sites, simplifying the markup that Elementor produces is a step in the right direction.

  2. I believe if you remove unused CSS and JS you will get better results in improve performance
    as you can see in this screenshot Elementor generated 104 + 100 + 30 = 234KB unused CSS and JS
    screenshot:
    https://prnt.sc/t89ikj

Leave a Reply

Your email address will not be published. Required fields are marked *

Never miss an update
Subscribe to our developer’s newsletter for every latest update