Services
WordPress & CMS Engineering
Custom themes and plugins built to survive a decade of core updates.
Is this you?
Your theme is a page-builder house of cards, one plugin update away from breaking checkout. Or the site got hacked, and the developer who built it is gone. Or it's fine today — until the next WordPress release ships. Whatever version of the problem you have, you need someone who has been inside this platform since version 1.5, not someone who just installs it.
What I deliver
Custom themes
- Hand-coded themes and block themes (full site editing) with ACF Pro flexible content, custom post types, and custom taxonomies — no page builders in the deliverable
- Custom Gutenberg blocks and block patterns built in React and PHP, so editors get the exact layouts they need without a stack of third-party block plugins
- One theme I built has run 10+ years without a rebuild, while the team behind it shipped new landing pages with zero developer tickets
- Multilingual builds with WPML or Polylang and WCAG-conformant markup, for sites that need more than one language or a documented accessibility posture
- Child themes, hooks, and namespaced code only — never edits to core or parent themes, which is why a WordPress core update doesn't break what I build
Plugin engineering
- Object-oriented PHP with business logic separated from presentation — which means a plugin update six months from now doesn't require rewriting the whole thing
- Custom REST API endpoints and webhooks that let WordPress talk to any external system — CRM, ERP, EDI, or an internal dashboard
- WP-CLI automation and scheduled jobs for imports, exports, and syncs that have to run unattended, on schedule, without a human clicking a button
- Production-grade tracking and attribution plugins: multi-source tracking (11 sources on one build), GDPR-compliant handling, and 365-day audit-logged retention
- Feature plugins built so the data model and business logic survive a future theme change — nothing critical lives only in the theme
WooCommerce & commerce
- Custom WooCommerce builds: product types, checkout flows, subscriptions and memberships, and B2B pricing rules that stock plugins don't support
- POS and inventory sync with custom database tables and full sync logging, so a discrepancy is traceable instead of a mystery
- WooCommerce, BigCommerce Stencil (six years — custom themes from scratch, Handlebars, Storefront and Catalog APIs), Shopify Liquid, and HubSpot CMS
- Storefront and catalog migrations in either direction without losing search rankings — redirects mapped, structured data preserved, order and customer history intact
WordPress performance
- Object caching (Redis or Memcached) and database query profiling — the two places a slow WordPress install almost always lives
- Image pipelines (AVIF/WebP, responsive srcset) and asset build discipline, so a media-heavy site still loads fast on mobile
- CDN and edge-cache rules tuned for WordPress's admin-ajax and REST API traffic, not just static assets
- The same guaranteed 90+ mobile PageSpeed methodology from my performance practice, applied to WordPress templates specifically
Security & rescues
- Malware removal and hardening for compromised installs — I've restored sites from nothing but a SQL dump and a public_html zip
- Fluent in every major builder — Divi, Elementor, Avada, Beaver Builder, Genesis, X/Themeco — I know where their metadata lives, so a rescue doesn't force a rebuild you didn't budget for
- Staged preview environments, version-controlled deploys, and automated backups, so a broken production push stops being a recurring event
- Ongoing maintenance retainers: core and plugin updates, uptime monitoring, and a monthly written status — not a black box
Headless & integrations
- Decoupled WordPress with WPGraphQL or the REST API behind a Next.js (or other modern) front end, when you want the editing experience without the rendering limits
- Multisite network management for agencies and franchises running many sites from one install
- JSON-LD structured data (FAQ, LocalBusiness, Product, custom types) built into the templates, not bolted on after launch
- Third-party integrations wired directly into WordPress hooks and REST endpoints — payment gateways, CRM, ERP, and EDI systems
Proof
100+
WordPress builds delivered
10+ yrs
longest a theme I've built has run without a rebuild
20 yrs
building on WordPress, since WP 1.5
Selected work
WordPress & CMS · Digital marketing
Agency flagship site
Custom WordPress theme from scratch — no page builders. ACF modular layouts and custom post types. Ran 10+ years without a rebuild while marketing shipped landing pages with zero developer tickets.
WordPress & CMS · Lead generation
Gravity Forms Lead Tracker
Production plugin attributing 11 lead sources with GDPR-compliant tracking and 365-day retention.
WordPress & CMS · Retail / POS
Leafnet POS Sync
Custom WooCommerce plugin syncing remote POS stock in near real time. Clean OOP split, custom tables, full sync logging.
How I run it
Audit
Versions, plugins, theme structure, and dependencies — the full state of the install, in writing, before anything changes.
Spec
Data model, custom post types, and templates defined up front — whether it's a new build, a migration, or a rescue.
Build
A staged preview environment you can click through at every milestone, so there are no surprises at launch.
Handoff
Migration with a rollback plan, documentation for the next developer, and an optional maintenance retainer if you want me to stay on.
FAQ
Do you build custom WordPress themes from scratch?
Yes — hand-coded themes with ACF Pro flexible content, custom post types, and custom taxonomies, or block themes built for full site editing. No page builders in the deliverable. One theme I built has run more than 10 years without a rebuild.
Do you ever use page builders like Elementor or Divi?
Not in what I build — they create the upgrade debt I'm usually hired to remove. In rescues, yes: I work fluently inside Divi, Elementor, Avada, Beaver Builder, Genesis, and X/Themeco instead of forcing a rebuild you didn't budget for.
Can you take over an abandoned or hacked WordPress site?
Yes. Standard intake is a full backup, a plugin and theme audit, a dependency map, then a written recovery plan. I've restored sites from nothing but a SQL dump and a public_html zip, including malware removal and hardening.
Do you build custom Gutenberg blocks or work with full site editing?
Yes — custom Gutenberg blocks and block patterns in React and PHP, plus block themes built for full site editing (FSE), when a client-managed page-building experience matters more than a hand-coded template. Both ship as version-controlled code, not drag-and-drop configuration.
Can you make WordPress headless with Next.js?
Yes. I decouple WordPress using WPGraphQL or the REST API behind a Next.js (or other modern) front end — you keep WordPress's editing experience and lose its rendering limitations. This is a fit when performance or a custom UI matters more than a themed front end.
Do you work with WooCommerce, subscriptions, and custom checkouts?
Yes — custom product types, checkout flows, subscriptions and memberships, B2B pricing rules, and POS/inventory sync with full logging. I also migrate WooCommerce stores to and from BigCommerce, Shopify, and HubSpot CMS without losing search rankings.
Do you offer ongoing WordPress maintenance and support?
Yes — retainer-based core and plugin updates, uptime monitoring, backups, and a monthly written status. It's the same standard I hold for a new build: documented, not a black box. Most rescues convert into a retainer once the site is stable.
Do you edit WordPress core or parent themes?
Never. Child themes, hooks, and namespaced plugin code only — it's why builds I ship survive core and plugin updates instead of breaking on the next release. It's a policy, not a preference, applied to every engagement.
Have a WordPress project — a build, a rescue, or ongoing support?
Written scope, milestones, and a fixed price. I reply within one business day.