CSS

Sensible font sizing in CSS — rem, clamp, and fluid type

HCOMS November 2025 5 min read

A WordPress theme controls how the site looks. A WordPress plugin controls what it does. The line between them is fuzzier than it used to be — but for someone choosing a theme for the first time, that's the right mental model.

The theme is the templates, the CSS, the fonts, the layout decisions, the colour palette, and (in modern WordPress) some of the editor's design controls. Switch theme and the same content takes on a different appearance. Plugins like WooCommerce, Yoast, Contact Form 7 — those add functionality, and a good theme stays out of their way.

The three categories of theme

1. Free themes from wordpress.org

Maintained, security-reviewed, and free. The defaults Twenty Twenty-Five etc. are excellent starting points and ship with the WordPress core team. For a personal blog or a one-page brochure, these are entirely sufficient.

2. Paid premium themes

ThemeForest, StudioPress, Astra Pro, Kadence. £40–80 one-off, often with optional ongoing support. Quality varies wildly. The good ones are excellent — the bad ones bundle ten plugins, load five fonts, and are slow to update for security fixes.

3. Custom-built themes

Built for one client, by a developer. Costs £3k–£20k depending on scope. The right answer when your brand matters, when you have specific layout needs, or when you want a site that loads in under a second.

The four red flags

If you're shopping for a paid theme, watch out for:

  1. "Bundled plugins" of dubious origin. Many themes bundle premium plugins as a sales pitch. The problem: when those plugins ship a security fix, the theme author has to repackage and re-release before you can update. Themes that bundle plugins like Slider Revolution have a history of leaving sites vulnerable for months.
  2. Page-builder lock-in. If the theme requires Elementor, Divi, or WPBakery to lay out pages, your content is now welded to that page builder. Switching theme means rebuilding every page. Prefer themes built on the native block editor.
  3. "Demo content" import that brings 20 dependencies. If installing the demo data adds a dozen plugins to your site, walk away. Each one is an attack surface and a future maintenance burden.
  4. Last update older than six months. Themes need maintenance to stay compatible with WordPress core updates. An abandoned theme is a security incident waiting to happen.

Child themes

A child theme is a small theme that inherits from a parent theme and overrides specific bits. If you're customising a theme even slightly, do it in a child theme, never in the parent's files. When the parent updates, your changes survive.

The minimum child theme is a folder with two files:

/wp-content/themes/twentytwentyfive-child/
  style.css
  functions.php

And a header in style.css:

/*
Theme Name:   Twenty Twenty-Five Child
Template:     twentytwentyfive
Version:      1.0
*/

When to buy, when to build

Buy a premium theme if your needs are conventional — a hotel, a restaurant, a portfolio, a basic shop. There's almost certainly a £60 theme that does 95% of what you need.

Build a custom theme if your brand is the product, if performance matters, or if you've outgrown three previous themes. The cost is real but it's a one-off — a custom theme tends to outlive its WordPress installation.

If you'd like a hand picking a theme, or building a custom one, we've worked with WordPress since version 1.5. We have opinions.

Related notes