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.
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.
WordPress coding standards for PHP, HTML, CSS, and JavaScript can be found on this page.
Stay updated
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.
Quality check
Your theme is probably good right now, but what about striving for perfection? Make sure your theme is speed-optimized to ensure fast loading, and responsive for correct display on mobile devices.
Once done, check your code for valid HTML5 and CSS. To do so, the good old W3C Validator is the best tool.
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 WP Engine, Hostgator, Vidahost 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.