Genesis vs _s

Genesis Theme Framework vs. _s (Underscores) Starter Theme

NOTE: This post describes my initial experience with Genesis. I’ve written a newer post which describes my thoughts on Genesis after using it on several projects throughout the course of 6 months.

I’ve spent around 4 hours of the last 24 in my life reevaluating my WordPress development workflow.

Previously, I had been developing all of my WordPress themes using the Underscores starter theme. I do not have any problems with it and I still believe it’s the greatest starter theme available for WordPress to date.

However I had been hearing an awful lot about the Genesis theme framework, and I was starting to wonder if I was missing something by not using it. Could I be developing my websites more quickly and efficiently using a theme framework like Genesis? Would I have more recyclable code that I can apply to new projects as they come up? Are there other benefits that I may not even know about?

So I bought a copy of Genesis ($60). The first thing I tried to do was to create a simple child theme using Genesis. I had never worked with a theme framework before, and it gave me a rude awakening into the world of how they’re constructed. With Genesis (as in other theme frameworks), you become reliant on framework-specific hooks in order to add/remove content blocks or customize your child theme. Rather than edit theme files directly, I am required to make modifications to my child theme’s functions.php to either add in or strip out the functionality that I desire. In many instances I found that in order to make a website look the way I wanted, I needed to remove some of the framework’s default functionality before I could even begin to add in the customizations of my own.

This isn’t a bad way to develop themes at all, and I know that many prefer it. But to me it added another layer of abstraction and complication between the code I’m writing and WordPress itself. Instead of just my own custom theme and the WordPress core files, there’s suddenly a middle-man of the Genesis framework which I need to pass through in order get stuff done. This wouldn’t be a problem if Genesis added some significant benefits to the themes that I create, but quite frankly after giving it a couple of hours of time I didn’t find anything truly worth noting.

The websites that I create are almost always based off of custom designs, and coding those designs into a WordPress theme makes more sense to me as a starter theme. I don’t see a true need or benefit for me to implement a framework like Genesis for the type of websites that I develop. Though I could become efficient at building Genesis-based child themes, I don’t think my development process would be inherently better (or any faster), and the end product that my clients use would not be improved in any perceivable way.  And as for Genesis’s built in SEO capabilities, I personally prefer to use the most-excellent WordPress SEO plugin by Yoast.

The one item about Genesis that does appeal to me is the fact that it allows me to constantly keep the codebase of my theme updated. Because the Genesis framework will always be implemented using a child theme, I will be able to apply updates to my parent theme framework immediately as they become available (and Genesis is good at staying up to date with WordPress best-practices).

With Underscores, I do not have a parent theme. When I download a new instance of Underscores to use as a starter theme, I’m getting a snapshot of where Underscores development is at at that very moment. Once I start making my own customizations, it becomes exceptionally difficult to implement any changes that are made to the Underscores theme itself. This is the one drawback with Underscores (or any starter theme) that I have thought long and hard about. Fortunately, I found this blog post from the creators of Underscores which basically says not to worry about it. I trust their word on this because the developers of Underscores work for Automattic (the parent company of WordPress) and heavily contribute to the core files and general trajectory of WordPress itself.

Sure, there may be a time several years down the road in which I’ll need to update some of my old themes based off of Underscores to implement new WordPress features as they become available since my themes do not have an updatable codebase. But I do not think doing so will present a major challenge for me personally, and the benefit of having complete control over my code in the “here and now” trumps the “what if” that may not even happen down the road.

I did some additional research and found an awesome WP Watercooler video debating the merits between using a theme framework and a starter theme, and also a presentation on Underscores from WordCamp LA 2013 by Steve Zehngut. While there is obviously much room for debate, these discussions and presentations highlight the benefits of using Underscores that is keeping me sold on it for the time being.

One cool tip I picked up was to create my own custom plugin which includes all of the code that is normally added to the functions.php file of my new copy of Underscores. Not only will it make it easier to switch themes or redevelop the website in the future, but it will also speed up the initial development time (once I actually get the plugin created, that is!).

Perhaps I need to give Genesis some more time to grow on me, but for the time being I’m going to stick with Underscores.

If you have any questions or you feel differently, please let me know in the comments below.


Evan ScheingrossHi, I'm Evan Scheingross

I design and develop custom WordPress websites and I love fish tacos. Feel free to check out my work, learn more about what I do, or get in touch if you have a question.


  1. says

    Hi Evan. Just wanted to say that this post was really helpful! I found it through a google search on genesis vs. underscores. I have the same questions and development cycle as you, and perhaps you’ve saved me the time of investigating genesis, at least for now!

  2. Andrei barbuta says

    Thank you for the article it was really helpful. For couple of months I was really debating using Genesis but i found it a bit hard to understand and the biggest issue I had was with the fact i couldn’t use Foundation or Bootstrap to have a complete control of the layout. It my be possible but I didn’t find any tutorial on how to do this.

    Thank you again. For now I’ll use _underscores.

  3. Mark says

    Thanks Evan, I’ve just spent half a day or so looking into both Genesis and Thesis as frameworks for as a base for my WordPress development… I’ve come to the same conclusion as you. For experienced developers these frameworks offer more complexity than benefit! Really helpful to know that I’m not alone in thinking this way. Never used underscore before so will definitely check it out too.

  4. Steve says

    Thanks for this article. I’m curious, when you said:

    “With Underscores, I do not have a parent theme. When I download a new instance of Underscores to use as a starter theme, I’m getting a snapshot of where Underscores development is at at that very moment. Once I start making my own customizations, it becomes exceptionally difficult to implement any changes that are made to the Underscores theme itself. This is the one drawback with Underscores (or any starter theme) that I have thought long and hard about. ”

    Why don’t you just use Underscores as a parent theme and create a child theme as you would with Genesis?

    • evan says

      Hi Steve.

      Thanks for taking the time to comment. As for your question… there a two reasons why I do not use Underscores as a parent theme:

      1.) The developers of Underscores state on the theme’s homepage: “I’m a theme meant for hacking so don’t use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That’s what I’m here for.” (See

      2.) For me it really just comes down to personal preference. When I can, I prefer not to use a child theme. When I can avoid a child theme, I eliminate a lot of CSS inheritance issues that I often wind up fighting through, and the whole process just feels cleaner and faster to me. But again, that’s just personal preference.

  5. Toby says

    Thank you for a very well written and balanced post. I’m currently trying to understand what all the fuzz is about and the only reasonable conclusion is “good marketing”. Genesis is now so well known that even many end users think that their theme will be “better” if it’s based on that framework. There are like a zillion “reviews” and “comparisons” out there that recommend using Genesis – and they are all affiliates, too. My guess is that an experienced developer would be better of with _s and I will soon be putting that theory to the test. I have previous experience with Thesis so it will be a nice comparison. With Thesis most of the work is in overriding “hooks” and even replacing code which acutally makes for quite a messy solution with divided responsibilty for functionality. I’m guessing Genesis is the same. Thanks again.

    • says

      Hey Toby,

      Thanks for the kind words on my post! Though I do not have any experience with Thesis, what you mention about overriding “hooks” is pretty much exactly what I have experienced with Genesis.

      It appears you’ve also read my more recent post which describes my evolving thoughts on Genesis as I’ve had a chance to spend more time with it, but the Cliff Notes version would be: Genesis is good for sites that don’t need a crazy amount of customization, but for sites that do I am sticking with _s… at least for the time being.

  6. says

    Hi Evan,
    I think both of those approaches to development are great. I like Genesis and tend to use it, although I’ve used loads of themes and frameworks.

    Just to clarify one thing about Genesis, you can definitely hack templates directly; you just copy them from the parent theme into a child theme. There are Genesis users who use that approach, but they are in the minority, I’d say. In fact, someone could do that until they got the hooks down pat.

    When answering questions on the Genesis forum, now and then we get someone like you who uses Underscores, Twenty Twelve, etc. who is wondering what all the fuss is about. Unlike the knee-jerk fanboys, I try to give pro’s and con’s of each. 9 times out of 10 the template hacking enthusiast says they don’t like the hook learning curve and just prefer to see the templates “right there”.

    And I will psychically guess what your next question will be: “if you’re just hacking templates in Genesis anyway, why buy it?” Good point. I do like the hooks, which are easy to figure out – there’s even a plugin that will make them obvious while you’re logged into admin, for instance. So my child themes are very tight, just consisting of style.css and a small functions file or two. Once you know the hooks, doing that makes banging out custom themes very fast.

    But it is also tempting to have all your theming in one place instead of parent and child, which is pretty much the Underscores approach, I gather. Like you, I also use a plugin for all my favorite WP functions, so I can carry them to any theme.

    Looking over a period of years, now that Genesis is HTML5, the updates are coming out very sporadically. So maybe there’s less advantage in always using it. Whereas Underscores, if I’m not mistaken, is constantly being updated by super coders. So as long as they handle so many contributors smoothly, there’s a possible advantage for them!

    Thanks, Dave

Leave a Reply

Your email address will not be published. Required fields are marked *