When performance is important – and it should always be important – choosing the right WordPress theme is crucial. We tested eight of the most popular WordPress themes to determine which ones won’t hinder your website’s performance and which ones might. These themes are collectively installed on over 13 million websites.
There are a few things that make our testing different than others you may have come across:
- We don’t make any of these themes or earn any money from them. We’re just interested in the data (and getting some traffic to our blog would be nice).
- We paid for all of the premium licenses ourselves and didn’t communicate with the theme developers about our testing.
- Our winners are determined purely by performance, not subjective things like the page editing experience or user reviews.
- We don’t include grades or scores in our results because they don’t matter as much as the raw performance data (and each theme scores really well when tested on a fast server with a reasonable page design, anyway).
- We built the same test page with each theme to keep things comparable.
Themes tested
- Twenty Twenty-Four – This is the latest default WordPress theme, and it uses the built-in Gutenberg page builder.
- Hello Elementor – This is the stock theme for the Elementor page builder. We installed the Elementor plugin and built the test page with it.
- Astra – We used the free version of the theme with Gutenberg.
- Divi – We used the built-in page builder that comes with the theme.
- OceanWP – We used the free version of the theme with Gutenberg, and we didn’t install the Ocean Extra plugin.
- Avada – We used the built-in page builder that comes with the theme.
- GeneratePress – We used the free version of the theme with Gutenberg.
- Beaver Builder – We used the Beaver Builder page builder plugin with the Beaver Builder theme.
Methodology
Each site was built on a Lightning Base (affiliate link) server running PHP 8.3.6. No additional caching or optimization plugins were installed. We use Cloudflare for DNS but grey-clouded the test sites to keep variables to a minimum during testing.
We unified the headers and footers of each theme and created a single version of a test page using each theme to level the playing field.
In some cases, we had to remove sidebars or widgets to keep the page designs consistent. However, none of these steps would be difficult for a novice to replicate on their own site and would likely be done by most folks anyway.
If presented with options when installing a theme, we choose default settings unless they would make the testing unfair. For example, when installing Avada, we didn’t activate additional features like Forms and Off-Canvas, which are checked by default.
We used exactly the same text and images for each test page and optimized the images using the WebP format. The total size of the images we used was 509kb, but some themes reduced this further via automatic resizing. That includes a favicon, which we added to eliminate a 404 in test results.
We used GTMetrix to test each site using Chrome with a standard laptop resolution. All tests were run six times and averaged. The same GTMetrix server was used for each test, and they were all completed within about an hour on the same day.
Test Page Designs
We built a simple test page titled “2024: A Kitten Odyssey” and re-created it using each theme. Each page has four images and a good amount of text. Here’s what they looked like!
Performance Testing Results
TTFB – Time to First Byte
This is a good way to measure the performance of the server when using relatively lightweight pages like ours. We see really consistent numbers here, with the difference between the fastest and slowest theme being only 51ms. That’s effectively a wash, which just means the the server is handling all of these requests quickly and not bottlenecking anything.
Number of Requests
A request is an individual file, like a CSS or JS file, that is loaded in order to fully render the page. Generally speaking, having fewer page requests is better.
Fewest Requests: (Tie)GeneratePress & Twenty Twenty-Four
There is a huge gap between the winners and losers here. Elementor needs more than three times as many files as the winners to generate the same content, which is hard to justify. The free version of GeneratePress is a very minimalistic theme, similar to the default theme that comes with WordPress, Twenty Twenty-Four. At just nine requests, these themes didn’t require many files in order to generate our test page, but will that translate to lower overall page sizes and fast load times?
Page Sizes
The total size of a webpage can significantly affect the amount of time it takes to load. A larger page typically takes longer to load, when everything else is the same.
Lightest: Beaver Builder
Even though Elementor had more than three times as many files as GeneratePress and Twenty Twenty-Four, those didn’t add up to as much total file size (at least compared to Twenty Twenty-Four, which by default includes over 500kb of fonts for reasons that boggle the mind). While Beaver Builder needed 23 requests to generate our test page, those were very light files.
Load Speeds
Here’s where it all comes together. We know that the server is lightning fast and which themes are the lightest and have the fewest requests. How does that add up?
Performance Winner: GeneratePress
Coming in first for requests and second in overall page size has resulted in a win for GeneratePress! With the lowest average fully loaded and LCP (Largest Contentful Paint) times, it’s easy to see why this theme is so popular. Twenty Twenty-Four had the lowest FCP (First Contentful Paint), but GeneratePress wasn’t far behind in second, with Divi a close third in FCP.
Conclusions
The race was close between GeneratePress, Beaver Builder, and Astra. Beaver Builder is impressive here, considering it’s a fully custom theme and page builder, while GeneratePress and Astra both use the built-in Gutenberg editor and have barebones starter templates that lend themselves to fast page loads.
Twenty Twenty-Four would probably have better results if it weren’t for the bizarre choice to use over 500kb in fonts by default. Its win in FCP is evidence of that. Divi placed third in FCP, which is also impressive given that their theme has historically been on the slower side in raw performance tests.
We can’t see any reason to recommend OceanWP. It’s in the middle of the pack in performance, and that’s without using the extra plugin they push in the dashboard. Simplifying the layouts required more work than most themes, and it defaults to a 14px font, which seems really small these days. Pretty much everything it offers requires a paid upgrade, so you might as well use a better theme.
Astra is similar to OceanWP in that the free version of the theme is heavy on upselling and light on compelling reasons to use it, but its performance is impressive, and that helps justify its consideration.
Elementor continues to perform poorly in our testing. It’s bloated and cumbersome to use, with the second-worst fully loaded time of the themes we tested.
Avada is even worse. The page builder is clunky with questionable UI choices and it’s the only theme that took over one second to fully load our test page. It also had the slowest FCP and LCP scores, making it the last place finisher across the board.
What WordPress theme is the fastest?
GeneratePress is the fastest WordPress theme we tested. Beaver Builder and Astra were close behind.
What WordPress theme is the best?
If speed is all you care about, try GeneratePress if you’re OK with using Gutenberg to build your site or Beaver Builder if you’re not. While choosing the “best” WordPress theme is subjective and depends heavily on your goals and needs, we continue to recommend Divi to our members because it’s relatively quick and it has far and away the best builder experience.
What else should I consider when choosing a WordPress theme?
Speed is important when selecting your theme, but it’s certainly not the only factor. Don’t forget to consider things like customization options, ease of use, SEO, mobile responsiveness, support, and more when selecting your theme. It can be difficult and expensive to switch to another theme should you change your mind in the future.
What about caching?
To create a fair comparison between all of the themes we tested, third-party caching solutions were not enabled. However, some of the themes, like Divi, have some built-in performance optimization. When those options were present and enabled by default, we left them in place, as this would be the normal experience for anyone using the theme.
All of these themes would be faster with caching and a CDN enabled. Even the worst performer, Avada, would score significantly better with good caching. That said, we wouldn’t recommend using Avada, no matter how strong your caching game is.