
2026 · End-to-end design & development · Xpandex
OrthoClub Academy
Training for orthodontists, with hand-written technical SEO
- WordPress
- PHP 8
- JSON-LD
- GitHub Actions
- SEO
- No plugin
- Environments
- dev → stage → prod
- Page builder
- Removed
Inside the site
Screenshots of the live site, at 1440px and 375px.

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px
Context
An academy training practising orthodontists. The previous site was built on Divi and carried the usual baggage: slow, unmaintainable without the licence, and with content trapped inside builder shortcodes.
The brief was a ground-up redesign that preserved the search rankings already earned. Clinical training is a sector where the site has to convey professional judgement, not sales enthusiasm.
Approach
- The page builder had to go. A custom PHP 8 theme with its own templates. Content stops living inside shortcodes and becomes HTML you can read, version and migrate.
- Technical SEO without a plugin. Rather than installing Rank Math or Yoast, SEO is injected from
inc/seo.php: meta tags, Open Graph, breadcrumbs and JSON-LD generated by the theme. One dependency fewer, full control over the markup, and no settings scattered through an undocumented database table. - Native AJAX forms with dual delivery: notifications reach the CRM and the mail parser at once, so no lead depends on a single channel.
- Clinical-authority aesthetics — floating navigation over a real photo of the team, gold on warm neutrals, and photography of actual sessions instead of stock teeth.
- Three branches with different destinations:
devdeploys nowhere,stagegoes to Hostinger for client sign-off,maingoes to IONOS for production. Each environment with its own secrets.
What I built
- Bespoke WordPress theme fully replacing Divi
- In-house SEO layer: meta, Open Graph, breadcrumbs and JSON-LD schemas
- AJAX contact forms with CRM integration
- Content structure for services, team, blog and shop
- Dual deploy pipeline: staging on Hostinger, production on IONOS
- Production migration preserving historical URLs
Outcome
Live on its own domain. With no builder licence to renew and no SEO plugin, annual maintenance comes down to updating WordPress and little else.
A note on this work
Built at Xpandex, where I run the full cycle: design, development, performance, accessibility, technical SEO and deployment. Session photography supplied by the client.