There are some great posts out there that compare WordPress frameworks. My recent favorites have been by Clifford Paulick. His part A and part B are the hallmark of robust comparisons. In a conversation with him a few months ago, I wondered aloud about a comparison of their performance. I've seen WordPress Frameworks compared by tons of factors including features and price like Clifford did, but I've never seen them looked at from a performance perspective.
And you can see why. You'd first have to buy them all, which most folks wouldn't do. Then you have to design a single layout that all could do – which means you'd have to know how they all work. And then you'd run your performance tests.
But if you did such a thing, you could let people know that – all things being equal – which theme frameworks performed better than others. And that might, just maybe, be interesting to someone who was looking to purchase just one and get to know it well.
Before I get into methodology, let me give you some context on which theme frameworks were compared.
- Numer of theme frameworks: 7
- All personally purchased – no freebies to influence my testing.
- One xml export from ChrisLema.com – 157 posts, 583 comments, 33 pages, 6 categories.
- One standard blog layout with a custom menu, and three elements in the sidebar (About me, Twitter feed, Tag list)
- 10 posts on home page
- WooThemes (Canvas)
- Catalyst (with Dynamik as the child theme)
- iThemes (Builder)
What I did was jump over to my playground (wpadvisor.com) where I do all my testing and I created seven sites on that multisite site. So each site was stand alone. And in each site, I imported the same file. I even imported images so they'd be local. After the import, I deleted the initial post and page, and configured the menu to show the core set of categories. From there I configured the sidebar to have the widgets that I mentioned above. Each theme had different requirements to get all that configured, but none of them took longer then 20-30 minutes to get everything done.
Then I hit each site multiple times. Because I wanted to make sure none of these sites would do their first load during the test.
At this point I should mention that no caching plugins were installed because I host my playground on WP Engine where things move fast without them. I should also note that the page speeds here may not match your own experiences if you're hosting your site on crap solutions by companies rhyming with MoBaddy.
At that point, I took the home page urls and feed them to the Tools page at Pingdom.
I captured the data and pulled it into spreadsheets for comparison. So here's the info you've been waiting for.
Comparing Request Counts
Framework,# of Requests
Catalyst / Dynamik,22
As you can see, the spread was wide. I would have guessed that it was much tighter together, but that wasn't the case. That said, it only matters in my mind if there's a relationship between the count and the load time. Which is why you'll see how some of the larger request counts still did well in terms of speed to load.
Comparing Load Times
WooThemes (Canvas),992 ms
Catalyst (w/Dynamik),1.2 s
iThemes (Builder),1.26 s
Headway blew the others away – which may have been helped by how few requests it made. But WooThemes loaded up quickly despite it's request count. Falling to the bottom was Pagelines, but that wasn't surprising when you see the next table (looking at page sizes).
Comparing Page Sizes
iThemes (Builder),299 kb
Catalyst (w/Dynamik),1.6 mb
WooThemes (Canvas),1.7 mb
iThemes and Headway jumped in front, but many of the others were right behind them. Except Pagelines, which was a bummer.
Looking at Pingdom's Performance Grade
Framework,Pingdom Perf Grade
Any time you get a combined score from anyone, like Pingdom, it's worth digging into how they're creating their algorithm. I confess, I didn't do the digging. I may later. But that's mostly because all of the themes had a nice high score. I've seen sites that have far lower than 84 in the total Performance grade.
One other thing to note is that many of the factors that affected the performance grade could have been solved by minifying static files, combining them, and using a CDN. But I wanted a straight comparison, so I left things native.
As always, your selection of a “winner” is based on what you value most. Not every theme here was a drag and drop framework – and maybe you care about that more than anything. Some are easier to learn than others.
What does that tell us? Well one interpretation would go like this:
The players that have been in the game longest have had the time to really optimize their frameworks for performance.
You might have a different take. That's on you.