admin-plugins author calendar category facebook post rss search twitter star star-half star-empty

TIDY REPO

The best and most reliable WordPress plugins

Speed Comparison of 100+ WordPress Themes – Not all Themes are Built the Same!

Gordan Orlic

August 28, 2018 (modified on October 1, 2018)

Blog

Site speed is important. It always was and always will be. More and more site owners have become aware of this after Google stated on several occasions that speed does affect search-engine rankings. Site owners should strive to make sites as comfortable for use as possible (whether Google tells them to do so or not) which includes making them faster. Doing so involves making a lot of components work together, and one of those components (in a WordPress site) is the WordPress theme.

tl;dr Cat videos don’t wait for anyone, we hear you! Jump to results table with 100+ WordPress themes speed comparison and see why it’s important to choose a fast theme and a good speed-up plugin.

Why test? Aren’t all themes the same?

It’s evident that the quality of the theme affects the speed at which a site loads. We wanted to know how much it affects it and how much speed-up plugins can help in making (slow) themes faster. So, we took a hundred popular WordPress themes and tested their speed. We expected only minor, statistical differences in our test results but ended up seeing significant differences. All themes are definitely not made the same!

Some rules and compromises

Being fair is important. That was our top priority with all tests; to ensure a leveled testing field for all themes. That meant making some compromises.

We only tested free themes available on the official WordPress theme directory. Yes, it would have been great to include some widely used premium themes in the test too. The problem is (apart from logistics of such endeavor) the fact that themes hosted on wp.org have to adhere to wp.org theme development standards when it comes to code and what can and can’t be included in the theme. Premium themes hosted elsewhere don’t abide by those rules, so we lose the leveled testing field. Long story short, wp.org has rules on what’s theme and what’s plugin territory. That makes themes lighter and separates more complex functionality into plugins. We decided to test themes without any plugins. Even those that are recommended by the theme to gain full functionality. Ideal? No. But the alternative would be much more complicated and not as focused on theme speed. We plan on doing more tests, so get in touch if you have a fast free or paid theme.

Our number one rule and concern was to provide a consistent, leveled testing field! All themes got the same treatment under the same conditions.

Numbers shown in the results table are “technical” parameters that matter to speed (and that you can test with any tool) and Pingdom’s score that has become the standard “metric for speed”. We believe that hunting a 100/100 score on speed test websites (Pingdom, Google PageSpeed, GTmetrix, Webpagetest) is not worth the effort. Anything above 90 is more than decent. Blindly going after the perfect score will not make your site faster. It’ll just mean you have a perfect score on that site and most probably not a perfect score on some other site. Pay close attention to all tests and familiarise yourself with what each number means.

Since all themes are hosted on wp.org and have demos there, we could have just tested them on those servers. It would make our lives easier. But we’d be breaking the leveled testing field rule. It’s reasonable to assume that wp.org servers are not always under the same load. It’s also reasonable to think that one or more themes would get tested precisely at the moment when servers are under a higher load. That would produce unfair, slower results for some themes. That’s why we decided to test them in a controlled environment.

How did we test theme’s speed?

We went over to popular WP themes in the repo, scrolled down a bit to get a hundred of them and used a line of jQuery to grab the first 100 theme ZIP URL’s. With a line of wget we grabbed all those ZIPs and ended up with 450 MB of WordPress themes; 930 MB when uncompressed. “This is not fair; you should have chosen themes based on criteria X.” Whatever criteria we chose it would still be 100 themes, and somebody would be left out. So, there was no fair way of doing this. Sorry. If you’d like us to include your free or premium theme in this or future tests – get in touch.

Testing server

Traditionally hosting services are paid on a monthly basis. If you need some resources for a week, you’ll still need to pay for a full month. Far from ideal when you need something short-term for testing. Companies like DigitalOcean charge servers per hour (check out Linode & Vultr if you want even more control over your servers). That’s why we grabbed one of their CPU optimized virtual servers that run for 6 cents an hour. The one-click app installation got the server up and running with WordPress in less than a minute. No technical knowledge required at all! We left the server as is with no further optimization – a standard LAMP stack. Why? Because we’re testing themes, not servers and the only important thing was to have all the themes tested on the same server with zero load at all times, which this droplet provided with no effort. Also, the server came quite optimized out-of-the-box.

It’s amazing that you can launch a server, completely optimized for any app with just one click

Next, we took care of the domain and setting up a free Let’s Encrypt SSL certificate. A step we could have skipped but felt it was worth the extra few minutes for setting up since it created a more realistic environment.

WordPress environment

With the server and WordPress v4.9.8 set up, and all themes uploaded everything was ready to go. At no point during testing were any plugins active on the site, except for the speed-up plugins, of course, when tested. For setting up the tests we used WP Reset which ensured we had a clean, default WordPress installation for every theme and the WordPress Importer. We used it to import the Theme Unit Test data. That provided the same content for all themes which were left to render the front-page in any way they pleased.

Swift Performance Wizard

Swift Performance analyizes your site automatically

Remote testing by Pingdom

The first part of the testing was done on Pingdom. The test location was always chosen to be the closest to our server. We only tested the front-page and repeated every test three times to ensure there were no “one-off” results. After each test was done, WP was reset, next theme activated and the process repeated.

Local testing on Chrome

The second part of the testing was done in Chrome v68 on a Core i9 PC with 16GB of RAM running on the latest version of Windows 10. All background tasks were disabled to ensure zero-load on the PC during testing. The console was used to count requests and validate page size along with First Paint and Page Load Time extensions to measure load time. Every test was repeated three times to eliminate “one-off” results, and everything was done with a cold, emptied cache.

The speed of users’ device still plays a big role in site speed. Reducing the overall page size and amount of JS helps but only to a certain degree.

What do the test numbers mean?

Besides the measured numbers shown in black, next to them are numbers in red and green indicating how the theme performed in that test compared to average test value for all themes. Or, in case of plugins how did the plugin fare compare to the same test performed on the theme without the plugin. Differences smaller than 5% are shown in black as we feel they are too low to be labeled as a success or failure.

Pingdom grade – proprietary Pingdom score on a scale of 0 to 100 – shows an overall, standardized speed score of a page. A higher grade is better.

Pingdom load time – the total time it took Pingdom to load the complete page including all images, JS, CSS, and other files. Lower time is better. We repeated this test locally labeled as Chrome load time. It’s the same test just performed on our PC instead of Pingdom (who also uses instances of Chrome to do testing).

Pingdom page size – the total size of the tested page in kilobytes including all images, JS, CSS, and other files. Lower size is better.

Pingdom requests – the total number of requests needed to fetch all files required to show the page. A lower number is better.

Chrome first paint – the time in milliseconds needed for the paint after which the biggest above-the-fold layout change has happened, and web fonts have loaded. Basically, after this, the user has a feeling that the site has almost loaded and can already begin reading the content. Lower time is better.

Chrome load – the total time it took for the whole page and all its resources to load. Lower time is better.

TTFB (time to the first byte) – the time in milliseconds it takes for the server to send back the first byte of the generated page. Lower time is better. This number represents the quality of the PHP code of the theme.

 

WordPress only
WP + Swift Performance
WP + W3 Total Cache
Theme Name, Author & PreviewPingdom GradePingdom Load TimePingdom Page SizePingdom RequestsChrome First PaintChrome LoadTTFB
Average:86498ms424Kb22431ms598ms206ms
Lifestylepress
Theme Everest
100/100 +14400ms -20%159Kb -62%13 -41%340ms -21%500ms -16%147ms -29%
Arke
DannyCooper
97/100 +11244ms -51%81Kb -81%10 -55%210ms -51%250ms -58%117ms -43%
OceanWP
oceanwp
96/100 +10440ms -12%234Kb -45%16 -28%340ms -21%470ms -21%153ms -26%
GeneratePress
Tom
94/100 +8336ms -33%29Kb -93%10 -55%250ms -42%310ms -48%158ms -23%
Certify
spicethemes
94/100 +8520ms +4%380Kb -10%36 +65%540ms +25%660ms +10%190ms -8%
Customify
PressMaximum
93/100 +7425ms -15%72Kb -83%9 -60%340ms -21%360ms -40%178ms -14%
Stacy
spicethemes
93/100 +7540ms +8%384Kb -9%35 +60%440ms +2%590ms -1%124ms -40%
Sparkling
Silkalns
93/100 +7463ms -7%307Kb -28%24 +9%340ms -21%440ms -26%155ms -25%
Twenty Seventeen
WordPress.org
92/100 +6431ms -13%438Kb +3%22 0%630ms +46%780ms +30%356ms +73%
Twenty Twelve
WordPress.org
92/100 +6422ms -15%222Kb -48%18 -18%420ms -3%500ms -16%220ms +7%
Shapely
Silkalns
92/100 +6467ms -6%396Kb -7%30 +37%460ms +7%610ms +2%184ms -11%
SpicePress
spicethemes
92/100 +6532ms +7%375Kb -12%31 +41%510ms +18%660ms +10%199ms -3%
onetone
MageeWP
92/100 +62,570ms +416%297Kb -30%35 +60%2,550ms +492%2,810ms +370%2,200ms +966%
Astra
Brainstorm Force
91/100 +5327ms -34%40Kb -90%7 -69%280ms -35%330ms -45%214ms +4%
Storefront
Automattic
90/100 +4483ms -3%307Kb -28%21 -5%340ms -21%460ms -23%211ms +2%
Accelerate
ThemeGrill
90/100 +4390ms -22%297Kb -30%21 -5%520ms +21%650ms +9%240ms +16%
eCommerce Gem
Promenade Themes
89/100 +3459ms -8%273Kb -36%22 0%360ms -16%550ms -8%174ms -16%
Personal Trainer
Catch Themes
89/100 +3411ms -17%170Kb -60%18 -18%470ms +9%660ms +10%276ms +34%
Nisarg
Falguni
89/100 +3374ms -25%236Kb -44%18 -18%360ms -16%470ms -21%145ms -30%
Optimistic Blog Lite
offshorethemes
89/100 +3450ms -10%388Kb -8%20 -9%440ms +2%570ms -5%157ms -24%
Shop Elite
themesaga
89/100 +3433ms -13%471Kb +11%22 0%340ms -21%570ms -5%143ms -31%
Drizzle Mag
wpdrizzle
89/100 +3408ms -18%222Kb -48%19 -14%320ms -26%420ms -30%129ms -37%
Activello
Silkalns
89/100 +3461ms -7%332Kb -22%20 -9%450ms +4%550ms -8%218ms +6%
MinimalistBlogger
Theme Everest
89/100 +3406ms -18%238Kb -44%17 -23%350ms -19%490ms -18%166ms -19%
Education LMS
filathemes
89/100 +3388ms -22%296Kb -30%18 -18%450ms +4%550ms -8%157ms -24%
Oblique
Themeisle
89/100 +3449ms -10%492Kb +16%25 +14%500ms +16%770ms +29%159ms -23%
Publishable Mag
admirablethemes
89/100 +3402ms -19%139Kb -67%14 -37%560ms +30%700ms +17%136ms -34%
Bloggo
justgoodthemes
89/100 +3317ms -36%267Kb -37%21 -5%420ms -3%520ms -13%200ms -3%
Twenty Ten
WordPress.org
88/100 +2353ms -29%138Kb -67%12 -46%320ms -26%400ms -33%191ms -7%
Bulk Shop
Themes4WP
88/100 +2384ms -23%482Kb +14%16 -28%340ms -21%380ms -36%142ms -31%
Virtue
Kadence Themes
88/100 +2565ms +13%643Kb +52%20 -9%390ms -10%600ms 0%186ms -10%
Business Mart
WEN Themes
88/100 +21,600ms +221%410Kb -3%24 +9%870ms +102%1,080ms +81%308ms +49%
Blog Personal
theme404
88/100 +2439ms -12%288Kb -32%26 +18%410ms -5%540ms -10%142ms -31%
Tasman
Campaign Kit
88/100 +2583ms +17%970Kb +129%19 -14%420ms -3%770ms +29%242ms +17%
Page Builder Framework
David Vongries
88/100 +2376ms -24%70Kb -83%12 -46%350ms -19%410ms -31%176ms -15%
Responsive
CyberChimps
88/100 +2377ms -24%347Kb -18%17 -23%320ms -26%440ms -26%128ms -38%
Astrid
athemes
88/100 +2442ms -11%1,100Kb +159%18 -18%360ms -16%630ms +5%154ms -25%
Balanced Blog
headthemes
88/100 +2403ms -19%297Kb -30%17 -23%380ms -12%530ms -11%170ms -17%
Clean Fotografie
Catch Themes
88/100 +2407ms -18%727Kb +71%24 +9%340ms -21%560ms -6%146ms -29%
News Portal
Mystery Themes
88/100 +2403ms -19%262Kb -38%25 +14%360ms -16%530ms -11%159ms -23%
Surplus Concert
surplusthemes
88/100 +2434ms -13%489Kb +15%22 0%350ms -19%530ms -11%151ms -27%
Llorix One Lite
Themeisle
88/100 +2479ms -4%676Kb +59%25 +14%380ms -12%680ms +14%156ms -24%
Travel Insight
themepalace
88/100 +2488ms -2%560Kb +32%23 +5%440ms +2%820ms +37%241ms +17%
Buildr
smartcat
88/100 +2438ms -12%580Kb +37%38 +74%560ms +30%730ms +22%172ms -16%
Fotografie
Catch Themes
88/100 +2384ms -23%312Kb -26%19 -14%390ms -10%510ms -15%141ms -31%
Surya Chandra Lite
WEN Themes
88/100 +2427ms -14%406Kb -4%22 0%500ms +16%690ms +15%270ms +31%
Satrah
Rohit Tripathi
88/100 +2383ms -23%375Kb -12%17 -23%460ms +7%640ms +7%270ms +31%
Anissa
Griden
88/100 +2402ms -19%471Kb +11%19 -14%360ms -16%630ms +5%143ms -31%
Daisy Store
MageeWP
88/100 +2428ms -14%256Kb -40%20 -9%400ms -7%530ms -11%160ms -22%
Rara Business
Rara Theme
88/100 +2425ms -15%369Kb -13%22 0%420ms -3%540ms -10%227ms +10%
Twenty Eleven
WordPress.org
87/100 +1377ms -24%158Kb -63%13 -41%510ms +18%550ms -8%365ms +77%
Shop Isle
Codeinwp
87/100 +1573ms +15%495Kb +17%33 +51%390ms -10%720ms +20%170ms -17%
Magazine 7
AF themes
87/100 +1701ms +41%244Kb -42%25 +14%390ms -10%500ms -16%154ms -25%
Hestia
Themeisle
86/100 0483ms -3%341Kb -20%21 -5%350ms -19%450ms -25%144ms -30%
Total
Hash Themes
86/100 0462ms -7%327Kb -23%30 +37%400ms -7%510ms -15%298ms +45%
Zerif Lite
Themeisle
86/100 0497ms -0%550Kb +30%24 +9%350ms -19%610ms +2%152ms -26%
Orfeo
Themeisle
86/100 0469ms -6%275Kb -35%20 -9%370ms -14%700ms +17%155ms -25%
ColorMag
ThemeGrill
86/100 0433ms -13%194Kb -54%18 -18%350ms -19%470ms -21%159ms -23%
OnePress
FameThemes
86/100 0469ms -6%406Kb -4%23 +5%350ms -19%520ms -13%157ms -24%
Cartel
WP Dev Shed
86/100 0417ms -16%201Kb -53%21 -5%330ms -23%370ms -38%132ms -36%
Flash
ThemeGrill
86/100 0456ms -8%225Kb -47%17 -23%410ms -5%600ms 0%156ms -24%
Kale
lyrathemes
86/100 0507ms +2%1,000Kb +136%38 +74%580ms +35%910ms +52%298ms +45%
HitMag
ThemezHut
86/100 0454ms -9%394Kb -7%22 0%350ms -19%520ms -13%165ms -20%
Online Shop
Acme Themes
86/100 0512ms +3%208Kb -51%17 -23%370ms -14%500ms -16%188ms -9%
Illdy
Silkalns
86/100 0494ms -1%539Kb +27%31 +41%490ms +14%700ms +17%129ms -37%
Magbook
Theme Freesia
86/100 0510ms +2%273Kb -36%22 0%480ms +11%330ms -45%137ms -33%
Construction Field
Acme Themes
86/100 0490ms -2%707Kb +67%25 +14%400ms -7%900ms +51%101ms -51%
Elara
lyrathemes
86/100 01,130ms +127%4,500Kb +960%38 +74%750ms +74%1,820ms +204%130ms -37%
Sydney
athemes
85/100 -1493ms -1%1,000Kb +136%21 -5%330ms -23%740ms +24%318ms +54%
Typecore
Alexander Agnarson
85/100 -1460ms -8%280Kb -34%22 0%370ms -14%560ms -6%162ms -21%
Vantage
SiteOrigin
85/100 -1427ms -14%584Kb +38%26 +18%290ms -33%490ms -18%106ms -48%
Customizr
Nicolas GUILLAUME
85/100 -1576ms +16%260Kb -39%20 -9%530ms +23%770ms +29%300ms +46%
Envo Magazine
EnvoThemes
85/100 -1427ms -14%238Kb -44%16 -28%320ms -26%430ms -28%134ms -35%
Head Blog
headthemes
85/100 -1440ms -12%341Kb -20%17 -23%330ms -23%500ms -16%133ms -35%
Hueman
Nicolas GUILLAUME
85/100 -1521ms +5%339Kb -20%23 +5%450ms +4%660ms +10%269ms +31%
Customize
seosbg
85/100 -1954ms +92%316Kb -25%23 +5%530ms +23%670ms +12%143ms -31%
Adonis
Catch Themes
85/100 -1416ms -16%334Kb -21%18 -18%620ms +44%550ms -8%360ms +75%
Madd Magazine
DessignThemes
85/100 -1477ms -4%190Kb -55%18 -18%350ms -19%370ms -38%130ms -37%
Envo Blog
EnvoThemes
85/100 -1458ms -8%456Kb +8%18 -18%330ms -23%520ms -13%143ms -31%
Anima
CryoutCreations
85/100 -1420ms -16%618Kb +46%20 -9%560ms +30%730ms +22%290ms +41%
Bulk
Themes4WP
84/100 -2426ms -14%451Kb +6%14 -37%330ms -23%500ms -16%140ms -32%
Writee
Scissor Themes
84/100 -2669ms +34%193Kb -54%18 -18%370ms -14%510ms -15%161ms -22%
Donovan
ThemeZee
84/100 -2454ms -9%305Kb -28%17 -23%330ms -23%440ms -26%149ms -28%
Bard
WP Royal
84/100 -2496ms -0%641Kb +51%27 +23%560ms +30%780ms +30%324ms +57%
Poseidon
ThemeZee
84/100 -2473ms -5%412Kb -3%17 -23%530ms +23%390ms -35%133ms -35%
MH Magazine lite
MH Themes
84/100 -2445ms -11%194Kb -54%14 -37%330ms -23%440ms -26%142ms -31%
Mesmerize
Extend Themes
83/100 -3907ms +82%381Kb -10%32 +46%360ms -16%520ms -13%317ms +54%
Ashe
WP Royal
83/100 -3530ms +6%1,300Kb +206%24 +9%580ms +35%970ms +62%391ms +90%
Dara
Automattic
83/100 -3367ms -26%374Kb -12%23 +5%390ms -10%400ms -33%216ms +5%
Materialis
Horea Radu
82/100 -4745ms +50%870Kb +105%31 +41%470ms +9%740ms +24%248ms +20%
Fagri
Themeisle
82/100 -4500ms 0%310Kb -27%24 +9%360ms -16%490ms -18%154ms -25%
One Page Express
Extend Themes
82/100 -4492ms -1%697Kb +64%28 +28%340ms -21%760ms +27%138ms -33%
Lodestar
Automattic
81/100 -5402ms -19%418Kb -1%24 +9%410ms -5%640ms +7%205ms -0%
Twenty Fifteen
WordPress.org
79/100 -7468ms -6%587Kb +38%25 +14%390ms -10%540ms -10%197ms -4%
Twenty Fourteen
WordPress.org
78/100 -8487ms -2%365Kb -14%25 +14%410ms -5%520ms -13%206ms 0%
Twenty Thirteen
WordPress.org
78/100 -8462ms -7%426Kb 0%30 +37%420ms -3%570ms -5%208ms +1%
Bento
satoristudio
78/100 -8382ms -23%440Kb +4%21 -5%460ms +7%560ms -6%242ms +17%
Twenty Sixteen
WordPress.org
77/100 -9525ms +5%463Kb +9%27 +23%390ms -10%550ms -8%210ms +2%
Cenote
ThemeGrill
76/100 -10436ms -12%387Kb -9%26 +18%280ms -35%470ms -21%169ms -18%
Consulting
ThinkUpThemes
75/100 -11509ms +2%409Kb -4%34 +55%420ms -3%540ms -10%143ms -31%
Stout
GoDaddy
73/100 -13436ms -12%177Kb -58%16 -28%330ms -23%370ms -38%139ms -32%
Spacious
ThemeGrill
73/100 -13395ms -21%125Kb -70%17 -23%340ms -21%370ms -38%141ms -31%
Crimson Rose
Chris Baldelomar
72/100 -14481ms -3%626Kb +48%22 0%540ms +25%890ms +49%132ms -36%
Primer
GoDaddy
72/100 -14393ms -21%120Kb -72%13 -41%350ms -19%390ms -35%164ms -20%
VT Blogging
VolThemes
72/100 -14376ms -24%134Kb -68%21 -5%290ms -33%360ms -40%144ms -30%
Show all 100+ themes

 

Pingdom Grade


The average Pingdom grade is a solid 86/100 with 12 themes being below 80, and 14 above 90. We definitely need to mention Lifestylepress theme that scored an impressive 100/100. This shows a vast difference among themes and a lot of space for improvement that can easily be achieved with speed-up plugins.

Load time


Local and remote load times showed similar results, proving that the tests were done correctly. The vast majority of themes (78%) loaded between 400 and 600 milliseconds. Those are excellent results as all results below a second can be considered fast both regarding raw numbers and subjective user speed perception. Swift Performance did a great job by cutting down average load time by 35%.

Page size


There’s no rule on “how big a page should be” in terms of kilobytes, as an “about us” page is definitely not the same as a gallery. However what’s interesting is that all our themes had the same demo data, but some managed to show the front-page in 29 Kb while some needed 1,300 Kb to do it. That’s quite a difference. It’s also quite a difference compared to the average of 379 Kb.

Number of requests


As with size, there’s no rule on how many requests per page is good or fast. There’s just the cold fact of lower is better. And as with size, we’re seeing a vast difference among themes. From 7 to 38 requests with an average of 21. 76% of all themes fall into the 14-20 category which is not bad. Swift Performance has shown once again how much a good speed-up plugin can help cut down the average number of requests from 22 to 12. That’s a 45% decrease! A number that really makes a difference. W3 only managed to achieve a 32% decrease in the number of requests.

So, I’ll just install a speed-up plugin, and make my site fast?

As shown by average and individual test results a quality speed-up and optimization plugin can do wonders! Numbers we got are considered as “conservative” or even low. Reason for that is that our test site wasn’t burdened with tons of plugins. The more plugins you add and the slower the site gets, the more improvement you’ll see when you install and configure plugins such as Swift Performance or W3. You can easily expect a 50% decrease in site load time.

With that being said we do not advocate the “I don’t care about anything, I’ll just install a speed-up plugin” approach. There are themes (and plugins) so poorly coded that no amount of wizardry from any plugin can help. And besides, no theme is so unique that you can’t find a replacement for it. So if you see that it’s so much slower than others – replace it.

In short, what have we learned?

All themes are definitely not made the same! Some are visibly slower, and some are in desperate need of optimization. And even in the official repository, where quality control is high, we can easily find themes that are significantly slower than average. Using the right hosting and the right plugin such as Swift Performance as shown by tests can help you, but nobody can fix a poorly coded theme except the theme author. When you have a choice, go for a faster, better-coded theme. Also, try to pick a theme that suits your needs. If you need a one-pager, don’t choose a complex e-commerce optimized theme. It’ll pack a lot of features you don’t need and consequently be slower.

Have your say, we'd love to hear your thoughts