< WordPress />

How to (properly) choose your WordPress theme?

Eroan Boyer

November 1, 2022

9 minutes

As part of WordCamp Lyon 2022, I gave a talk on my favorite topic: web performance. Among the many topics covered was the choice of theme and its impact on web performance, but also on resilience, scalability, and other concepts all closely related to the notion of quality. It is an essential topic that I would like to revisit in a little more detail in a blog post, explaining the approach that I consider to be the right one.

Eroan Boyer, at WordCamp Lyon, for his conference on WordPress and web performance
It's me, at WordCamp Lyon, for my talk on WordPress and web performance. It is available in full replay here.

Similar to the slide in my presentation dedicated to the subject, I will address the topic by detailing what absolutely must not be done. Many WordPress users indeed make the same mistakes, with a major impact on performance and the creation of technical debt that is extremely difficult to get rid of afterwards. This penalizes the User Experience, SEO, and many other essential components for the success of a website creation project.

Is your site as fast as your visitors expect?

Discover how we can help you

Why shouldn't you choose a theme for its design?

Because a design can be redone, while a technical foundation must be endured. Three criteria regularly lead to a bad choice: the appearance of the demo, advanced features that a dedicated plugin would handle better, and the promise of a Swiss Army knife theme. These three arguments produce the heaviest themes on the market.

… its design!

You have a very specific idea of what you want in terms of design, atmosphere, and colors. To find the theme that will suit your new site, you have browsed theme libraries until you found one that matches your tastes and needs? This is a serious mistake: by choosing a theme for its look, you will miss out on multiple complementary aspects that are just as, if not more, important!

Nice theme, isn't it? Don't stop at this criterion!
Nice theme, isn't it? Don't stop at this criterion!

It suits you today, but what makes you think it will be the case in 6 months or 2 years? If your needs evolve, will this theme be able to adapt to them easily? The right approach is therefore to opt for a theme that can be customized via the Customizer, and whose layout you will customize using a page builder, ideally Gutenberg. This theme should also offer an integrated hook system, in order to attach the content of your choice where you want it.

These types of themes are still rare, but several are fortunately among the most popular in the official WordPress repository. You can therefore install the very popular Astra, GeneratePress, and Blocksy with your eyes closed, as they provide a solid foundation for any project.

… its advanced features!

You have very specific needs for your project and are looking for a theme that can meet them? This is a serious mistake: a theme should manage a site's architecture, but not its advanced features. It is therefore systematically preferable to choose a general-purpose and technically solid theme (with a large user base, active support, and comprehensive documentation).

Very specific features should be supported by a plugin. There are no exceptions to this rule: whether for creating a learning platform (LMS), a geographic directory, or a portfolio, it is essential not to become trapped by a specialized theme. The idea here, again, is not to close doors for yourself when the project evolves and you want to offer new types of content through your site.

... its Swiss army knife side!

You have read the previous 2 parts of this article and therefore think that a theme with a feature list as long as your arm will be ideal? This is, again, a serious mistake: a good WordPress theme does not need to anticipate hundreds of features. Instead, it offers accessible mechanisms that make it easy to implement them. This is a very different approach: in one case, the theme locks you into its own interfaces, with its intrinsic limitations. In the other, it gives you the keys to implement exactly what you need.

It's reassuring to know that you can access 150 features with 1 click! And yet...
It's reassuring to think you can access 150 features with 1 click! And yet...

So beware of themes like Avada or Enfold, whose descriptions promise the moon regardless of the type of site to be created. They are often unnecessarily bloated, both in the administration interface and for visitors. Themes offered on marketplaces like ThemeForest and TemplateMonster generally tend to fall into this category. By favoring themes from the official WordPress directory, you will reduce the risk of ending up with a cumbersome system.

What are the criteria for choosing a WordPress theme?

Six technical criteria distinguish a good WordPress theme: its presence in the official directory, its generalist rather than specialized nature, its native customization options, its compatibility with the block editor, the lightness of the code it produces, and the presence of a hook system. None of them concern the design, which can be redone, whereas the technical foundation must be endured.

If we had to summarize the key points detailed in this article, here is a checklist:

  1. A popular theme from the official WordPress directory;
  2. A general-purpose theme that does not target a specific niche;
  3. A theme that offers multiple customization options via the native Customizer;
  4. A theme compatible with Gutenberg and blocks;
  5. A theme that has an integrated hook management system.

What is the best WordPress theme for performance?

GeneratePress is the theme we choose for our creations: it loads very little code by default and gives full control over what is actually served. Blocksy, Astra, and Kadence are credible alternatives based on the same principles. The native Twenty Twenty-Five themes remain the most streamlined for a simple site.

These themes share four characteristics. They load a few tens of kilobytes of CSS and JavaScript, compared to several hundred for a marketplace theme; they rely on the native editor rather than a proprietary builder; they expose hooks for proper extension; and they only load a resource if it is used on the displayed page.

Conversely, two families of themes pose structural problems. Multi-purpose marketplace themes, sold with dozens of importable demos, include all the code for all the demos. Themes coupled with a page builder add an extra rendering layer: their weight no longer depends on what you use, but on what the theme can do.

A word on the nuance that is often missing from this debate: no theme alone guarantees good Core Web Vitals. A streamlined theme that is poorly utilized, loaded with extensions, and served from shared hosting will be slow. The theme sets a performance ceiling, it does not determine the final result.

Do you need a theme or a page builder?

The question is poorly phrased: a page builder is not an alternative to the theme, it is an additional layer placed on top. It provides visual editing convenience, at the cost of JavaScript runtime executed on each display. WordPress's native editor renders static HTML, without code to execute on the visitor's side.

Since WordPress 5.9, the Site Editor allows composing entire templates with blocks, including header and footer, for themes that support it. Editing convenience is therefore no longer the exclusive domain of proprietary builders. Markup control remains total on the theme side, which is the condition for achieving tight Core Web Vitals.

When the native block library is not enough, extensions remain within this paradigm without adding heavy runtime. GenerateBlocks is the one we use, with a small number of highly configurable blocks and styles loading limited to the blocks actually present on the page. Spectra and Greenshift follow the same logic.

The point of concern is existing projects. Migrating from a builder to the native editor requires rebuilding templates, as the produced content remains dependent on the extension that created it. The exit cost is part of the initial choice, and it is precisely what is not measured at the time of installation.

Why do some themes load the same files twice?

Because each component includes its own dependencies. A theme loads a library that the builder reloads internally, two extensions each include their copy of jQuery, three sliders install three different versions of the same library. The browser then downloads the same code multiple times, parses and executes it just as many times.

The cost is double, as the Duplicated JavaScript audit in Chrome DevTools reminds us. Duplicate bytes weigh on the page weight, but above all, the main thread parses and compiles the same file repeatedly, even when the second version overwrites the first. Two versions of the same library can also conflict, reset a component, or break an event handler.

Checking takes two minutes: open the Network tab in DevTools, sort by filename, and look for duplicates, ignoring URL parameters used as cache-busters. The same path appearing twice is a flaw, never an inevitability: it is corrected by removing the superfluous declaration on the theme side.

This test is worth doing before buying, on the official theme demo. A theme that already loads duplicates on its own showcase, without any third-party extensions installed, announces what it will produce on your site once completed with your plugins and marketing scripts.

How to check if a WordPress theme is fast ?

Test the official theme demo in PageSpeed Insights before any purchase, in mobile version. A healthy theme displays a high lab score on its own demo : if it fails on its showcase, it will fail on your site, where your content, extensions, and marketing scripts will be added.

Then push the review on three objective points. Note the number of requests and the total weight of the demo page ; check in the Network tab if libraries like jQuery or icon files are loaded everywhere ; and see if the theme imposes a page builder. These three indicators can be read in five minutes, before any commitment.

Final check, often overlooked : the frequency of updates and the responsiveness of the editor. An abandoned theme becomes technical debt and a security risk, regardless of its initial score. A maintained theme is better than a fast theme whose development stopped two years ago.

These few selection criteria will allow you to avoid common mistakes and start your site project on a healthy and solid foundation. It will thus be easier to pass the Core Web Vitals (the famous Essential Web Signals of Search Console), but also to maintain it in optimal technical conditions in the long term. It will be an excellent basis for implementing SEO optimizations, a SEA strategy and maximizing your conversion rates.

The choice of theme is one of the few decisions in a WordPress project that commits performance for the entire life of the site. Revisiting it afterward requires a front-end redesign, whereas a few hours of comparison beforehand are enough to avoid it.

Continue reading