A Guide For Selling WordPress Themes

Recently there’s been a lot of (mis) information around about “how to start your own premium WordPress themes site”.

They make all make it sound fairly easy.

Just make a design, hack it into a WordPress theme, buckle on a zillion theme options using the old Woo options panel and you have yourself a wonderful theme that’ll make you rich.

It’s a lot harder than you think to make a good, respectable theme; only about 10% of premium themes are actually any good.

“Good”, being a theme that’s well built, well supported and follows best practises. I’m of the view that the vast majority of themes don’t do this. Don’t let your new site join the ranks of other mediocre themes, follow my handy guide and you’ll be flying in no time.

Run, faster

First off is to make sure your code and template files are the right bits for the job. Have you got too many template files? Is your author.php file doing essentially the same as your index file? Know your file structure and you can vastly reduce the amount of work you’ll need to do. Equally, ensure your loops are run as efficiently as you can; do really need a second loop for that featured content area?

Add features, not bloat

Building in features is always fun, but it is very, very easy to get carried away and start adding a whole load of widgets and fairly useless features that nobody will actually use. Be very careful when adding features like widgets; always be thinking “who will actually use this? Would I be better off bundling an optional plugin with the theme?” Speaking of plugins…

Don’t rely on plugins

I thought I’d seen the back of this one a while ago, but apparently not. Under no circumstances whatsoever make your theme reliant on plugins. What does that mean? It means if a user has to install a plugin for your theme to work, that’s relying on a plugin. By all means build in support for popular plugins, in fact, that’s always a good thing to do, just wrap calls to plugins in ifs so if the plugin isn’t installed then the theme still works.

In my list of bad things to have, this is right up there. Whilst the line between theme and plugin has blurred of late, themes shouldn’t be reliant on plugins.

Run out of the box

“With built in 1000 options!” About nine months ago this was very cool. 1000 options! Wow! That’s the reaction you could expect from potential customers.

Not any more.

Just take a moment to think how long it would take to set up 1000 options. Ben first told me this and at first I wasn’t too keen on it, but on reflection, he’s bang on. Themes should work as much as possible out of the box, without any customisation or set up. When someone first installs your theme, they should be greeted by their latest posts, not a whole load of errors telling them to set up the options page. Speaking of…

Make a useful options page, if at all

Options pages should have as few options as possible. If your options page spans five pages, you’ve got something is fundamentally wrong. Users have come to expect options pages and whilst five pages of options does sound impressive, it means there’s too much in your theme that’s fiddly. Let’s have a couple of examples:

  • “Link to logo image” — big no no. Provide an uploader and auto resizer so users can upload something quickly and easily.
  • Featured content images and text — another no no. You should be using a category, custom field or even custom post type for this, but don’t make users type in their featured content by using the options page.
  • Category/Page IDs — don’t make your users search around for the IDs of various categories, give them a nice list of categories/pages to choose from instead.

You should also ask yourself whether you actually need an options page at all. If all the options you’ve got are Analytics and Footer text, why not follow Leland’s example and instead recommend a purpose built plugin?

Don’t duplicate WordPress’ functionality

The number of themes that have some fancy menu system, some odd way of doing images for posts or a quirky way of organising widgets through layers of options is just astounding. If WordPress already does something, then don’t duplicate the functionality. Use the post thumbnail function, the 3.0 menu manager and the widgets page. Work with WordPress, not against it.

And finally

I’ve not really touched on the other ingredients outside of the themes themselves, but they’re going to change in each situation; you may decide a ticket system works better for you than a forum, for example.

Either way, just because the barrier for entry into the premium themes market is low, don’t let your themes be of that all too common low quality.

Awesome background image from Smashing Magazine, designed by Thais Trizoli.


24 Responses

Comments

  • Vivek Shah says:

    A Wptheme should run with least plugins and minimum customization required for blog owners, sometime it takes lots of pain to restructure installation to suit new theme, instead theme should suit to installed one.

  • Good post Alex.

    I have always been a strong believer that themes should not rely on plugins to work. It was very common a few years ago but isn’t as bad anymore.

    The problem is: when a plugin stops working or stops being supported, your theme is worthless. Why tie the success of your theme to someone elses work.

    kevin

    • Alex Denning says:

      Absolutely, glad someone else agrees πŸ™‚

    • Could not agree more with you Kevin… a perfect example is the Featured Content Gallery which we used to package with our themes at StudioPress. It became quite obvious that the plugin wasn’t being supported, so one of our moderators developed a better version of the plugin which we now include. This way we know on our forum, if there are any questions about it, he’s there to help.

  • Besides being a best practice to not require plugins, I believe the biggest factor driving required plugins out of themes is the built-in WordPress theme uploader. Most end users won’t unzip the themes to see if any plugins are included. The uploader makes packaging plugins with a theme difficult and impractical.

    • Alex Denning says:

      The simple answer is don’t do it/you shouldn’t be doing it. Plugins can be built into themes (which they should be if they’re required for the theme to run) and if they’re optional, let the user install the plugin at their own leisure.

  • Alan says:

    I agree with what you say about options page. Very often it is totally useless.

  • Amor says:

    Great tips again Alex. Bookmarked.

    I like the background and the transparency. πŸ™‚

  • Thanks for linking to my Cool Blue theme. Believe it or not, people actually do appreciate themes without theme options whatsoever.

    Most of the time the options (like Analytics, FeedBurner, etc.) can be duplicated by an existing plugin and other options would be better off (not to mention more flexible) as a custom widget.

  • Aidan says:

    Nice tips. I don’t know if it only me but all the images are floating to the right and out of the border. I’m not sure if it’s intended but it look kinda of unsightly.

    Maybe you want to rectify it? Thanks.

  • Hi and thanks for this post. I’m currently busy with an options page whereby there are many featuresw that can be setup. I have tried my best to keep the features to a minimum, but that is no easy task.

    I currecntly use the options page on my blog and I’m very happy with the results.

  • Great post, Alex! Super useful to those starting out as well as the experienced WP developers!

  • Aj says:

    The most important one is definitely to not duplicate WordPress functionality I see this over and over again. Like being able to enter page id’s to exclude them or not taking advantage of the “featured image” functionality.

    Great post.

    Oh yea, and 1,000 options – Game Over for your database – And if you do this at least offer a reset button so you don’t have to go and clean out all the junk from your database.

    • For anyone reading this in 2013+. A good way to battle this is before saving the theme options, you merge them all together in a single array and then save this array. Then you only have 1 saved option in the database πŸ™‚

  • Dessign says:

    Great Post, Here is my 2 cents. Don’t copy everybody else. Focus on specific niche, if you design themes for everybody then you will fail, because there is millions of them already for free. Be different and unique, and remember less is more…

    Marios

  • Very good tips on selling wordpress themes. I am looking to start my marketplace soon also.

  • David Eden says:

    Thanks for the tips Alex. Great post.

  • Ian Whyte says:

    Having been introduced to WP and Themes quite recently all I can say is they are both excellent for those of us with limited skills.

    With a minimum of effort one can put up a very acceptable site because of the support and efforts of those who know more.

    Many thanks to all those who do so much unacknowledged

  • Nikolai says:

    1,000 options will be Game Over for your database, why would anyone need so many options and if you do this at least offer a reset button so you don’t have to go and clean out all the junk from your database.

Pingbacks