A minimal control layer
Git tracks only what the agency authors. Plugin state is tracked as knowledge, not files: a manifest plus a committed snapshot of installed versions.
WordPress site build & deployment
The standardised, git-managed WordPress build every new Business Nebula client site is spun up from.
Orion is the control layer for a live WordPress install. It tracks what Business Nebula authors — the Mairan theme, a baseline must-use plugin, config templates, deploy tooling and runbooks — and leaves WordPress core, premium plugins, uploads and the database to Duplicator Pro packages.
Business Nebula’s internal template for client WordPress builds. Enquire to have your site built on it.
Project Orion is the standardised WordPress build behind Business Nebula client sites. A golden-master template site holds the deployment-ready build, a persistent, licensed development site is where integration work happens, and each client site is created from the template rather than from scratch.
It is honest about what git can and cannot version. Theme code, must-use plugins and tooling live in git. Elementor templates, JetEngine definitions and RankMath settings live in the database, so Duplicator Pro packages version them instead, and the documentation says so plainly.
Key capabilities
Git tracks only what the agency authors. Plugin state is tracked as knowledge, not files: a manifest plus a committed snapshot of installed versions.
The theme is pulled in as a git subtree, so theme updates arrive with one subtree pull and client repositories take them the same way.
The server reaches out to GitHub and deploys locally, copying an allowlist of paths into the docroot. It merges rather than deletes, so other must-use plugins are never removed.
Login, admin-footer and dashboard attribution with a support widget, an environment badge on non-production sites, and a decluttered dashboard.
A branded splash toggled from the admin bar or wp-config. The public sees the splash, admins see a red indicator, and logged-in editors keep working on the real site.
In-progress sites sit behind cPanel Directory Privacy, never a silent noindex. A forgotten password shows a prompt at launch, and the golden master ships indexable.
Golden-master packages named orion-golden-YYYY-MM-DD, rebuilt at least monthly, each cross-referenced to a commit recording exact plugin and core versions.
GitHub Actions syntax-checks the PHP and validates the deploy script and .cpanel.yml, so broken PHP never reaches a server pull.
How it works
The theme, the site template and each client’s site live in separate repositories. Each tier consumes the one above it, so a fix lands upstream once and flows down to every site.
Mairan-wp-theme
Theme only. Never grows site config or deploy scripts.
Orion-wp-build
A GitHub template repository that consumes the theme by git subtree, with the mu-plugin, tooling and docs.
Client repositories
Created with “Use this template”: a clean copy that diverges with client branding and content.
Deploys
The hosting firewall drops inbound SSH, so GitHub cannot push to it. Orion flips the model: the server pulls from GitHub over an outbound connection the firewall allows, then deploys locally.
Retired: Push over SSH
GitHub Actions → rsync over SSH was built first. The firewall silently drops GitHub’s runner IPs, so it was retired.
Actions runs lint only. Nothing deploys from here.
php -lClones the repository outside the docroot and checks out the branch the site follows.
Update from Remote“Deploy HEAD Commit” runs .cpanel.yml, which runs the deploy script. A cron can automate it.
scripts/cpanel-deploy.shReceives the allowlist only: the theme and the must-use plugins.
themes/business-nebula/ · mu-plugins/Rolling back is checking out an older commit and deploying it again. Anything outside git’s scope is restored from a Duplicator package.
The boundary
Much of a WordPress site’s real state lives in the database. Orion draws the line explicitly, so nobody expects git revert to undo an Elementor edit.
| Layer | Versioned by |
|---|---|
| Theme code, mu-plugins, config templates, tooling, docs | Git (this repository) |
| Plugin files, WordPress core | Server and Duplicator packages, with versions recorded in a plugin snapshot |
| Database (Elementor, JetEngine, RankMath state), uploads | Duplicator packages only |
Client spin-up
A new client site follows the same runbook every time.
From the Orion template: a clean copy with no shared history.
A cPanel account or subdomain for the client site.
The latest Duplicator package handles the database, URL search-replace and config.
From the wp-config reference block, with the in-progress site kept private by Directory Privacy.
Point the deploy pipeline at the new site’s docroot.
It overwrites the packaged theme with the current theme, closing any drift.
Each premium plugin is activated against the client’s domain.
Rendering, editor, CPTs, SEO settings, environment badge — and, at launch, that the site is indexable.
On the client repository’s own branches, still taking theme updates by subtree.
Tech stack
Build on Orion
Orion is how Business Nebula spins up, deploys and packages client WordPress sites. Tell us about your project, or see how our web design and development work runs.
Developed by BN
WordPress theme framework
The GSAP-powered Elementor child theme and design-token framework behind Business Nebula client projects.
Animated SVG icon library
Over 24,000 animated marks in families of fifteen, each family with everyday tranches beside it.