For Roots Stack Developers & Agencies
The WP Engine & Kinsta Alternative That Actually Runs Trellis
Both are excellent platforms. Neither gives you privileged server access — which means Trellis cannot run on either, and Bedrock only deploys after being flattened back into a standard wp-content layout at build time. If you want the real Roots stack in production, you need a server you actually control. We provision and manage it for you. From €49/month.
The short version: Bedrock runs on WP Engine and Kinsta — but only after a build step restructures it, so what’s in production isn’t the layout in your repo. Trellis runs on neither, because Trellis provisions servers with Ansible and that needs sudo. Managed platforms don’t offer privilege escalation on any plan. If your workflow depends on the actual Roots stack, the only options are self-managing a VPS or having someone manage one for you.
Why Roots Developers Go Looking for an Alternative
Almost nobody leaves WP Engine or Kinsta because of uptime or speed. Both are genuinely fast and genuinely reliable. The friction shows up somewhere else — in the gap between how you develop and how you’re allowed to deploy.
- Your repo and your production site have different shapes. Bedrock keeps WordPress in
web/wpand your code inweb/app. Managed platforms expect WordPress at the web root with a standardwp-content. Something has to give, and it’s your structure. - You can’t change the server. An Nginx rule, a PHP-FPM pool size, a FastCGI cache exclusion for a WooCommerce endpoint — on a managed platform each of those is a support ticket, and the answer is sometimes no.
- Staging doesn’t match production. Trellis gives you identical development, staging and production environments from the same Ansible playbooks. A platform’s staging environment is a copy of the platform, not of your stack.
- The plan is metered in visits. Traffic spikes turn into overage conversations rather than a resource-utilization graph you can look at yourself.
- Support screens you before it reaches an engineer. Fine for a plugin conflict. Frustrating when you already know it’s a PHP worker exhaustion problem and need someone who can look at the server.
The Real Constraint: Root Access
This is the whole story, and it’s worth being precise about — because a lot of comparison pages get it wrong in both directions.
Bedrock: supported on both, but flattened
It is not true that WP Engine and Kinsta “don’t support Bedrock.” WP Engine publishes an official guide for deploying Composer-based sites, and Kinsta gives you SSH, Git and Composer on every plan. Bedrock projects do deploy to both.
What’s accurate is that Bedrock doesn’t run as Bedrock. WP Engine’s own documented workflow has you restructure web/app/ into wp-content/ during the build, copy the Composer vendor/ directory inside wp-content/, and add a custom 00-autoloader.php mu-plugin so the autoloader still loads. It works. But production is a transformed artifact, your .env-based config has to be reworked around the platform’s environment handling, and every debugging session happens against a directory layout that doesn’t exist in your repository.
Trellis: not possible on either
Trellis is not a deployment script — it’s Ansible provisioning an entire Ubuntu server: Nginx, PHP-FPM, MariaDB, Redis, the firewall, SSH hardening, Let’s Encrypt, swap, users. Ansible connects over SSH and escalates with sudo to do all of it, so it needs an account with root-level privileges on the machine.
Kinsta is explicit that root access is not provided on managed WordPress hosting, and that Nginx configuration changes have to go through their support team. WP Engine works the same way. This isn’t a gap either company should close — it’s the managed-platform model working exactly as designed. It just means Trellis is structurally off the table, and no amount of plan upgrading changes that.
What “root access” actually means here
Worth being precise, because the phrase gets used loosely. Handing out the root account is bad practice, and Trellis doesn’t do it — it does the opposite. Provisioning creates a named administrator user with sudo, a separate unprivileged web user that actually runs the site, and it disables direct root SSH login. You get complete administrative control of the server through an account with an audit trail behind it, which is a stronger security posture than logging in as root, not a weaker one.
So the real difference isn’t who gives you the root password. It’s that a managed platform withholds privilege escalation entirely — there is no path to sudo on any plan — while a Trellis server gives you the full administrative capability the stack needs, arranged the way it should be. If you’d rather not hold those credentials at all, that’s fine too: on a managed plan we run it and you never touch the server.
There’s a small irony worth noting: the most widely-read Bedrock and Trellis tutorial on the internet is published on Kinsta’s own blog — for a stack their platform cannot run.
Side-by-Side Comparison
| Imagewize | Kinsta | WP Engine | |
|---|---|---|---|
| Privileged server access | Full sudo via a dedicated admin user — direct root login disabled | None | None |
| Trellis provisioning | Yes, standard on every plan | Not possible | Not possible |
| Bedrock structure in production | Native, unmodified | Flattened at build | Flattened at build |
| Nginx / PHP-FPM changes | Direct, same day | Support ticket | Support ticket |
| Infrastructure | Dedicated VPS — Hetzner (EU), DigitalOcean, Vultr (US/AU) | Google Cloud | AWS / Google Cloud |
| Metered on | Server resources (RAM, storage) | Monthly visits | Monthly visits + bandwidth |
| Who answers support | The developer who provisioned your server | 24/7 support team | 24/7 support team |
| WooCommerce cache tuning | Custom FastCGI rules per store | Platform defaults | Platform defaults |
| Entry price | €49/mo | $35/mo | $30/mo (annual) |
Pricing, Honestly Compared
At one site, we are the most expensive of the three. That’s worth saying plainly. The picture changes at multi-site, and it changes a lot on storage.
| Roughly comparable tier | Imagewize | Kinsta | WP Engine |
|---|---|---|---|
| 1 site | €49 — 2 GB RAM, 40 GB NVMe | $35 — 35k visits, 10 GB | $30 — 25k visits, 10 GB |
| ~3 sites | €79 — 4 GB RAM, 80 GB NVMe | $115 (5 sites) — 125k visits, 30 GB | $55 — 75k visits, 15 GB |
| ~10 sites | €149 — 8 GB RAM, 160 GB NVMe | $225 — 315k visits, 40 GB | $109 — 100k visits, 20 GB |
Two things stand out. At ten sites we’re roughly a third cheaper than Kinsta and somewhat more expensive than WP Engine’s Growth plan — but with eight times WP Engine’s storage allowance. For a WooCommerce store with years of order history and a large media library, that difference stops being academic quickly.
The other difference is what you’re being metered on. Their plans are priced per monthly visit; ours are priced on the server you’re actually renting. A traffic spike shows up on our side as CPU and memory on a graph, not as a conversation about overage.
Note: the comparison above is deliberately not like-for-like, because the plans aren’t. Kinsta and WP Engine sell capacity measured in traffic; we sell a dedicated server measured in RAM and disk, with the management included. Prices checked August 2026 — verify current figures on their sites before making a decision.
Who Should Switch
- Agencies building on the Roots stack who are tired of maintaining a build step whose only job is to undo Bedrock. See Roots stack development for agencies.
- WooCommerce stores that need real cache control — cart, checkout and account pages excluded properly, product pages cached aggressively, Redis tuned for WC sessions.
- Teams with EU data-residency requirements who want German data centers and a straightforward answer about where the data physically sits.
- Anyone storage-constrained on a plan whose next tier is a large jump for disk they’d barely use.
- People who want to talk to the engineer, not a first-line queue.
Who Should Stay Where They Are
We’re a one-person consultancy. There are real situations where WP Engine or Kinsta is the better call, and pretending otherwise would waste your time and ours.
- You need 24/7 follow-the-sun support. Both run global support teams around the clock. We don’t. If a 3 a.m. phone line is a requirement, that’s a genuine reason to stay.
- You need a contractual uptime SLA or formal compliance attestations for procurement. WP Engine’s higher tiers carry a 99.99% SLA; we don’t offer one.
- Your team wants a self-serve dashboard. One-click staging, point-and-click backup restores, per-site user permissions — that’s a product investment we haven’t made. Our workflow is deploy-driven and CLI-first.
- You need a large global CDN footprint. Kinsta bundles Cloudflare Enterprise across a wide POP network. We serve a CDN, but not at that scale.
- Concentration risk matters to you. Depending on one senior developer is a different risk profile than depending on a company with hundreds of staff. Some organizations can’t accept that, and it’s a fair objection.
- You don’t use the Roots stack. If plain WordPress on a managed platform is working, the main reason to move doesn’t apply to you.
How the Migration Works
Migration is included free with every plan. We’ve moved sites off WP Engine, Kinsta, SiteGround, Cloudways and bare VPS setups. For a site already on Bedrock, the move is usually simpler than the original deployment was, because we’re removing the workaround rather than adding one.
- Audit. We look at your repo, current plan, plugin set and traffic pattern, and tell you honestly whether moving is worth it.
- Provision. A Trellis server in the region closest to your visitors — Hetzner for the EU, DigitalOcean or Vultr for US and Australia.
- Restore the real structure. If your project was flattened for the old host, we put Bedrock back the way it was meant to be and retire the build workaround.
- Staging check. Full copy running on the new server, tested before anything changes for visitors.
- DNS cutover during your lowest-traffic window, typically under a minute of interruption.
New to the stack, or evaluating it for a client project? Start with what Trellis WordPress hosting actually is, or see the full managed WordPress hosting plans.
Frequently Asked Questions
Can you run Trellis on WP Engine or Kinsta?
No. Trellis uses Ansible to provision and configure an entire Ubuntu server — Nginx, PHP-FPM, MariaDB, Redis, firewall rules, SSH hardening and Let’s Encrypt. Ansible escalates with sudo to do that, so it needs an account with root-level privileges, and managed WordPress platforms do not offer privilege escalation on any plan. Kinsta states this directly and routes Nginx configuration changes through their support team. Note that this does not mean Trellis hands out the root account — it creates a named admin user with sudo, a separate unprivileged web user for the site, and disables direct root login.
Does Bedrock work on WP Engine and Kinsta?
Yes, with a build step. WP Engine publishes an official guide for deploying Composer-based sites, and Kinsta provides SSH, Git and Composer on all plans. The catch is that Bedrock’s structure does not survive the trip: you restructure web/app into wp-content during the build, copy the Composer vendor directory inside wp-content, and add a custom autoloader mu-plugin. It works reliably, but production no longer matches your repository, which makes debugging and onboarding harder than it needs to be.
Is Imagewize cheaper than WP Engine or Kinsta?
Not at a single site — our entry plan is €49/month against roughly $30–35 for theirs. At around ten sites we are meaningfully cheaper than Kinsta and somewhat more than WP Engine’s Growth plan, but with about eight times the storage. The more useful difference is what is being sold: their plans meter monthly visits, ours provide a dedicated server measured in RAM and disk with full management included. If you would otherwise pay a developer hourly to handle server work, that cost is already inside the plan.
What happens to my existing build pipeline when I migrate?
Usually it gets shorter. Most Bedrock-on-managed-platform pipelines exist to transform the project into something the platform accepts — restructuring directories, relocating the vendor folder, injecting an autoloader. On a Trellis server none of that is needed, so those steps are removed rather than reconfigured. Deploys run through Trellis itself, and your repository structure is what runs in production.
Should I switch if I do not use Bedrock or Trellis?
Probably not for the reasons on this page. If you run plain WordPress and your current host is working, the structural argument does not apply to you. There are still reasons people move — storage limits, WooCommerce cache tuning, EU data residency, or wanting direct access to the person managing the server — but they are ordinary reasons, not the stack argument. We will tell you if we do not think a move is worth it.
Run the Real Stack in Production
Send us your repo and current plan. We’ll tell you what the migration involves — and whether it’s actually worth doing. Free migration, no commitment to inquire.