WordPress Theme Development: Custom versus Commercial

Jun 4 2010 by Brian Casel | 23 Comments

WordPress Theme Development: Custom versus Commercial

WordPress theme development and design is quickly becoming one of the most popular forms of web development. Whether you’re building a custom theme for a client’s website or designing a theme for widespread distribution, WordPress theme development is one of the most sought-after skills in our industry currently.

As a freelance web designer specializing in WordPress, I spend roughly half of my time designing themes to release as commercial products through my company, ThemeJam. The rest of my time is spent building custom themes for clients through my consultancy, CasJam Media.

In this article, I will break down these two avenues of WordPress theme development and discuss how you, the designer/developer, might approach each situation differently.

For the sake of easy labeling, I’ll refer to each as follows:

  • Custom Theme: Refers to a theme designed for a client or personal project.
  • Public Theme: Refers to a theme designed for distribution as a commercial product or free download.

Getting the Gig

How does the task of designing a WordPress theme come about?

Custom Theme

If it’s a custom theme project, the job may have come about in a variety of ways. Perhaps it’s for a client that hires you directly. Or you may be working for an agency or acting as a sub-contractor. Perhaps it’s a custom theme design for your own personal project, like your portfolio website or personal blog.  

The one thing that all of these scenarios have in common is they come with a set of defined project requirements. Your job is to deploy a custom WordPress theme that delivers on these project objectives. 

Public Theme

Designing a theme as a commercial or free product? There are several ways to this:

  • Submit your theme as a free download in the WordPress.org themes directory
  • Promote and sell (or give away) your themes through your own website
  • Sell your themes through one of the popular theme marketplace sites like Mojo Themes or ThemeForest.

The key difference between a custom theme and public theme is you’re designing for a wide range of users who will use your theme in a variety ways. Your job is to walk a balance between functionality and flexibility while ensuring a smooth user experience.

The Audience

Who are the consumers of your custom or public theme?

Custom Theme

Designing a theme (or any site for that matter) for a client begins with a careful analysis of their target audience. You want to analyze whom they are marketing to (age, gender, interests, industry, location, etc.). You also want to fully understand your client’s business goals and how they can be achieved through a WordPress-driven website.

In addition to designing for your client’s target audience, you must also consider the needs of the client who ultimately will be the one managing the site via WordPress. Is your client web-savvy? Have they used WordPress before? These things may affect the way you set up the admin side of your custom WordPress theme.

Public Theme

Designing a theme for public release requires a very different approach when considering the intended audience. This is mainly because you really have no way of knowing who the audience is. Consumers of your theme come from a variety of industries and they will deploy your theme in a variety of ways.

The general rule of thumb here is to design for universal appeal. You want to keep things flexible and open-ended so that consumers will be able to tweak your theme to suit their specific needs.

Even if you’re designing a niche theme, such as a WordPress theme for a wedding blog, you still want to be sure that it will appeal to a wide audience within that niche.

Lastly, you should construct your theme with both developers and non-developers in mind. A large portion of your theme’s consumers will be web developers seeking to use your theme as a basis for their customizations.

Make things easy for developers and they’ll come back to your themes for all of their client’s websites!

The rest of your theme’s consumers will be non-developers, so your theme must work flawlessly out of the box without technical issues.

Design Considerations

What things about the design of a WordPress theme do you need to take into consideration?

Custom Theme

When designing a theme for a client, you can custom-tailor every detail to their specific requirements. Every design decision you make should serve a purpose related to your client’s goals and how their audience will use the site.

You need to create a layout that frames and presents their content in the best way possible. You have to conceptualize the flow of information through the site and implement theme navigation elements accordingly. In this sense, you’re designing with very specific guidelines in place.

But there are some creative freedoms at play here as well. For example, you can explore and develop much nuanced styles and treatments that speak directly to your client’s audience. You can try very specific typography choices using a service like TypeKit, which is a luxury not usually available when designing a public WordPress theme.

Then you have several rounds of client review, revisions, and sign-off. The extent of this process can vary depending on many factors ranging from contractual agreements to levels of company bureaucracy on the client’s end. Sometimes it’s a painless process, sometimes we tear our hair out trying to satisfy a client from hell (we’ve all been there).

Public Theme

The thing I love most about designing themes to release as products is the design process itself. There is no back-and-forth with a client and no contractual "sign-offs" involved—things that often add a lot of stress to the process. I get to run with what I think are my best ideas and what users will find most useful.

That’s not to say the designs are not impacted by user feedback. I like to ask for design feedback via Twitter. I also take into account which design approaches translate into higher download counts and sales.

Without a doubt, you can’t go wrong with a clean and simplified design approach. This makes for the most universal appeal.

It’s also a good idea to take various forms of content into account. The design should be flexible enough to accommodate a text-heavy blog as well as a multimedia-heavy (image/photo and video) one.

I also like to make several design features optional, meaning the user can easily enable or disable them via the theme options.

In addition, I often package several color options with theme, which are activated via distinct CSS stylesheets.

Clean slateClean Slate, one of my commercial WordPress themes.

Development and Features

What are the differences in development processes and feature specifications between a custom and commercial WordPress theme?

Custom Theme

The nice thing about coding a WordPress theme for a specific client is that there are few unknown variables. You likely know where the site will be hosted, which version of WordPress they’re running (hopefully the most recent), what type of content will be managed using the theme, etc.

Generally speaking, theme options and multiple widget areas are not as important when designing a custom theme for a client. Sure, a widgetized sidebar or footer might prove useful, however, sometimes this can cause more harm than good.

Depending on your client’s comfort level, it may serve them better to hard-code certain elements that won’t be changing very often (such as the primary navigation menu). This can protect against potential damage done by a curious client tinkering with the settings.

Other functionalities (such as contact forms) can often be achieved through the use of a plugin. Working for a single client, you’re able to implement a plugin of your choice and ensure it integrates seamlessly with your theme.

Public Theme

One of the most difficult things about developing a WordPress theme for mass consumption is that you must anticipate many different variables. Some web hosts are more WordPress-friendly than others. Ideally, your theme will be compatible with all hosting environments, but some will throw you curve balls.

You also can’t predict which plugins will be installed in conjunction with your theme. It’s impossible to guarantee compatibility with all third-party add-ons, but ideally, it should work with most—assuming the plugin is coded properly.

Clean and organized code should be a given in any web development project. But this is super important when constructing a WordPress theme for commercial release. As discussed earlier, you want it to be developer-friendly. Make it easy for developers to navigate through your code and make modifications. That means thoughtfully commenting your code, employing proper indents, and adhering to web standards.

It’s also a good idea to keep your coding style consistent across all your themes, giving repeat customers a sense of familiarity with your code.

Theme options also play an important role in distributed themes. Things like adding your own logo, configuring a featured posts slider, or inputting Google Analytics tracking code are all useful features to include in a theme options panel. However, I prefer not to go overboard here. You want to meet your user’s needs for flexibility, while not confusing them with too many options.

Public Theme

Customer/Client Support

Supporting your product can be very different for custom themes and public themes.

Custom Theme

Many of the client projects I work on also involve a certain amount of consultation and support during both the design process and post-launch.

If the client is not already familiar with WordPress, you may need to provide written documentation or training sessions on how to create posts and pages, manage the home page content, and other content management tasks.

You may also be tasked with installing, activating, and launching the theme on your client’s live website. This may include additional debugging and ongoing consultation.

The benefit here is that you’re only providing customer support to one person or group of people: your client. Once all of their questions are answered, your support duties are pretty much behind you. There may be ongoing (paid) work involved (such as maintenance and updates), but for the most part, the project is complete.

Public Theme

Dedicated customer support is often one of the biggest selling points for commercial WordPress themes. It has become an expectation that if you charge for your theme, you guarantee some type of support. Many free themes also come with a varying level of support from the theme author.

Support can be conducted via a support forum, which is the most likely method for large theme companies.

If you’re releasing a single theme or two on your blog, you might answer support questions in your blog comments. Undoubtedly, some customers will seek personalized support via email, which may or may not be something you’re willing to provide. My stance is I don’t officially offer email support, but I usually try to help out whenever I can. Users and customers appreciate it when you go above and beyond, and it often results in more referrals to your themes.

Don’t underestimate the time commitment involved in offering customer support for a distributed WordPress theme. The more downloads/sales you have, the more support requests will come in. Support can — and likely will — be ongoing over the life of your theme company so be prepared to dedicate a significant amount of time to customer support. For commercial theme companies, support is usually the first thing to consider when building a scalable business.

To a certain extent, you can offset your customer support obligations by providing thorough documentation on using your theme.

In addition, it’s a good idea to have detailed instructions built-in alongside your theme options.

Finally, you must thoroughly test your themes to iron out all of the bugs before releasing it into the wild.

What’s Your Take on Custom vs. Commercial WordPress Themes?

Please share your thoughts on custom vs. commercial themes.

Related Content

About the Author

Brian Casel is a web designer and the author of Design For Conversions, a book to help startups design a better marketing site. Check out Brian’s personal site, casjam.com and connect with him on Twitter @CasJam.

23 Comments

Rochelle Dancel

June 4th, 2010

Great post! As a designer with only a sound knowledge of HTML & CSS, I find that free themes are great on which to mock-up designs or re-skin, as the bones of the code are already there and tested.

Slobodan

June 4th, 2010

Interesting article. Thanks Brian.

I’m currently developing a public theme (probably gonna sell it on themeforest), and it’s really hard to cover everything since i have no idea how the user is going to use it. Does he use the post thumbnail feature for post thumbs, or he uses custom images or nothing at all, does he want the first image from the article to be shown or he doesn’t want any thumbs. That’s just a single example.

So, theme options are very important thing for public theme and here is a little screenshot of the theme options for the theme i’m building right now. http://wpcanyon.com/pics/restyled.png

Would love to hear what you think.

Heinrich

June 4th, 2010

Thank you for a very good article. I also prefer to work with WordPress and the information that you have provided will come in very handy. Splitting custom and public helps and the points that you mentioned are valid.

Jordan Walker

June 4th, 2010

Could devote more time to learning WP Themes!

Brian

June 4th, 2010

@Slobodan – nice work on your theme options interface. Although, It’s my personal opinion that CSS styles generally shouldn’t be controlled with theme options. I wrote an entire post about this last week here: http://www.briancasel.com/?p=1310

Regarding thumbnails – My general take is that if there’s a core WP feature for it (like post thumbnails), use that.

In the end, it’s best to release a solid first edition of the theme, get user feedback, then tweak accordingly via theme updates.

Anwar

June 4th, 2010

Thanks for the guidance on public themes design. I’m considering releasing some themes for sale on my site. This makes a good reference.

Chis Creed

June 4th, 2010

Thanks for the interesting article Brian – I personally prefer the commercial approach as I find it much more enjoyable and fulfilling working on my own ideas and designs. One point I’m not sure if I completely agree with you on is about designing commercial themes for “universal appeal” – I agree that you need to keep things flexible and open-ended, but you also have to be careful that you don’t try and please everyone. If you try and create a theme that appeals to everyone it’s possible that you could end with a theme that’s a bit too generic. I think it’s a difficult balance to get right with commercial themes.

ddeja

June 4th, 2010

From my experiance most of the companies that make public themes, base on one mabey two wordpress engine structures and many varieties of themes. Than there we have something new like fiolio themes – different structure, some modifications but that’s it. People do not try to use wordpress engine for more than just blog usage. And wordpress can be used as a project manager, e-commerce solution (even though they use wordpress to sell their own products) and probably many more branches of the market. I would love to see some cool theme modifications from those branches.

Probably for custom solutions those modifications are executed on the daily basis. So as for the custom themes for me those are more advanced.

With commercial theme there is mostly designer vision and usage included. For custom theme, the execution belongs to the designer but the vision is also partly (in some cases mostly) on the client side.

Amber Weinberg

June 4th, 2010

I’ve never been a fan of doing reseller themes because there’e too many variables you have to account for, including custom settings panels. These often take 2-3x longer than custom WP themes for clients, and you’re taking a gamble on if you’re going to be able to make the money back or not.

Bret Glassett

June 4th, 2010

Great article!

Curios, what would be the advantage(s) of submitting a theme for free to wordpress.org vs selling it on lets say Themeforest?

Bret

Slobodan

June 4th, 2010

@Brian – Interesting article. Got me thinking about the approach to the styling part of the options for sure. That thinking got me to a really nice idea, but need to think more about it :)

Thanks

Anne

June 5th, 2010

I’ve started just recently creating custom WP themes for clients, as well as developing WP as a CMS. Your post is really timely for me – great info, thanks!

Emily N.

June 7th, 2010

Hi, I’m very interested in Linux but Im a Super Newbie and I’m having trouble deciding on the right distribution for me (Havent you heard this a million times?) anyway here is my problem, I need a distribution that can switch between reading and writing in English and Japanese (Japanese Language Support) with out restarting the operating system.

David Wheatley

June 8th, 2010

As a web designer with a few years experience i have used both public pre-designed themes and also designed custom themes myself. I often notice when searching through public themes that they all contain very similar structures with just the aesthetic shell changed, once a designer has a sound knowledge of WordPress it’s probably easier to design their own custom theme for a client and you always learn something new that way.

Thanks for posting this article.

Brian

June 8th, 2010

@Chris Creed – You make a very good point. On ThemeJam, I try to offer a mix of flexible/open-ended themes and targeted stylized themes. The point I was making is that commercial themes in general always need a higher degree of flexibility than a client’s theme, where everything is custom tailored to their specific needs.

@ddeja – “People do not try to use wordpress engine for more than just blog usage.” –I don’t agree. Take a look at any prominent theme company and you’ll see WP being used for all sorts of CMS sites.

@Amber Weinburg – No doubt that creating a public theme takes more time/effort to build in all the options and whatnot. It’s hard work. But I do think that with a high-quality product, and serious support, it’s possible to make a profitable business. My theme company is still very young, but I can say with certainty that I have no regrets.

jotrys

June 9th, 2010

Great description as to the differences between designing a custom WP design and a public WP design.

There is another way many designers are using WP themes. That is customizing a WordPress theme from a custom or pulic theme. Now this is not in the scope of your article, but what are your thoughts on this?

Christian Louboutin

June 10th, 2010

good information you

write it very clean. I am very lucky to get this tips from you.

Brian

June 10th, 2010

@jotrys – That’s very true. I noted in this article that it’s important to design commercial themes to be flexible for developers to make their own customizations.

Also, just today, I have another article published on Mashable titled “10 Ways to Tweak Your WordPress Theme”. Check it out here: http://bit.ly/9oDFWj

Loy Lee

August 6th, 2010

Wow my head hurts after reading this articles and then the comments. I think both are needed as such like how twitter came forth with its API.

Sue Brettell

August 15th, 2010

I have a problem. I’m a front-end designer with modest coding skills and for several years I’ve worked in partnership with a highly skilled backend coder who makes my ideas come to life and ensures they function well. But his full time job and other commitments have reduced his availability.

I have some really innovative public theme designs in mind and I need to locate a great web builder who can help me make them a reality. I’d be looking for a joint collaborator, willing to invest time and expertise in return for sharing the proceeds. We’d need to be on the same wavelength and have shared values and tastes.

Anybody out there ever thought of setting up the equivalent of a web designer dating agency? I don’t know how else to source, get to know and establish a working relationship with the kind of associate I need.

If anybody has ideas on how to make connections, I’d love to hear them.

Fitri Mandiri

December 14th, 2010

nice article dab! it’s important to share..

Ali Nasir

February 7th, 2011

Well the article seems quite good and informative, however I think as far as theme development is concerned there are lots of things missing, which help to develop a stabel theme. I recommend reader to go through some other guides as well. Thanks for posting

Idris

October 2nd, 2011

great article and very useful tips…thank you for sharing

Leave a Comment

Subscribe to the comments on this article.