14+ years building on WordPress / Replies in under 5 hours
🎨 Theme customization service

WordPress theme customization

You already have a theme — Astra, GeneratePress, Kadence, Divi, Avada, or a premium theme you chose carefully — but it needs work before it looks like your brand rather than a template. I customise your existing theme via a WordPress child theme, applying your exact brand colours and typography, adjusting layouts, adding custom sections, and cleaning up conflicts or leftover customisations from a previous developer — without a full rebuild and the three-week timeline that comes with one.

In short

WordPress theme customisation is modifying an existing WordPress theme — Astra, GeneratePress, Kadence, Divi, Avada, OceanWP, or any theme — to match your brand and requirements, without rebuilding the whole site from scratch. I implement all changes via a WordPress child theme, so your customisations survive parent theme updates. Work covers CSS and PHP overrides for brand colours, typography and spacing; custom template parts for sections the theme doesn't cover; layout restructuring; and cleanup of conflicts or abandoned customisations from previous developers. Priced and delivered on a fixed-scope basis.

Who it's for

Sites with a theme that's 80% right but looks too generic or off-brand Businesses needing brand colours, typography and spacing applied correctly Sites with messy theme customisations left by a previous developer Anyone who wants new page sections or templates without rebuilding the whole site Businesses that need their existing theme to pass WCAG 2.1 AA accessibility

What's included

Child theme setup with your customisations isolated from parent theme updates
Brand colour, typography and spacing applied via CSS custom properties
Custom page templates and template parts for sections the theme doesn't cover
Layout adjustments: header, footer, sidebar, column structure
Cleanup and removal of conflicting or abandoned previous customisations
WCAG 2.1 AA accessibility corrections where existing theme fails audits
Core Web Vitals review and any performance adjustments within theme scope
Cross-browser and mobile testing on completion

How the process works

1

Audit the theme

I review what the parent theme supports natively vs what needs custom PHP or CSS, document all existing customisations (including leftover code from previous developers), and flag any conflicts before writing a single line of new code.

2

Build on staging

All changes go through a child theme on a staging copy of your site — never directly editing the parent theme or live files, so your live site is untouched throughout.

3

Review & revise

You review the staging URL with your real content and brand assets. I adjust until the result matches your brief in a single revision round.

4

Deploy with rollback

Changes pushed live via the child theme with a rollback point via Git. The parent theme can still be updated independently without touching your customisations.

Typical outcomes
Update-safe
child theme protects all customisations from parent updates
WCAG 2.1 AA
accessibility corrections included where needed
1–2 wk
typical delivery for most theme customisation projects

Common questions

Yes — all customisations are implemented in a WordPress child theme, which is a separate plugin-like theme that inherits from the parent but keeps your overrides independent. When the parent theme (Astra, GeneratePress, Kadence, Divi, Avada) releases an update, WordPress applies it to the parent theme files only — your child theme's CSS overrides, template part overrides and custom functions remain untouched. This is the WordPress-standard method for safe, update-proof theme customisation. I also commit all child theme code to a Git repository so every change is version-controlled and can be rolled back.

Yes — this is a very common request. Previous developers sometimes add conflicting customisations in multiple places: the WordPress Customizer, a child theme's functions.php, inline styles via the Additional CSS field, and a page builder's per-element CSS — all targeting the same element with different values. I audit every location where customisation code exists, document what each piece does, remove redundant or conflicting overrides, and consolidate everything into a clean child theme with CSS custom properties. The result is a site that looks correct and has a single, maintainable set of customisations you can hand to any future developer without embarrassment.

Yes. I add custom template parts (PHP template files in the child theme directory) for sections the parent theme doesn't include — custom hero layouts, testimonial sections, feature comparison tables, pricing grid sections, team roster templates. These template parts are called from custom page templates or via WordPress template hierarchy overrides in the child theme, so they integrate with the existing theme's CSS and JavaScript without duplicating the parent theme's full layout structure. For more complex new features that need WordPress admin UI or custom post types, see custom plugin development — those are better implemented as standalone plugins rather than theme template files.

I'll tell you clearly during the audit phase if a customisation project would be forcing something onto an incompatible theme — and what a realistic alternative looks like. Some themes (particularly older premium themes like Avada pre-v7, or heavily customised Divi installs) have architectural constraints that make certain layout changes practically impossible without rebuilding core theme templates in ways that break on updates. In those cases, a targeted rebuild of the affected templates as a headless theme layer, or a full migration to a lighter theme like Astra or GeneratePress, may be a more cost-effective solution than fighting the constraints. Custom theme development from scratch removes all those constraints — I'll give you an honest comparison of costs and timelines for both paths.

Often, yes. Many Core Web Vitals problems (CLS from images without explicit width and height attributes, LCP caused by a large hero image loaded without preload link, INP from event listener overhead in the theme's JavaScript) are fixable at the theme level without plugin-level caching changes. During a theme customisation project, I audit Core Web Vitals alongside the visual changes and fix any performance issues within theme scope. For deeper performance work — Redis object cache, database query optimisation, server-side caching — that goes beyond theme scope and into dedicated speed optimisation work.