Skip to content

Bedrock + Sage + Acorn vs Radicle: Choosing the Right Roots Starting Point

Emnes
Side-by-side comparison of DIY Roots stack assembly vs Radicle all-in-one

Every team starting a new Roots.io-based WordPress project eventually faces the same fork in the road: build the stack yourself by combining Bedrock, Sage, and Acorn — or buy Radicle, the pre-assembled all-in-one starter. Both produce production-grade projects. Both end up using the same core tools under the hood. But the paths are meaningfully different, and picking the wrong one wastes either money or time.

This post is an honest side-by-side comparison of Bedrock + Sage + Acorn vs Radicle. We’ll cover the setup effort, the structural differences, long-term maintenance considerations, and a decision framework that cuts through the ambiguity. If you’ve read our Bedrock guide, Sage 11 deep dive, Acorn explainer, and Radicle complete guide, you have the background — this post is the comparison itself.

What You’re Actually Comparing

Both options give you:

  • A Composer-based WordPress project (Bedrock or Bedrock-derived).
  • Blade templating via Sage.
  • Laravel features via Acorn.
  • A Vite-based asset pipeline.
  • Tailwind CSS by default.
  • Production-ready .env-based configuration.

The differences are in project structure, default mu-plugins, setup effort, and license cost. They’re real but not vast.

Setup Effort

Bedrock + Sage + Acorn (Manual Assembly)

Realistic time for an experienced Roots developer, starting from zero:

  • Bedrock install — 10 minutes.
  • Sage install inside the theme directory — 5 minutes.
  • Initial Sage configuration — theme name, Tailwind tokens, Vite config review — 30 minutes.
  • Install curated mu-plugins (Query Monitor, Extended CPTs, Allow SVG, Acorn Prettify, Blade Icons) — 20 minutes.
  • Wire Acorn at the project level if you want Laravel features outside the theme — 45 minutes.
  • Set up testing scaffolding with Pest — 30 minutes.
  • Add custom routing if desired — 30 minutes.
  • Configure Acorn migrations — 20 minutes.

Total: 3–4 hours for someone who’s done it before, 1–2 days for someone learning.

Radicle

  • composer create-project roots/radicle — 5 minutes.
  • Copy .env.example to .env, fill in credentials — 5 minutes.
  • Run WordPress installer — 2 minutes.

Total: ~15 minutes. You’re writing application code within the hour.

If you start two projects a month and each saves 3 hours on setup, that’s 6 hours a month — whether Radicle’s license fee is worth 6 hours of developer time is a simple arithmetic question for your team.

Directory Structure Differences

Bedrock + Sage + Acorn

my-project/
├── composer.json
├── .env
├── config/
└── web/
    ├── app/
    │ ├── themes/
    │ │ └── your-sage-theme/ # Blade templates live INSIDE the theme
    │ └── mu-plugins/
    └── wp/

Radicle

my-project/
├── app/ # PHP at the project root
├── config/
├── database/
├── resources/
│ └── views/ # Blade templates at PROJECT root
├── routes/
├── storage/
├── tests/
└── public/
    ├── content/ # wp-content replacement
    └── wp/

The key structural difference: Radicle promotes Acorn and Blade to the project root, making the theme almost incidental. With Bedrock + Sage, Blade and Acorn live inside the theme directory.

Which is better depends on whether you think of your WordPress site as “a theme with some application logic” (Bedrock + Sage) or “a Laravel application that happens to use WordPress as a CMS” (Radicle).

Default Features and Conventions

Bedrock + Sage + Acorn Gives You

  • Composer-managed WordPress and plugins.
  • A fully-featured Sage theme with Blade, Vite, Tailwind.
  • Acorn inside the theme (Blade rendering, view composers, service providers).
  • Per-environment configuration.
  • Sensible production defaults (file editing disabled, etc.).

Things you add yourself: testing scaffolding, Acorn at the project level, routing, migrations, curated mu-plugins.

Radicle Gives You All of the Above Plus

  • Pest testing scaffolding configured.
  • Acorn at the project root, not just inside the theme.
  • Laravel-style routes/ directory for custom REST APIs.
  • Database migrations directory pre-wired.
  • Curated mu-plugins (Query Monitor, Extended CPTs, Allow SVG, Acorn Prettify, Acorn Mail, Blade Icons) already installed.
  • wp acorn make:block command for scaffolding blocks with server-side rendering.
  • Laravel-style directory structure throughout.

Nothing Radicle provides is exclusive — you can add all of it to a Bedrock + Sage setup manually. Radicle just does it for you.

Long-Term Maintenance

Bedrock + Sage + Acorn

You own every decision. When something needs updating — Sage version bump, Acorn major version, changed mu-plugin defaults — you update it yourself, on your timeline. Your project structure is whatever you chose; upgrades don’t force restructuring unless you want them to.

Radicle

You get curated upgrade paths — when Radicle 2.6 shipped with Acorn v6, upgrading existing Radicle projects was a documented process. You also get Radicle’s structural opinions baked in; diverging from them is possible but makes upgrades harder.

For most teams, Radicle’s curated upgrades are a net positive — less research, clearer paths. For teams that have customized heavily, the curated path may fight their customizations.

Hiring and Onboarding

Where a new developer lands on a project matters for onboarding speed:

  • Bedrock + Sage: a developer with WordPress experience recognizes the theme structure and can orient quickly. Composer and Bedrock specifics take a day or two to absorb.
  • Radicle: a developer with Laravel experience recognizes the directory structure immediately. WordPress-only developers need more orientation.

Pick the one that matches your hiring pool. A WordPress agency with mostly WordPress developers gets faster onboarding on Bedrock + Sage. A Laravel agency expanding into WordPress gets faster onboarding on Radicle.

License Cost

Bedrock, Sage, and Acorn are MIT-licensed — free. Use them forever at no cost. The tradeoff is the setup time.

Radicle is a paid product, currently a one-time license purchase. Check roots.io/radicle for current pricing. For a freelancer starting one or two projects a year, the math is different than for an agency starting ten.

Decision Framework

Go with Bedrock + Sage + Acorn if:

  • You want to pick every piece yourself.
  • You’re comfortable with the time investment on each new project.
  • You’re building simple WordPress sites where Radicle’s full-stack structure is overkill.
  • You’re on a strict zero-license-cost budget.
  • Your team is mostly WordPress developers without Laravel background.
  • You don’t need Laravel-style routing or heavy custom applications.

Go with Radicle if:

  • You start new projects frequently (monthly+).
  • Your projects need Laravel-style features — migrations, routing, service providers, testing — from day one.
  • Your team includes Laravel developers who’ll feel immediately at home.
  • You’re building application-heavy WordPress sites, not content sites.
  • You value curated upgrades over full customization control.
  • The license cost is reasonable for your agency’s project volume.

A Hybrid Approach

Many teams don’t pick one and stick with it. A common pattern:

  • Content-heavy sites: Bedrock + Sage + Acorn. Simpler structure, less to maintain.
  • Application-heavy sites: Radicle. More structure, more Laravel features, worth the setup.
  • Client SaaS-style projects: Radicle. The Laravel directory structure makes complex business logic manageable.

If your work spans the spectrum, having both options available is practical.

Frequently Asked Questions

Can I migrate from Bedrock + Sage to Radicle later?

Technically yes, but it’s a significant restructuring. For existing projects, staying on your current setup is usually simpler. Start new projects on whichever fits.

Is Radicle faster than Bedrock + Sage in production?

No. They’re essentially identical in runtime performance — same PHP, same WordPress core, same Acorn, same Blade compiler. Performance differences come from how you build the site, not which starter you chose.

Does Radicle work with Trellis the same way Bedrock does?

Yes. Trellis deploys both Bedrock-based projects and Radicle-based projects identically. The deploy workflow doesn’t care which starter you used.

Can I use Radicle without paying?

No — Radicle is a paid product. The open-source alternative (Bedrock + Sage + Acorn assembled manually) gives you the same underlying capabilities for free.

Which one does Roots recommend?

Roots positions them complementarily. Bedrock + Sage is the free, flexible starting point. Radicle is for teams who’ve bought into the Roots way and want to skip the assembly step. Neither is “better” — they solve slightly different problems.

What about Radicle + Trellis via trellis new?

Trellis-CLI’s trellis new command can scaffold a Bedrock + Trellis project or a Radicle + Trellis project depending on flags. Either way, one command sets up everything.

Pick Based on Project Shape, Not Prestige

The comparison isn’t Radicle vs free — it’s “am I building a Laravel-style application on WordPress, or a WordPress theme with extras?” Radicle optimizes for the first; Bedrock + Sage + Acorn optimizes for the second. Picking the right one for each project makes that project easier; picking the wrong one creates friction at every step.

At Emnes, we run most of our 18 production sites on Bedrock + Sage because they’re primarily content sites with substantial custom theming. For a handful of client projects that are genuinely more like Laravel applications (custom workflows, complex business logic), we’ve used Radicle and appreciated the head start.

Related reading: Radicle complete guide, Bedrock complete guide, Sage 11 deep dive, Acorn explained.