It starts with a great design
The purpose of a WordPress theme is to display your content in a pleasant way for your readers. So obviously, a great theme starts with a great, clean and usable design.
Decide your theme purpose – will it be a magazine theme, a blogging theme, or an online shop? Once you have made up your mind, check out what popular theme vendors like ElegantThemes or Themeforest have in stock, and take also a look at what kind of themes popular blogs and sites are using. A good source of inspiration can also be this list of the best free WordPress themes.
Looking for 2017 design trends? I’ve listed some in this article.
Don’t reinvent the wheel
WordPress is an open source software distributed under the terms of the GPL license. It ensures that users can freely re-use and adapt any part of the software. Most WordPress themes are distributed under the same GPL license (which is the right thing to do) so you can totally take parts of an existing theme and use it in your own project.
Although most themes aren’t made for being used as a starting point for a new project, some are developed with that purpose in mind. My favorite starter themes are underscores.me, Bootstrap Basic and UnderStrap (which I’ve used to create the current CatsWhoCode.com theme)
Code according to WordPress standards
Like most softwares, WordPress has its own coding standards. Why? Because hundreds of developers are working on the project, so standards ensure code readability. Using the correct coding standards when creating a theme intended for public distribution is definitely a good thing since it will make customization easier for users.
When coding your theme, always make sure that your code is up to date with the current release of WordPress. Check for PHP deprecated functions, have a look at the Codex for deprecated WordPress functions, and make use of the latest WP improvements.
Less is more
In recent years, most commercial themes are released with tons of features, most of them being useless to 90% of users.
Feel free to provide quality features, but don’t bloat your theme with too many options that will end up slowing down the theme for little or no use.
Ensure compatibility with popular plugins
WordPress is made to be extended by the use of plugins, some of which are very popular among users.
Making sure that your theme is compatible with the most loved plugins (Woocommerce, WPML…) will definitely increase its success.
Make your theme translation ready
As the most popular CMS, WordPress is translated into over 50 languages. But in order to be compatible with translations, you have to take care of a few things.
Our friends at WPMUDev have a complete article about localizing WordPress themes. Check it out!
Get ready to support users
If you plan to release your theme commercially, user support is something you need to keep in mind. Many users aren’t familiar with WordPress themes or would need customization services. This can represent a tremendous amount of time, but it’s also how most theme vendors are making big money.
Releasing your theme for free? Then don’t hesitate to provide it “as is”, as most free WordPress themes are.
Make a great demo site
Done with coding? Checked your theme speed? Your code is valid? Awesome! Now, what you need to do is to create a demo site that will allow users to see your theme in use. Build a great demo and install it on a quality server like Hostgator, Vidahost, WP Engine or KickAssd.
If you have carefully followed each step of this guide, I have no doubt that your theme will be a success, whether you release it for free or commercially.