Why I Don’t Like WordPress Theme Frameworks

Frameworks like Genesis can be okay for people who don’t know how to code

I think the Genesis framework and a child theme is fine for people who don’t know how to code. I’m talking about people who want to buy a powerful theme structure, a ton of design options, and a user-friendly settings interface.

I suppose I can see the draw there because you get one framework with one settings panel that is then compatible with thousands of theme designs.

Plus, I guess it’s just like buying any other pre-made theme. The difference is that you’re buying a PARENT theme and a CHILD theme all at once.

As a developer I do not like frameworks

…especially when it comes to making custom themes for clients.

When I first peeked under the hood of a Genesis website, I was blown away. And not in a good way. There are two main reasons:

  1. Frameworks are overly bloated. They’re designed to do anything and everything. They often have 5 billion widgets, tons of layout options, and a massive settings panel. But so many people ordering custom designs don’t want or need all those options. They want their layout to be a certain way and that’s it. So having all those extra, unnecessary features that they’re not even using just adds bloat.
  2. Many of these frameworks aren’t written “the WordPress way”. WordPress has some standard features and ways of doing things. I try hard to follow all these standards when making my own themes. But most frameworks don’t abide by these standards AT ALL. Instead, they invent their new standards that go specifically with their frameworks. This usually involves hundreds of new filters and actions. Instead of using “normal WordPress”, you have to use their framework and learn/memorize all these hooks. It just doesn’t seem natural to me. What’s the point in going about it a whole different way?

Genesis means jumping through hoops

I’ve been hired to make small adjustments to a few peoples’ themes. Those people happened to be using Genesis. What would have been an incredibly simple fix on a “normal” theme ended up taking HOURS of wading through hooks, filters, and mountains of code. I feel like Genesis (and other frameworks) take away the simplicity of WordPress and all the “normal” functionality in order to integrate into their crazy hook/filter system.

The pros and cons of having the core code updated for you

A lot of developers love Genesis because it means that the core code isn’t written by them. The framework is updated and maintained by someone else. That means it’s not really their responsibility and the theme will (probably) never be “outdated” or using old/deprecated/insecure code.

I do understand why that’s desirable.

However, at the same time, a framework-free WordPress theme would probably take YEARS to become outdated. They use standard WordPress functions and are simple. It’s going to be a long time before those functions and standards are outdated or deprecated. Plus, with a “normal” theme, there’s no extra, unnecessary code. You know what that means?

  • Less code = less chance of a security breach.
  • Fewer features (especially ones the client isn’t using) = a faster blog and less chance of a security breach.

People like Genesis because it’s “secure”. But honestly, there’s very little reason that a theme would have a vulnerability in the first place (unless it has an options panel and/or ajax). Themes just add design. You’d have to be using some pretty shitty PHP code to have a security breach. Most security breaches come from plugins that file/image handle uploads, deal with ajax, use data inputs that haven’t been sanitized, or use permissions incorrectly.

But with every extra line of functionality you add, you’re increasing the chances of a security breach (probably). And Genesis is going to have tons and tons and tons more functionality. I’m not saying Genesis is insecure; I’m sure they do their job well. I’m just saying that having a ton of code you don’t use just sitting there is NOT ideal. And having a normal WordPress theme with a lot less code probably won’t be vulnerable or insecure.

Am I just old fashioned?

When a client comes to me wanting a design, I don’t want to have to tip toe around an existing framework and figure out how to integrate their vision into that framework. I prefer to have no frameworks and no boundaries. If it’s my own code, I can make it as complicated or as simple as the client needs. I don’t have to give a client wanting a simple design 2305723059327 bloated features that they don’t want, use, or need, which will only slow down their blog.

Plus, the idea of having to override design elements or functionality just sounds stupid to me unless absolutely necessary. And ultimately, that’s what a child theme does—override the parent theme.

I’m not against having some kind of framework, I just don’t like having an entire framework

Let me explain that…

Genesis (and similar frameworks) are an entire, massive structure that make up a “parent” theme. In order to style it, you have to use all of that code and create a child theme. I don’t like that.

HOWEVER, I’m not advocating that you start from scratch with every single theme. That’s not the best use of a developer’s time. For most of my projects, I use a starter theme. This means I’ve created a bare bones WordPress theme that has most of the functionality I use in every theme, with no design elements. I have my functions.php file built and the basic structure of my theme files in place. So when I start a new project, I grab that “starter theme” and start changing/building upon it for my new project. It gives me a good head start, but it isn’t an entire framework and it isn’t a parent theme.

As a designer, developer, or blogger, how do you feel about theme frameworks?

Do you use Genesis? Why or why not?

Photo of Ashley
I'm a 30-something California girl living in England (I fell in love with a Brit!). My three great passions are: books, coding, and fitness. more »

Don't miss my next post!

Sign up to get my blog posts sent directly to your inbox (plus exclusive store discounts!).

You might like these

43 comments

  1. I almost bought Genesis but it bothered that me it was supposed to be a mobile responsive theme and I had problems with the mobile layout of many of the ones I visited. Since I primarily visit blogs and promote my blog on social media on my phone, it would drive me crazy if I had Genesis. Plus it’s a large investment, I just couldn’t swallow. So I bought your Tweak Me theme instead and love it!

    1. I’m thrilled to hear that you’re loving Tweak Me! 😀

      I agree that it is a large investment. Genesis on its own is $59.95. Then you still have to buy a child theme (the design part) which is an additional $40 – $70, depending on the design. That’s probably over $100 total.

      Now you can buy a non-Genesis theme anywhere from $20 to $80. Even the high end ones ($80) will be cheaper than Genesis + a child theme.

    1. Phew!

      Honestly I was a bit scared of writing this post lol. When I was doing a bit of research for it, I only managed to find ONE other blog post that shared these same thoughts. Most of the results were things like:

      * Why you should use Genesis
      * Top 10 reasons to use Genesis
      * Why I switched to Genesis

      etc. And that’s when I googled things like “I hate Genesis” LOL! It seems very difficult to find people who don’t like it, which seems odd to me.

      Oh well. What I do works for me. 🙂 I guess we all have our own preferences and whatnot.

  2. I’m with you 100% Ashley, and you know that. While I think it’s important for people to utilize what they have available to them. I also think it’s wrong for people to say they do ‘development’ when all of their work is on a framework. You’re not actually doing anything but moving pieces around and using hooks which… you didn’t build. Not only that but I’ve SPENT time working with other frameworks, with other themes, – with other peoples code period, and that ish is more headache than it’s worth. I spend probably 50% less time just doing it myself – why put myself through that?

    Another thing? It’s very rare, I find, that there is a Genesis theme (or another framework based theme) that isn’t just a header/logo and then some images in the sidebar. They all, for the most part, look identical minus the content and headers. If using a framework limits you from actually DESIGNING anything, man, just hire a developer.

    To me, not only does Genesis seem like an ‘easy’ way to charge more for doing less (or in some cases charge more for doing unnecessary work) but it seemingly prevents people from creating designs that are unique.

    No, thank you.

    Anna recently posted: Development? No, Thank You.
    1. I totally agree!! I remember when we spoke about this a while ago and it was so refreshing to see someone else feel the same way. I’m BAFFLED when people charge like $3,000 for a custom website project built on Genesis and really all they did was:

      1) Add a custom header image
      2) Tweak a few elements of CSS (background colour, some fonts, etc.)

      The Genesis child theme itself is probably nothing more than a CSS file. I could never feel comfortable charging that much for just a CSS file… and I could never call myself a “developer” for doing that.

      It’s the same for many web designers who charge clients thousands of dollars and all they do is buy a pre-made theme and change things around. And many of those people don’t even DISCLOSE that they’re just customizing a pre-made theme… that’s the worst bit.

      1. Exactly. And it just rubs me the wrong way especially when there are so many up and coming younger designers (or designers like you and myself) who actually design 100% custom designs based literally around EXACTLY what our clients want, and then coding geniuses like yourself who have went to school/taught yourself/etc how to actually BUILD a website – and then I get messages about my designs costing too much? I mean, are we serious right now? Come on.

        Anna recently posted: Development? No, Thank You.
        1. I read a great article about WordPress design/development recently that may come into play here…

          So many things on WordPress are free or cheap (premades). So then when someone goes to order something custom, they expect it to be pretty cheap because everything else is either free or <$100. But what they don’t realize is that we’re taking hours out of our day. If we value our time at $50 per hour (which is honestly super cheap for a designer/developer) and we’re going to spend 10 hours making a custom theme for someone, that’s already $500.

          I find it happens all the time when it comes to customizing/tweaking things. Like someone approached me wanting a custom theme and some adjustments to plugins. They figured:

          * Okay I installed free plugins
          * I’m using this free WordPress platform
          * I paid $35 for this premade theme
          * Since everything has been free/cheap so far, surely it won’t cost a lot to have some “simple” adjustments made

          But a custom theme will take me like 6-15 hours and those “simple” adjustments could easily take me an hour each. Add that all up and you have a much bigger price tag than the client thought.

          I think people don’t understand the difference between selling a premade (which can be sold as is hundreds/thousands of times, which is why we can justify a lower price) and doing custom work. Premades don’t take hours out of our day to sell to people over and over again. But custom work requires us to focus only on the client for hours at a time. We can’t do that for pennies.

          This is our job and it’s how we live. We’re professionals who want to bring visions and ideas to life in websites. When we put hours into doing projects for someone, we should be paid for that time. Even if we wanted to, we can’t do super cheap work for everyone, because then we wouldn’t be able to even support ourselves financially.

          I was actually going to do a whole post about this mentality, but I feel like I just regurgitated it all in a comment, hahah.

          1. That totally does make sense, 100%. I think themes are great for starter blogs but that’s generally pretty much it. I also get a lot of clients saying “I found a theme but it’s just not quite there yet in terms of what I’m looking for” – and realistically that’s because it’s not for YOU. I don’t believe that anyone will ever find a pre-made theme that is automatically 100% them without any work because the person who made it doesn’t know you. They don’t know what you do, they don’t know why you’re using the theme, etc.

            I think there needs to be a post on this, honestly. Maybe I’ll do one too. Maybe it needs to be a whole series between designer/developers about processes & the time spent on things. Specifically about the difference between hiring custom + premades and then how much work we actually put into our designs. I know some people – I can’t imagine them spending more than 2-3 hours on some of their designs (although, people do work at different paces, etc) but I know for instance the recent author site I did for Tom Isbell, I spend nearly 20 hours getting inspiration for that design, finding the right stock and tweaking things – and that’s just for the DESIGN. Don’t get me wrong – this isn’t a comment about Tom whatsoever, he was a doll and absolutely the best client.

            But in general, I don’t think people understand the time and effort that is put into our designs & development. I personally – while just focusing on designs – can churn them out like nothing. But just because you get it two days later doesn’t mean that I didn’t get really excited and stay up all night and next thing I know 10 hours have passed and the draft is done. Doesn’t include time looking through stock, or finding the right piece, or conversing with the client about said design, tweaking the layout, coding the layout, or overhead costs like invoicing programs and accountants and banking fees and all of this other stuff included in running a business – which is what we do. It doesn’t, in my case, account for the YEARS that I spent teaching myself how to design or code, or in other cases the incredible debt someone now has to have that knowledge to provide that service.

            All is that to say that I completely understand where you’re coming from and I wish there was really a better way to kind of inform clients and prospective clients about all that we do and why we charge what we do – and in your and I’s case at least how the prices we charge aren’t nearly a ‘fair’ rate.

            Anna recently posted: Development? No, Thank You.
            1. (Quick sidenote on the whole “themes only for starters” as Tweak Me does not apply – because well, have you seen what people do with that thing? Lol)

  3. I find that there are two trends with frameworks (in WordPress and other domains): the one where you are supposed to just set the “framework” up to get what you wanted (supposedly), and the one that only offer libraries and helpers so you don’t have to reinvent the wheel over and over again.
    The first ones always get in my way because you need to “learn” them (I’m looking at you, WordPress CMS). The second ones are time/life-saver and allow me to focus on what’s important.
    For my current template on MapleBooks, I made a child of a basic template (called Responsive) and I’m not happy with it: it’s still too stiff and I keep overriding stuff. I’m working on a new template and this time I’m trying foundationpress which is really bare bones and offer something equivalent to bootstrap framework. This one is much, much better.

    Angélique recently posted: Review: My Real Children by Jo Walton
    1. Yeah I think this is where you get the difference between a framework (a parent theme that requires a child theme) and a starter theme.

      A framework will have the entire theme already done up for you. Then you use a child theme to override certain things and add your own CSS.

      A starter theme often has functions already built in that are useful, but you just use that as a STARTING POINT—not as an entire theme.

      I actually use Bootstrap for almost all my projects because the responsive classes and other things are so useful. But I use it as a starting point, not as my entire project.

  4. I looked into Genesis when I first started to consider a paid design but when I really started looking into it, it seemed overly complicated for what I needed. That was around the same time I found out that you were going to launch BookHost. I’m glad I waited because I love the Tweak Me theme and I’m always “tweaking” little things in the control panel. It is so user friendly!

  5. Yeah I tried looking through the Genesis Framework, yeah no. I thought I just wasn’t at that level yet because there was to much going on. I’ve tried quite a few starter themes and I don’t really LOVE any of them just yet. At the moment, I’m just doing the PHP from scratch and the CSS using different resources like Normalise. I mean, I’ll keep looking at starter themes to see if any can improve my workflow but right now, no issues. 😛

    Laura Plus Books recently posted: How Do You Do Monthly Wrap Ups?
    1. When I started out I looked at a lot of starter themes (Bones was one, Normalise may have even been another). And for a while I did use those.

      In the end, I kind of built my own. I pulled out useful pieces from Bones, added in my own custom code, and got it to a point where it was perfect for me.

      I think we’ll all have our different processes and code snippets, and sometimes making your own theme is just easiest and best.

  6. Okay, I think I’m going to be the odd one out here. I like Genesis. I like to design themes but I’m not the best at coding every little thing.

  7. I feel the same way about commercial frameworks. I’m inherently lazy so I admit I’ve often been drawn to the idea of using one of those frameworks, mostly to save development time and make more money. However, I have discovered that they tend to be bloated and add more work in a long run. I think your comment about using a simple and clean starter theme rather than a whole framework is right on.

    Other qualified developers are taking the same stance. Take a look at these:

    https://foliovision.com/2011/03/paid-wordpress-themes-woo-vs-elegantthemes
    http://www.binarymoon.co.uk/2013/08/the-death-of-wordpress-theme-frameworks/

    The more I do this work, the more I am convinced that, as far as the actual production goes, the best “tool” we can have in our profession is our coding skill, not which editor we use or what framework we use to skip the work. A clean and lean starter theme is the way to go if we want to save development time, but we shouldn’t skimp on craftsmanship.

  8. I realize this is an older post and I found it by doing a Google search because I thought I might be the only one out there who does not like using frameworks. My client is the WP beginner who needs simplicity. They don’t need to be even more confused in the WordPress dashboard than they already may be. My goal for them is to learn how to create a blog post and page so they can start publishing content, not trying to figure out all the other stuff from the framework. That, and as Brittany posted above, they definitely don’t need the added expense of a framework on top of a theme.

  9. “And that’s when I googled things like “I hate Genesis” LOL! It seems very difficult to find people who don’t like it, which seems odd to me.”

  10. Excuse the double-tap on the enter key there… *ahem*

    You said: “And that’s when I googled things like “I hate Genesis” LOL! It seems very difficult to find people who don’t like it, which seems odd to me.”

    There is a bit of a cultish support behind Frameworks, and there are (IMHO) a few reasons for this. For one, affiliate income. Affiliate programs pollute search results. They incentivize marketers to create keyword-rich pages to capture all the top results. This also attracts everyone who is a sucker for MLM and work-from-home scams. I’ll spare you my theories on the potential connection to religion and home-schooling – it’s kinda ‘out there.’ LOL

    I’m Googling some of the same things this morning. Had trouble sleeping because my mind was going over the possibility of making the world’s most user-friendly starter theme…

    1. I’m a big fan of Underscores these days. It uses the best WordPress coding practices and it’s very very easy to understand. It’s incredibly simple, but still provides a good foundation.

      And I do think you’re right about all the affiliate programs.

  11. So happy I found this article. I’ve taken on the job to do make a clients genesis driven website mobile responsive. In the three days I taken to get myself familiar with Genesis and battled trying to do the most basic things, I could have totally remade the clients theme from scratch and the job could have been finished.

    Happy to see that other developers don’t like bloated frameworks such as genesis, because I was starting to think I was alone in my thinking.

  12. YAAAAAS! As a web designer/developer I feel like I’m the only one who doesn’t like the Genesis framework. Like you, I’ve tried working on clients’ sites who have Genesis and I literally can not figure out how to do simple things that would normally take five seconds on my own themes. I hate it!

    I create all my themes with the starter theme _tk. It’s built on the Underscores theme and has Bootstrap built into it. I love it, it’s so easy to get started building a site and it’s easy to go in and make changes.

    I’m glad I found your post because it’s nice to see other developers who aren’t gaga over Genesis! I think it’s a bit overrated in the design community personally.

    1. Woohoo! I’m a big fan of Underscores. 🙂

      And yes, it’s hard to find people who aren’t addicted to the Genesis framework. You get so much more freedom if you just create your own theme. You don’t have to spend a bunch of time undoing actions or overriding filters. You can just jump right in and do what you want to do.

  13. The first agency I ever worked at required me to work with Genesis, so I got familiar with it and can develop sites quickly with it. But when I do use it, I always want to qualify my clients first. If I can speed up the process using Genesis I will, or I’ll build from scratch depending on what the needs of the project are. And when I use Genesis I never buy the child themes from studio press. I always make my own. Hacking a child theme takes too much time. For me it really all depends on how much control I need over the templates in order to implement a design.

  14. I really like what you wrote here. One of the biggest problems with WordPress frameworks, and even WordPress Premium themes for that matter, is that they all promise what they can’t and shouldn’t; “no coding required” is a pipe dream at best. I tried many frameworks and premium themes over the past few years, only to realize that they still need a pretty solid HTML/CSS knowledge to get the most out of those frameworks and premium themes. You can’t use them that well unless you understand things like how CSS box model works, how margin and padding work, and so on. At that point, you might as well just work with raw code using Chrome Dev Tools and a decent text editor such as Atom.

    I also think that HTML/CSS has been inflated to somewhat of a rubber dragon at this point. It’s not that hard to learn enough HTML/CSS, and even coding a WordPress theme at the most fundamental level isn’t that hard to learn, either. Even just a few hours of learning them would give you total freedom in your development work. At least that’s been the case with me.

  15. So what is the starter theme that is your go to theme that isn’t bloated with things you don’t need?

  16. Without a bit of coding knowledge, I was able to build WordPress websites in a week(twentyfixteen, twentysixteen themes are more enough to learn half of the wordpress) and approved in wordpress.org. There is a steep learning curve for frameworks and later implement them. Why use it anyways and waste time? Doesn’t make any sense and it just means that these companies have high marketing budgets to lure anyone. 🙁

  17. I am so glad you wrote this post! I’ve been designing and developing WordPress themes for 8 year and can code them from scratch. I’ve used Bootstrap, Foundation, and even created a theme with Google Materialize. I recently downloaded Genesis to see what all the fuss was about and I have to say, I didn’t prefer it either. The code is well-written, but it gives the developer another added layer of customization through hooks, filters, etc. Also, it is recommended that Genesis developers create child themes so the Genesis theme can get updates without breaking anything. That means having to convince clients to purchase the Genesis Framework in addition to your services. You end up losing credibility when the client finds out you are putting code on top of an already created framework. Don’t get me wrong, there are tons of site owners out there that know how to tweak Genesis, and they should probably keep using it. But for me, it’s custom code all the way. My personal site doesn’t even use WordPress at the moment, but I will probably be going back to it soon.

  18. Tried to fix a client’s website, drove me insane!
    Trivial things are rewritten and it took hours to figure out the damn thing.

Recent Posts

    Random Posts