---
title: "Acorn Prettify: The modern successor to Roots Soil (and how to migrate)"
url: "https://helloblog.io/acorn-prettify-successor-to-roots-soil/"
date: "2024-01-16"
modified: "2026-01-20"
author: "Emma Richardson"
language: "en_US"
categories: ["WordPress Ecosystem"]
tags: ["Acorn", "Composer", "Sage", "WordPress plugins"]
featured_image: "https://helloblog.io/app/uploads/2026/01/featured-1-1024x572.png"
excerpt: "If your Roots-based WordPress stack still relies on Soil for cleanup and quality-of-life tweaks, Acorn Prettify is the new path forward—built for the Acorn ecosystem and easy to drop in via Composer."
---

# Acorn Prettify: The modern successor to Roots Soil (and how to migrate)

Roots just introduced **[Acorn Prettify](https://github.com/roots/acorn-prettify)**, a new package designed to carry forward the most useful pieces of the classic **[Soil](https://github.com/roots/soil)** plugin—while aligning everything with the modern **Acorn** workflow.

If you’re building with Sage/Roots tooling (or anything Composer-driven around WordPress), this is a straightforward change: Soil is being treated as legacy, and Prettify is the maintained successor focused on what Roots intends to support going forward.

## What Acorn Prettify is (and why it exists)

Acorn Prettify is positioned as the next step after Soil. Historically, Soil started life bundled with the Roots starter theme (back in the 2011–2014 era). When Roots v7 arrived, Soil was split into a standalone plugin. Now, with Roots “all-in” on **Acorn**—their Laravel-inspired application layer for WordPress—Prettify becomes the package that fits naturally into that ecosystem.

In practical terms: Prettify keeps a small set of WordPress refinements that teams tend to want on every build, but ships them in an Acorn-friendly package with configuration handled the Acorn way.

## What features are included (carried over from Soil)

Acorn Prettify includes the core Soil features that Roots explicitly plans to continue maintaining:

- **Cleaner WordPress markup**: tweaks that reduce default front-end clutter and improve output consistency.
- **Nice search**: improves search behavior/output to be more useful in real themes.
- **Relative URLs**: supported, but **disabled by default** (important if you previously relied on it).

#### Heads-up on relative URLs

If your theme or app previously assumed Soil’s relative URL behavior, note that Prettify keeps the capability but ships with it turned off by default. Plan to review your config before deploying.

## Migrating from Soil to Acorn Prettify (Composer-based projects)

The migration is intentionally simple: remove the old dependency, require the new one, and then clean up theme-level toggles if you’re on Sage.

1. Remove Soil from your project.
2. Install Acorn Prettify via Composer.
3. If you’re a Sage user, remove any Soil-specific `add_theme_support` flags you previously added in your theme setup.
4. Publish (and optionally edit) Prettify’s configuration file.

```
# Remove Soil
composer remove roots/soil

# Install Acorn Prettify
composer require roots/acorn-prettify
```

For Sage projects specifically, you’ll also want to remove the Soil-related `add_theme_support` options from `app/setup.php`. Roots pointed to an example change in the Sage repository: **[see the PR diff here](https://github.com/roots/sage/pull/3172/files)**.

## How configuration works in Acorn Prettify

Prettify’s behavior is controlled through an Acorn configuration file: **[`config/prettify.php`](https://github.com/roots/acorn-prettify/blob/main/config/prettify.php)**. This is the key difference in day-to-day usage compared to a traditional WordPress plugin settings screen: you enable/disable features by committing config alongside your codebase.

To customize defaults, publish the config file into your project and then edit it:

```
# Publish the Prettify config into your project
wp acorn vendor:publish --tag=prettify-config
```

#### Why this is nicer for teams

Keeping behavior in `config/prettify.php` makes the setup reproducible across environments (local/staging/prod) and easier to review in PRs—especially for WordPress projects that are already Composer-first.

## When this change matters most

You’ll feel the value of switching to Acorn Prettify if you’re already building WordPress as an application (Composer dependencies, code review workflows, repeatable environments) and you want a maintained “baseline cleanup” layer without carrying extra legacy baggage.

If Soil was mainly a set-and-forget dependency in your stack, the migration is still worth doing sooner rather than later—especially to avoid surprises around feature support and defaults (like relative URLs) as you update other Roots tooling.

## Summary

- Acorn Prettify is the maintained successor to Soil in the Roots ecosystem.
- It focuses on cleaner markup, improved search, and optional relative URLs (disabled by default).
- Migration is a quick Composer swap plus a small Sage cleanup.
- Configuration lives in `config/prettify.php` and can be published via `wp acorn vendor:publish` for customization.

## References / Sources

- [Announcing Acorn Prettify](https://roots.io/announcing-acorn-prettify/)
- [roots/acorn-prettify](https://github.com/roots/acorn-prettify)
- [roots/soil](https://github.com/roots/soil)
- [config/prettify.php](https://github.com/roots/acorn-prettify/blob/main/config/prettify.php)
- [Sage PR example (remove Soil support flags)](https://github.com/roots/sage/pull/3172/files)
- [Creating an Acorn package](https://roots.io/creating-an-acorn-package/)
