Case / 05 of 08
CTS Radios
A WordPress site the client can edit, built like software.
Context
CTS Radios (Communication & Technical Service) hires, sells and services two-way radios in the UK.
I rebuilt ctsradios.uk as an editable Elementor site on WordPress: product catalogue, hire and sale request flows, contact forms and SEO.
System
What I built
- Editable Elementor pages
- Product catalogue
- Hire / buy availability
- Brand filter
- Hire & sale request panels
- Contact enquiries
- Service pop-ups
- Crane radio system page
- Yoast SEO setup
- WebP image optimisation
The hard part
Editable by the client, reproducible by me.
Every page is generated from code: Python builds the Elementor layouts, and a WP-CLI importer upserts them by slug and uploads each image once.
The client gets a normal WordPress site they can edit in Elementor. I get a repeatable build and a local Docker stack that matches production.
Engineering decisions
- 01
Pages generated from code.
Python writes the Elementor JSON; a WP-CLI importer upserts pages by slug, so the initial build is repeatable.
- 02
Products as real content types.
A custom product type with category and hire/buy taxonomies, instead of hand-built pages.
- 03
Request panels know the product.
Hire and sale panels slide out with the model already filled in.
- 04
Images optimised on import.
WebP copies up to 1920px are generated and preferred by the importer.
- 05
Local mirrors production.
Docker on the same WordPress version as production, with Mailpit catching every test email.
Shipped
- Live site
- Product catalogue
- Hire / sale / contact forms
- SEO setup
Stack
- WordPress
- Elementor
- PHP
- MySQL
- ACF
- WP-CLI
- Docker
- Python
Integrations
- WPForms
- Yoast SEO
- Ultimate Addons
- Bluehost