Skip to content

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/wp and your code in web/app. Managed platforms expect WordPress at the web root with a standard wp-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

ImagewizeKinstaWP Engine
Privileged server accessFull sudo via a dedicated admin user — direct root login disabledNoneNone
Trellis provisioningYes, standard on every planNot possibleNot possible
Bedrock structure in productionNative, unmodifiedFlattened at buildFlattened at build
Nginx / PHP-FPM changesDirect, same daySupport ticketSupport ticket
InfrastructureDedicated VPS — Hetzner (EU), DigitalOcean, Vultr (US/AU)Google CloudAWS / Google Cloud
Metered onServer resources (RAM, storage)Monthly visitsMonthly visits + bandwidth
Who answers supportThe developer who provisioned your server24/7 support team24/7 support team
WooCommerce cache tuningCustom FastCGI rules per storePlatform defaultsPlatform 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 tierImagewizeKinstaWP 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.

  1. Audit. We look at your repo, current plan, plugin set and traffic pattern, and tell you honestly whether moving is worth it.
  2. Provision. A Trellis server in the region closest to your visitors — Hetzner for the EU, DigitalOcean or Vultr for US and Australia.
  3. 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.
  4. Staging check. Full copy running on the new server, tested before anything changes for visitors.
  5. 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

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.