Key Takeaways
- WordPress inconsistency usually comes from several styling systems competing: theme defaults, builders, plugins, custom CSS, copied blocks and local editor choices.
- Audit where styles originate before replacing the theme or adding another plugin.
- Define a small design system for colour, typography, spacing, components, patterns and templates, then connect it to the editing tools people use.
- WordPress theme.json can centralise many block-theme settings, but user overrides and third-party code still need governance.
- Fix repeated system problems first. One global decision can improve hundreds of pages more safely than manual page-by-page tidying.
A WordPress website often becomes inconsistent gradually. The homepage was built by an agency, a landing page came from a plugin, the blog uses the theme defaults, and an editor copied a coloured block from an old campaign. Each page may look acceptable alone. Together they feel like several websites sharing a domain.
Installing a new theme is not automatically the answer. If the content, plugins, templates and editing habits remain uncontrolled, the new site will drift again. A better first step is to identify every source of visual decisions and create one practical design system that works in the front end and the editor.
The system does not need to be enormous. A small UK business may need a reliable type scale, colour roles, spacing, buttons, forms, cards, page templates and a handful of approved patterns. The value comes from reuse and ownership, not the number of pages in a design document.
The Main Sources of WordPress Design Drift
Theme defaults
The active theme supplies global styles, templates and component behaviour. A child theme, custom CSS or user settings may override it. If the site has changed themes several times, old plugin and content assumptions can remain.
Page builders
Builders often have their own global colours, type scales, templates and responsive controls. Individual widgets can also carry local values. When editors bypass the global settings, every page becomes a separate design file.
Block editor settings
WordPress blocks can use theme presets, global styles and local options. Reusable patterns improve consistency, but copied blocks with individual colours and spacing can spread old decisions across the site.
Plugins
Forms, ecommerce, bookings, memberships, cookie tools and pop-ups may each load their own CSS. Some expose styling controls; others require deliberate theme integration. Adding another styling plugin usually adds another layer rather than resolving the existing ones.
Custom CSS and code snippets
Quick fixes accumulate. A selector written for one page may affect another after a plugin update. Several rules may fight through specificity and important declarations. Nobody knows which one is safe to remove.
Content itself
Mixed image ratios, inconsistent heading levels, manually bolded titles, pasted formatting and vague button text can make a technically consistent template look untidy. Design governance includes editorial rules.
Our guide to what a brand system is explains the wider identity layer. The WordPress design system turns those brand choices into repeatable website behaviour.
Audit the Live Site Before Changing It
Choose a representative sample:
- homepage;
- two service or product pages;
- an old and recent article;
- a campaign landing page;
- contact, form and confirmation states;
- search, archive and error pages;
- account or checkout pages where relevant;
- desktop, tablet and mobile widths.
Record visible differences in a table:
| Element | Versions found | Likely source | Decision |
|---|---|---|---|
| Primary button | Four | Theme, builder and form plugin | Define one main and one secondary pattern |
| Heading scale | Six | Theme presets and local sizes | Map to approved H1-H4 roles |
| Card spacing | Five | Three templates | Create reusable card patterns |
| Form fields | Three | Two plugins and custom CSS | Integrate states and labels |
Then inspect the source. Browser developer tools can show which stylesheet and selector is winning. In WordPress, review the active and child themes, Site Editor styles, builder settings, customiser options, custom CSS, snippets, plugin settings and template files.
Do not deactivate or delete anything on production merely because it looks redundant. Record dependencies and test in a safe copy. If the site is difficult to assess, begin with a website audit and consultation.
Define the Smallest Useful Design System
Colour roles
Use names based on purpose rather than appearance. “Action primary”, “text muted”, “surface raised” and “error” are more useful than “blue 2”. Map each role to an approved brand value and accessible combination.
Allow enough flexibility for real content, but remove colours nobody can explain. An editor should not choose from twenty near-identical blues.
Typography
Define font families, fallbacks, weights, line heights and a responsive scale for headings, body, labels and small supporting text. Use semantic heading order for structure; do not select H3 merely because it looks smaller.
Test long titles, narrow screens and browser zoom. A display font can add personality to short headings while a practical body font protects readability.
Spacing and layout
Create a limited spacing scale for gaps, padding and sections. Define content widths, grids and breakpoints. Consistency does not mean every section has the same depth; it means differences come from a shared scale and clear purpose.
Interface components
List repeated elements:
- buttons and text links;
- navigation and breadcrumbs;
- cards and content previews;
- forms, labels, help, errors and success states;
- accordions and tabs;
- notices and calls to action;
- tables, quotations and media;
- pagination and filters.
For each component, define variants and states. A button needs hover, focus, disabled and loading behaviour, not only a colour sample.
Content patterns
Combine components into approved editorial patterns: service introduction, proof section, team profile, comparison, FAQ, contact prompt or related articles. Patterns give editors useful building blocks without asking them to compose every page from raw elements.
Page templates
Use templates for stable page-level structures. A small service business might need standard pages, services, articles, campaign landing pages and contact or conversion journeys. Add a variant only when the content job is genuinely different.
How theme.json Fits the System
For modern block themes, WordPress uses theme.json to configure global settings, styles, templates and related behaviour. The official Global Settings and Styles documentation explains that it can define colour palettes, typography, spacing features, custom properties and block-level styles.
This provides a strong technical bridge between the design system and the editor. Approved values can appear as controlled presets instead of asking editors to remember codes.
The same documentation also describes a hierarchy. WordPress defaults can be overridden by the theme, a child theme, user configuration and filters. That means theme.json is not an absolute lock. A user setting stored through the Site Editor may take priority, and plugins can intervene.
Use it deliberately:
- define approved colour and spacing presets;
- configure font families and sizes;
- limit controls that create unwanted variation;
- style standard elements and blocks;
- expose useful choices with clear names;
- keep the file under version control;
- document any filters or child-theme overrides.
WordPress's detailed styles guidance recommends using the styles property for standard WordPress features where possible, which helps integrate the choices with the editor and avoid unnecessary CSS specificity problems.
What About Classic Themes and Page Builders?
A design system is still possible without a block theme. Use the most central supported layer available:
- theme variables or CSS custom properties;
- builder global styles and components;
- a child theme for maintainable code changes;
- documented form and plugin integration styles;
- approved templates and reusable sections;
- editor permissions and training.
Avoid defining the same token independently in the theme, builder and plugin when one can reference another. If the primary brand colour changes, the aim is to update one controlled source, not search through a hundred pages.
Custom CSS may be necessary, but organise it by system and component rather than adding isolated snippets. Comment the purpose, scope and dependency. Test changes in staging and keep version history.
Rebuild or Repair?
Repair the existing site when
- the platform and theme are supported;
- the main templates are structurally sound;
- style sources can be consolidated safely;
- content and URLs remain useful;
- editors can adopt controlled patterns;
- the cost of a rebuild would not solve a different business need.
Consider a rebuild when
- several builders or abandoned themes are intertwined;
- updates repeatedly break custom code;
- basic components cannot be reused reliably;
- accessibility and performance faults are structural;
- the editing workflow is unsafe or unusable;
- a wider change in position, content or functionality justifies the work.
A WordPress development project should create a maintainable system rather than another set of one-off pages. Our guide to custom WordPress development costs explains how architecture, integrations and content affect scope.
Do not use visual inconsistency as the only reason for a platform migration. Identify whether the problem is technology, implementation or governance.
Clean Up in a Safe Order
1. Back up and create a staging environment
Take verified backups and test recovery. Use a protected staging copy that reflects production. Record the active theme, plugins, PHP version and relevant settings.
2. Establish design tokens
Implement approved colour, typography, spacing and layout values at the central theme or builder layer. Do not remove old values until you know where they are used.
3. Build and test core components
Start with navigation, buttons, forms, headings, cards and calls to action. Test responsive, keyboard, focus, error and content edge cases.
4. Create patterns and templates
Replace repeated manual sections with controlled patterns. Give them clear names and previews. Keep flexibility only where content teams need it.
5. Migrate representative pages
Apply the system to a service page, article, landing page and form journey. This exposes gaps before the whole site is changed.
6. Remove obsolete layers carefully
After confirming that pages no longer depend on old CSS, plugins or builder widgets, remove them in staging and retest. Avoid leaving two systems active indefinitely.
7. Roll out by priority
Fix high-traffic, high-value and high-risk pages first. Keep URL, metadata and structured-data changes controlled. If the cleanup includes a redesign or migration, follow the website redesign SEO guide.
8. Train editors and monitor
Show the team how to choose templates, patterns and approved variants. Explain what not to paste into the editor. Review new pages after launch and improve the system when a genuine content need is missing.
Design the Editor Experience Too
If the front end is consistent but editors face an unlabelled grid of controls, drift will return. Make the approved way easy.
Use clear pattern names such as “Service proof — three items” instead of internal code terms. Add useful previews. Remove obsolete patterns. Limit arbitrary colour and spacing controls where they are not needed, but do not lock the editor so tightly that every content update needs a developer.
The GOV.UK Design System advises teams to start by using existing styles, components and patterns and contribute or extend only where a need is not already met. A small business does not need to copy that system, but the principle is valuable: reuse tested patterns before creating another variation.
Create an exception process. If a campaign needs a new component, test whether it has wider value. Add it to the system with an owner, or mark it as a temporary exception with a removal date.
Include Content and Accessibility Rules
Visual consistency fails when the content structure is inconsistent. Add concise editorial rules:
- one page title and logical heading order;
- descriptive link and button text;
- standard image ratios and meaningful alt text;
- plain language for forms and errors;
- approved treatment for tables and downloads;
- current contact, pricing and legal information;
- no pasted font sizes or colours;
- review responsibility and date.
Test the system with keyboard navigation, screen magnification, browser zoom, reduced motion and representative assistive technology where appropriate. Consistency helps accessibility because familiar controls behave predictably, but a consistently inaccessible component is still a problem.
If the identity needs translating into repeatable digital rules, the design systems service can define components, documentation and governance around the actual website.
Measure Whether the Fix Worked
Create a before-and-after inventory of unapproved colours and type sizes, button and form variations, templates and patterns, pages with inline styles, component-level accessibility or performance issues, publishing time and review defects.
Do not chase zero variation. Legitimate content requires exceptions. The aim is to reduce accidental difference and make intended difference explainable.
Review newly published pages monthly at first, then move to a regular sample. When editors repeatedly need the same workaround, improve the system rather than blaming the editor.
Frequently Asked Questions
Why do WordPress pages look different from each other?
Common causes include several builders or themes, local block overrides, copied inline styles, overlapping plugins, old templates and unclear editorial rules. Inspect the rendered pages and the sources of each style before replacing the theme.
Can theme.json fix WordPress design consistency?
It can provide shared settings and styles for block themes, including colour, typography, spacing and block behaviour. It cannot automatically remove old inline styles, plugin CSS, custom templates or user overrides, so the wider system still needs an audit.
Do I need to rebuild my WordPress website to add a design system?
Not always. A stable site may be improved by defining tokens, global styles, patterns and templates, then cleaning high-value pages gradually. A rebuild is more sensible when the theme, builder and plugin structure prevent safe reuse or maintenance.
How many WordPress page templates should a small business have?
Use the smallest set that covers real content jobs, such as core pages, services, articles, landing pages and contact journeys. The right number depends on content, not a fixed rule; unnecessary variations create more maintenance and drift.
How do we stop editors breaking the design system?
Give editors approved patterns, sensible controls, clear examples and training. Restrict high-risk global settings, define an exception process and review live pages. Governance should make correct publishing easier rather than removing every useful choice.
How to Maintain the Design System
Page-by-page tidying is slow because it treats every symptom separately. A practical design system gives the brand and development team one shared set of decisions, then gives editors safe tools for using them.
Begin with a representative audit and fix the components that repeat most often. If the current WordPress structure prevents that work, review the website redesign service or contact MattDarm with examples of the inconsistent pages. The first decision should be repair or rebuild, based on evidence rather than another layer of styling.




