As a web development company, we build a lot of sites. Many of the sites are true custom development jobs, starting from TwentyTen or Cutline for the base template files. That's the right way to build a site, as you'll quickly see.

But often our clients can't afford custom development. So we bought developer licenses to WooThemes.com and ElegantThemes.com and thought we were set. While Woo are as a group not very refined and seem to be getting less so every month, ElegantThemes offers many really well-designed themes.

All these paid templates with extensive configuration dialogs (WooThemes, Elegant Themes etc.) usually look nice and are a great alternative if you have little money to spend, little or no template programming skills and you want to be able to tweak how your site looks like.

Not so fast.

Not only do the handy internal configuration tools for "quick customization" give clients every opportunity to break their own sites, they carry a lot of overhead. Your CSS files will be bloated as you are always offering the code for two column, three column and six or seven different colours.

But there's a limit all this configuration options have and you can't get beyond that limit without changing the core files of the template, so if you want to do some serious customization, and not just change the colors, there's nothing good about the configuration screens.

There's a lot of talk about how professional paid themes are in comparison to free themes. It's not what we've found. Cutline, Twenty Ten and Oulipo are all much better coded than any theme we've found at WooThemes or EleganThemes.com. You can't just choose any free theme but a good one looks to be better than a paid theme. There's a couple of reasons. First, a good free theme is not trying to be everything to everyone so most don't suffer featuritis. Second, a free theme is often coded at leisure and only released when it's ready. Paid themes are a commercial product and the more themes a developer can cram out quickly, the more he earns.

Featuritis often means that extra functionality is jammed into the functions file which should be taken care of via plugins. If you add extra functionality via plugins, it's easy to switch themes. If all your custom functionality is in the theme, your website is a prisoner in a pretty gilded cage. We can help you move out, but it's a task.

Here are some concrete case studies of our latest misadventures with paid themes. Read and weep for all the unfortunate site owners who are enduring slow site loads and crashing shared hosting the world over with commercial themes.

When building a site or a plugin, we always check the number of database queries made when displaying the index page, archive page, single post and so on. That helps us discover any bad (by "bad' I mean not necessary) database queries and bad code inside the plugins or templates before a database server goes down because it's overloaded - nothing special on shared hosting environments, it even happens for well optimized and cached sites which have a bad luck of being too popular.

We built a website with Daily Edition template and when it was all ready to go live, we discovered that it has 85 queries on every page load! It took us a while to figure out where the problem is and it still sounds a bit weird: the number of queries dropped to around 65 after we turned on the "Hide SEO custom fields" option:

Weird Daily Edition Options

How can displaying the SEO custom fields on post edit screens take extra database queries? We use FV All in One SEO Pack plugin for SEO, so we don't have these problems. But who would guess that turning off unused features can speed up your website so much?

The updated version, which was released shortly after we found these issues has around 60 queries, so this problem appears to be fixed. However, there are more issues. Let's go deeper into PHP here:

The Tabbed widget of Daily Edition is taking too much queries. For example, here's the original popular posts code:

This code takes only 1 query for 1 post and if some of the posts already appear on the page, they are not queried again, thanks to some internal WP caching mechanism. Notice that we store the original $post object in a variable and then put it back.

Going through various templates, you will be probably able to find more glitches like this one.

The template looks great. We do some modifications based on client's requests and everything is fine. It runs on development site with a real set of data copied from the live site, so we should have a good idea about it's performance. The number of database queries is perfectly normal this time.

Delicate News demo template

The problem appears as soon as we take the new site live. There is some inefficient code, as the site runs out of PHP memory. So we quickly troubleshoot the issue, until we found that it's in the template:

Delicate News template tries to use a better count of comments posted to an article than WordPress does and it's running that algorithm each time a post is displayed. On the index page, we display around 10 posts plus this site has a lot of comments - put these two things together and your site goes down like a rock.

Normally WordPress counts number of comments for a post only when a new comment is posted - check out wp_update_comment_count_now in wp-includes/comment.php. Then it stores that in database (wp_posts table, comment_count field). It even provides a plugin hook called wp_update_comment_count.

Here's where the dangerous function is hooking to the standard WordPress template functions:

So even if you check the number of queries, you are not completely safe. An option to disable a function like this one would be a nice addition to the template configuration screen, or better - a complete rewrite of that function. This is an example of a extra template functionality which does not work as well, at least not in all cases.

We are not saying, that these templates are bad and you should not use them, but if you do, you better check if they are alright, before you use them on some project, as you can't be really 100% sure they work flawlessly in all situations - specially after some tweaks.

Excerpt from WPDB profiling analysis. Going through this list can save you a lot of trouble.

Here's a﻿ sample pingdom.com site load time report on two minimalist sites, one using a non-repaired paid theme,﻿ one using a custom theme built on cutline. One takes 20 seconds to load, the other 4 seconds to load, both on clean fast servers. Guess which one is which.

wordpress cutline custom theme load times

wordpress paid themes load time

Recommendation

Where possible avoid paid themes at this point. They are all top-heavy. You are much safer starting with Twenty Ten or Cutline. If you must use one, hire a good developer to clean out the theme before going live.

Martin graduated as an engineer in Computer Science from Slovak Technical University in Bratislava. He grew up in Liptovský Mikuláš in northern Slovakia next to the beautiful Tatra mountains. He is the developer behind our FV Player.

Related Posts

Reader Interactions

Comments

Great post. I’m building an e-commerce site for a customer and planned to use WPMU DEV’s MarketPress plugin. Can you recommend any good themes for this purpose? Also, can you give me your 2 cents on WPMU DEV themes and PageLine themes? Thanks.

i tried some commercial themes, since they’re had a lot of options for customization, they over and over do get_option() function (which mean do query to wp_options table database) in only one page…

but there’s some smart way on commercial theme (in my case from pandathemes ), they put all the options in an array, and save it in one wp option key, so they only call get_option() function once…, and get the options from the array.

Interesting post.
However I do not really understand why you were looking into Woothemes and Elegant themes in the first place: you are obviously looking for a theme framework, with some available child themes, rather than complete themes such as those sold by Elegant Themes.

I believe in such cases you should develop your own theme framework, or start from something like Genesis, Headway, Hybrid, or Thematic. Thus you have a strong base to start from, with numerous hooks and possibilities, SEO-ready (no use for SEO plugins, or that integrate perfectly with existing ones). Actually, I thought the Woo-Framework was offering exactly that kind of services.

Twentyten is a nice theme, I absolutely agree, but if you end up customizing and making some changes to one single theme for each client, I would really suggest you create your own framework. It will make your work easier, better, and faster on the long run.

I’m pleased to say that as a premium theme developer (check my website link above) I am very cautious when it comes to this sort of thing. I won’t say my themes are perfect, and I totally agree that with flexibility there is a certain amount of compromise required, however I am pretty sure that none of my themes do any of the things mentioned above. That said, this has prompted me to go through them again to make sure they aren’t doing anything silly.

Martin – If you have any more tips, or want to try my theme framework Elemental, then drop me a line and I’ll give you an account so you can try it out.

Thanks for shedding some light on this and bringing this to attention. I have looked at a fair amount of various ‘premium’ themes as well and was not pleased at all.

Lots of the shiny stuff was integrated in horrible ways, also due to the obvious limitations of WordPress (which is NOT a CMS).

The custom admin panels look like cockpits of spaceships and are just overwhelming.

And now that I see someone analyzing the SQL overhead, it is even worse.

I guess there are definitely some themes which enable non-designers to get quite close to what they have in mind but overall my impression was that most of the themes are too ‘massive’, too stuffed and put together by hackers.

And based on the code examples in this post, it doesn’t really make me want to look under the hood of the available theme frameworks either.

Thank you for the article, I found it very interesting reading.
As I own a number of premium themes and frameworks, I decided to do some basic testing myself using your recommended plugin WPDB Profiling.

Here are my unscientific test results.

The test were run a newly setup clean Linux server running PHP 5.1.6, MySQL 5.0.77 WordPress 3.1.1 with the WPDB plugin active. WP_Cache Status: Enabled! I imported content from a site with loads of pages and images. I ran the test on the homepage and then on a page with 46 comments, you can see the results of both page below:

Thanks so much for sharing those test results. That’s a very useful test. We plan on doing some server load tests on some of these themes but this is a good start for a commercial theme quality check.

Your tests indicate to me that our faith in Twenty Ten as a starting point for developing a custom site is well-placed. It also shows that Thesis 1.8 is not so bad (we don’t like how Thesis tries to hijack plugin functions and force you to stay on Thesis: Thesis is Microsoft’s “embrace, extend, extinguish” philosophy practiced on WordPress) in performance terms as we thought.

Superb work. I’d love to see a few more popular Elegant Themes tested. We could send you over some WooThemes as well for testing.

Your tests on Elegant Themes are very interesting KJ. Basically, Elegant Themes are all over the map in terms of quality of coding. It’s a pity as they have some of the best looking themes out there.

But they have some real performance troubled nags in the stable. And that’s been our real world experience: that’s a lot of trouble to get an Elegant Theme up to speed. Unfortunately WooThemes were the same thing.

We were using Woo’s Delicate News 2. This was not a new release so I’m not sure how relevant exact version number is.

Hi Aleks, Serge & Jane,

We’ve been trying different Subscribe to Comments plugins over the last four or five days (what we thought was an improvement was in fact not, better we find out on our site than our clients on theirs). In the end, we decided to stay on Gurken Subscribe to Comments and add some improvements instead of switching plugins.

If you are still getting multiple emails, please let us know right away. It shouldn’t be happening at this point.

Anyone who is wondering about Theme Frameworks should check these numbers out. All of these theme frameworks are free: Hybrid, Thematic, Carrington, Whiteboard and WP Framework. These are the results on a WP site full of data.

Whiteboard 3.1 by Bold Perspective

I am unsurprised to see Justin Tadlock, Twenty Ten and Ian Stewart win the horse race. I am surprised to see how poorly a framework like Whiteboard did. Having seen these numbers, I’m even less likely to use a framework besides Twenty Ten. We might give Justin’s Hybrid a try to see how we like it.

Alec and KJ, thanks much for the work and for sharing these numbers! Glad to see Thesis isn’t all bad. :) And I’ve been thinking about looking at Hybrid, so its performance is also good news. This past month I’ve been building my own barebones framework starting with Starkers (which is based on Twenty Ten), plus basic typography and some hooks a la Thesis. I will be using it as a starting point for when I collaborate with a graphic designer. But it’s also nice to have a few trusted free or commercial themes for clients who can’t afford a fully custom design.

Outstanding post. I didn’t realize the true fact: functionality should be implemented with plugins instead vast amount of code inside functions.php and includes.
I’m modifying a xxxx premium theme. The functionality is awesome, but I’m prisoner in this design forever. A lot of Custom types and code were included so a change to another theme is not an option.

If it’s a pro site, then a good developer who specialises in migrations (including our team) could help move you into another theme pretty quickly. Our SEO plugin for example will help you leave three or four premium theme types including Thesis. If you do use a premium theme, I recommend turning off as many advanced features as possible and use plugins instead from the beginning.

Ideally a premium theme should be about clean and fast code and great design and not silly little widgets and doodads better done in real widgets and real plugins.

Alec – very helpful post to show clients the difference between the various CMS options. I’ve been using Headwaythemes.com on one of my simpler sites. One of the things I like about it – is they are committed to building the theme so that changes made via their visual editor, don’t break when you either upgrade/update wordpress or their theme. No need to FTP your files after an auto upgrade/update – which as you noted seems to happen very often. It’s the only theme I’ve run into that does this. That is a big change from Thesis. I’m not sure how Studio Press themes work (the others I’ve had some experience with). For solopreneurs and small businesses, a theme with basic design flexibility and easy upgrades/updates – makes a lot of sense.

I’m also wondering how clean the back end code is on Headway.

Do you have any opinion on the Headway theme? Is it okay, but a lot of smoke and mirrors & a vocal “I love it” community like Thesis; is it moving in the right direction; or the coolest thing since sliced bread. Or have you not looked a it, checked it out etc –

Awesome post! Glad I stumbled on it in my search for theme options, since I am looking for a theme for myself.

The Genesis Framework was mentioned previously, but got no response. Maybe you would rather not comment, and I understand. My budget is limited, as is my design experience with wordpress. I need a flexible theme, most of which would be functionally answered by the Genesis Framework with the child themes, but I also care a lot about quality and performance.

most fo the sites/blogs I built use wordpress and 2+ years ago I got the revolution theme package which is now the genesis/studio press range. Great bunch of themes and the support forum is pretty quick to help. Never tried Woo – only looked at them and wasn’t that impressed for the price.

I have tried two Elegant Themes templates now and tried to build out my site. One totally crashed my site within 24 hours, I mean, I couldn’t do anything. I changed the php.ini file, which worked. I then changed templates because I couldn’t tweak the first one enough, and after more days of development, now i can’t upload again. It might be my host (GoDaddy), but they haven’t been good at figuring out the issue so far. I am doing a portfolio site and have a lot (maybe 50) images, which doesn’t sound like a lot, but I now have about 10 uploaded and can’t upload any more. I think it must be the templates. In tandem, I have uploaded about 20 of these images on wordpress.com to a generic template, and no issues.

P.s. to my comment above: it seemed the problem was totally with changes on my host and not with Elegant Templates. Moderator, you can delete both these posts if you wish. I do not want to give Elegant Templates a bad rap if they don’t deserve it, thanks. gary

Hello, Alec. Thanks so much for this great article. I would love to learn how to code WordPress well, the ways you describe here. I have a few WordPress books & am learning but they disagree sometimes. What do you think of Digging Into WordPress by Chris Coyier? Any books you recommend? Feel free to link to your account on Amazon, etc. so you can get paid for your advice! Thank you.

I’d recommend using the Codex intensively. I would avoid commercial themes as above and modify TwentyTen or TwentyEleven.

Keep it simple and focus on the basics of html and CSS. Work with the code and it will come.

As WordPress and even the web is a moving target, I’m not sure any book will remain valid for very long. There’s no point in building a library. If you need one good book to get oriented, after that the additional info you should seek on the web.

As you are no doubt aware, there are sites like AListApart.com which cover the fundamentals of advanced web design and coding.

Thanks for this analysis. I am not technically-minded but I am artistic. So when I started using WordPress, I was drawn to “feature rich” themes, which enabled me to create visually beautiful sites without knowing how to code or modify anything.

I started with free themes like Atahualpa but even I noticed they were slow – it was possibly more obvious to me because in those days, I was using a lot of graphics too. I then discovered the Page Speed plugin and started using it when trialling new themes. I joined Elegant Themes and drooled over their designs, but couldn’t find a single theme that scored over 75 (now I know why!).

I’ve now given up and design all my own themes with Artisteer. I know there is redundant code in there and people complain the program creates slow websites, but all my Artisteer themes score much better on Page Speed than the Elegant themes.

I was thinking of switching to Woo Themes – but now, I’ll think again!

Great article … maybe the best of its type out there. I, too, would be interested in seeing how the StudioPress/ Genesis framework tests out. I may soon replicate a site I have onto the Genesis Prose (or Minimalist … we’ll see) child theme, and could conduct tests then.

But if one of you whiz-bang testers could see how Genesis does, that’d be awesome. One of their claims to fame is CLEAN CODE.

I recently purchase a WooTheme and I’m quite disappointed of the page load speed. Its not only hard to use on the admin side – it is also really slow for the user. Not recommendable from my point of view – maybe its my servers fault though.

While I agree that Woothemes seem to have a longer load time, I find their interface and abundance of video tutorials to outweigh that disadvantage. I am VERY disappointed with the lack of tutorials for Genesis, and also with their clunky interface. I hope they can clean this up.

The best of both worlds would be the usability and flexibility of WooThemes with the clean code of Genesis.

This certainly is an inmformative article, which I have referred to numerous times. I certainly can see how Twenty Ten, Twenty Eleven, Cutline, and Hybrid are great starting point if one is making an informational website, but what about an e-commerce site? Do you have any recommendations for that purpose?

And are you going to publish the test results you mentioned in November, in post #40?

Thanks for great discussion. I enjoy coding from scratch, but in working for most of my clients they really want a wordpress framework site with some support. I have them use wordpress managed hosting (currently this small, cheap service tadpole.cc has been good) and Genesis/responsive them for small-med sized org like Agency. Would you be open to testing a theme/framework (we’d mail our legally purchased copy) to test for $25? I’d love to know how Agency measures up.

This was a very interesting article for me to find. I’m not a coder, just an average WordPress user and don’t have a large budget for hiring coders (some, but not large)I was all set to use WooTheme’s Canvas or Pagelines. This has me re-considering. For the average non-coding user, it’s a hard decision. I want more design customization and the premium themes with that are very compelling. It’s very useful to learn that it’s best to use plug-ins to customize. Would be helpful to know of all the frameworks out there which is the lesser of all evils. Thesis, Genesis, Catalyst. etc.

Thanks for the deep analysis. I really appreciate that. You’ve saved me from a few things, not least of which is losing a few dollars.

I checked out WPDB but it looks like it has’nt been updated in two years. Plugins that are not kept current when WP has changed always scare me. Would you install a plugin that has not been amended for years? Maybe I’m just being paranoid.

interesting post…
I was going to buy a wootheme, but then I’ve read this post, so I’m doubting my decision once again. the main reason I wanted to buy a paid theme, is that I wanted a faster theme. I had a free theme for quite a while, and i’m sick and tired that it takes forever to load. I’m using a shared hosting. would turning into a dedicated server help more than a paid theme ??? I’m really very confused !

* Solostreams wp-clear: seems to be pretty fast and is very customizable.

* MySiteMyWay.com’s DejaVu (or any of their themes) – Just learned about these themes and they have as many (or more) options than almost any other theme I’ve seen. Very sell designed, but my guess is that they take a hit on loading times.

I’m new to WP, but I have developed in HTML for 7 years. I know CSS3. No php experience. I made an error when I bought Woo Themes Resort then Canvas themes. They both have crashed more than once, and the support was cryptic and infrequent.

I was looking for an easy way to dazzle clients, offer CMS and I hoped E-commerce tht was well styled and professional.

I’m going to go back to 2012. This decision cost me $140.00 in themes plus Woo’s dev club $125.00 I think then $25.00 /month after that. I’ve lost about 35 hours in time.

Rob Wallace – I have used Woo Themes Canvas, and I have had no problems, but the really flexible theme I LOVE to use, that is a one- time fee is StudioPress.com’s Genesis theme Framework, then the Child theme Prose – $84. You can develop sites for others, no developer’s license needed. Prose looks boring when you look at their demo, but once you get into it’s theme design – no coding needed to tweak sites colors, look feel, headers, header sizes. And it’s mobile responsive, and they have pretty good documentation.

I understand that readymade options within theme options to change colors and other variables can be a problem. But I disabled a lot of them and insteadput custom css code in a field that was meant for it. I have disabled comments etc…

I will now also add a child theme which means that the small graphical changes I make will be untouched by future updates of the theme.
I cannot code from scratch myself so that is not an option.

I use elegant themes theme “13floor” and wonder if it really have to be as bad as you write it to be ?

If you are running any kind of a business site, most commercial themes are that bad. Loading time is paramount now for both visitors and Google. If it’s just a personal site, by all means. These are quick and easy fixes. Make sure to use Hypercache as it works well with almost all themes straight out of the box. Hypercache will take the situation from disastrous to passable in most cases.

Hi Alec,
Great post, thank you. I have been looking for the speed comments of so called superb themes from the eyes of an expert. I built my company’s website with a Joomla! theme but it seems very slow. Now, I want to make sure of the performance of the themes before I buy them. I am curious about what you think about Divi 2.0 of ElegantThemes in terms of performance issues.
Best regards,
Aytac…

I have a question about customizing, which may be Off Topic for this thread. Here it is anyway. I started looking at what you said about TwentyTen and Cutline, and then based on your comment, I visited Themes Kingdom.

I was encouraged about the page builder widget, hoping that it would enable me to make the final pages as close as possible to what I envisioned while designing with Fireworks. What I discovered while reading their documentation — and then the documentation about the widgets — was that the Page Builder widget hasn’t been updated for WordPress 4.1, and that it’s buggy.

Have your investigations included looking at which commercial developers ACTUALLY make their themes highly customizable for LAYOUTS? It seems like everyone pretty much locks users into the theme’s original arrangements.

Is it unrealistic to want a fast theme that genuinely enables positioning that the designer wants?

I’d recommend getting away from page builders. I’d try to find a theme which more or less structurally suits your project.

We’ve not been pleased with the latest developments at Themes Kingdom. Their transition to responsive has been rocky and they’ve succumbed to adding the same bloatware to their themes which destroyed Woo.

Currently we are actively building most of our middle level work on Studiopress. We really like Altitude Pro, Minimum Pro and Ambiance Pro. These themes are elegant and flexible, allowing you to decorate them as you please. There is even a fair amount of scope in changing site structure without page builder overkill.

The real high end we build made to measure on Twenty Eleven, Twenty Thirteen or Twenty Fourteen.