Why choose Sage over Underscore in 2022?

I’d like to hear from the community as to why is Sage better than underscore?

Also, if I am just starting out, should I buy the ‘Theme Development with Sage’ book or just start with sage10 documentation?

Any advice would be highly appreciated.

I think this chart was created for Sage 9 but should mostly still apply. Sage vs Underscores | WordPress Starter Themes | Roots

For Sage 10, ACF Composer is also probably the greatest tool I’ve ever encountered with WordPress and makes it not only easy to build blocks, widgets, and options , but fun!

The Sage book is a great reference and money well spent. That said, the number 10 version isn’t out yet, but the current book is on sale and you’ll get a free update when it’s ready.


I started Sage 9 and 10 without the book so I can’t tell much about it.
If you are familiar with doing custom Wordpress, the upgrade will be easy.
Roots improved a lot the way I develop on Wordpress; all is set to be do things properly.

Probably sage is the best for me. Since it was based on laravel framework, you can also import laravel stuff like service provider. Sage is a MVC Pattern (Model View Controller). Views and Controller will be completely separated which enables us to reuse Views more conveniently.

1 Like

Shameless copy/paste from our comparison page:

If Underscores is a “1,000 hour head start”, Sage is a 10,000 hour head start.

Thanks for sharing, Colin! This is indeed mostly still relevant, and will be getting a refresh in the near future :+1:

That said, we sure did take a while really long time to ship Sage 10 due to jobs, life, a global pandemic, burn out, and myself mostly checking out after I ended my days at my day job. But we also have a history of being pretty dang consistent since 2011, despite no one on the Roots team ever working on our projects more than a part-time & volunteer basis, with the exception of myself a couple times. We’re also all incredibly proud of Sage 10, Acorn, and Bud, and it took a lot of effort for these projects to grow.

It appears that Underscores isn’t maintained anymore. It has looked that way for years. See:

I’m guessing many of the devs making sites with _s have moved onto FSE themes and don’t write as much PHP anymore.

With Sage/Acorn providing access to Laravel components, you’re able to tap into the huge ecosystem of Laravel packages out there and then use them in your WP app/theme.

Sage’s approach right now is as a “hybrid” theme. Lots of us still write our own first party blocks. Sometimes these blocks are rendered with Blade. I hope most folks are using Gutenberg whenever possible these days. I don’t know many folks using the Classic Editor.

Underscores isn’t a bad option if you don’t want to use FSE, don’t want to use Blade, don’t care about continuously repeating yourself all over the WP templates, don’t want to use a blazing-fast build process that can support Babel, React, PostCSS, CSS-in-JS, Sass, Typescript, esbuild, ESLint, Prettier, and more. It’s also great if you’re looking to submit a theme to the wp.org plugin directory.

Roots/Sage does not follow WordPress Coding Standards, because those standards usually don’t play nice with the way that that modern PHP developers perform their work.

If neither Sage or Underscores have what you want, then please consider maintaining your own starter theme. Grab the parts that you like from existing starter themes,

At the end of the day, Sage is ready for you to do what you want to it. A good bit of “Sage best practices” is really just WordPress best practices. Keep any sort of plugin functionality out of the theme.


@mrayan89 I’m in a similar situation.
I picked up trying to learn Sage near the start of this year, although with keeping on top of work, I don’t get anywhere near as much time to focus on it, as I would like.

I got Sage 9 working around March time, went to build a site for a client and got Sage 10 when I cloned the repo, which for a newbie, was a considerable change.

I watched this the other day… Best Starter Themes for WordPress Developers - YouTube
What I took away from this, is that I should stick with custom builds for simple brochure sites and focus on Sage for the larger projects. When you see all of the advantages of Sage though, it will be hard to not want to use it all of the time.

If you’re interested in Custom Theme development, I’d recommend taking a look at this.

I’ve used underscores in the past and I wasn’t a fan.

I’d recommend purchasing the Sage Theme Development book.
Mainly for the fact that it’s not a lot of money and it supports Roots development. Also, as mentioned above, free upgrade will be available.
However, I’m personally struggling with Sage 10 (Mainly due to developing on Windows) and now when I try and use Sage 9, I’m getting a whole load of errors, which aren’t covered in the Sage Theme Development book.

Sage 9 docs say to run…

composer create-project roots/sage your-theme-name

Sage 10 docs say to run…

composer create-project roots/sage your-theme-name

I’m therefore running…

composer create-project roots/sage your-theme-name 9.x-dev

I’d imagine there’s a lot of time going into the Sage 10 docs right now, so it’s not surprising that the Sage 9 docs aren’t getting updated to reflect the changes that Sage 10 have caused.

I’m starting to think I need to stop living in the past and get to grips with Sage 10.
Just a basic install of Sage 9 is throwing me challenges now…

When I first came across Sage I’d also read “If Underscores is a “1,000 hour head start”, Sage is a 10,000 hour head start .” The more I try and work work with Sage and the more challenges I overcome, I’m starting to think that although Sage saves a huge amount of setup time, you really need to understand the many components that Sage brings to a project and that’s a lot of learning.

Feel free to direct message me and I’ll offer advice where I can. I’d also appreciate you keeping me in the loop with anything that you find of interest.