Let me preface this post by saying there are many ways to accomplish the same goal, especially when it comes to WordPress. I’m not calling out any particular person or saying anyone who disagrees with me is wrong, so please don’t send angry emails or leave trollish comments.
Want to start a debate that will continue until all parties are too exhausted to keep going? Ask about methods or reasons for updating Genesis child themes. Preferably in a public place like the Genesis Facebook group.
Days later, when you crawl out of the fray – bruised, broken, and determined never to ask a question again – you may still be looking for a recommendation. Here’s what works for me.
Why is this even a thing?
Most WordPress themes update periodically. You see a notification in your site’s dashboard, you go to the Update screen, you update the theme to the latest version. Pretty easy.
Except that doesn’t always work, because sometimes you’ve made changes to your theme files. Maybe you edited some CSS or added a custom function to make the theme do something it didn’t do out of the box. So now you can’t update for fear of breaking something.
Issues like those are exactly why I started building sites using the Genesis framework exclusively. Genesis uses a parent/child theme system to make sure people can update the parent without ever worrying that their work will be ruined.
Genesis child themes do not send you notifications saying there is an update available. That’s because they aren’t meant to be updated as long as you keep Genesis itself up to date. That would defeat the whole purpose of using a child theme.
Updates are important…
Choosing not to update your theme at all isn’t a good idea. Developers frequently release security patches, compatibility fixes, etc. via theme updates, and those updates are meant to be applied. Otherwise you risk being hacked or waking up one day to find that your site looks wonky.
Take it from me, kids: Keep your stuff up to date.
…But don’t go overboard
All that said, updating Genesis works a bit differently. Remember a second ago when I said there is a parent/child theme system with Genesis? Let’s break this down:
Genesis framework: This is the parent theme. It contains all the files (bunches of them) needed to work with WordPress, and it updates periodically when changes are needed to maintain compatibility or fix bugs. These updates need to be applied to keep Genesis sites working properly.
Genesis child theme: This is a “skin” to change how Genesis looks. It will usually only contain a few files, as only the things you’re changing need to be included. It doesn’t update because it doesn’t need to – there’s nothing in it that would need to be altered.*
*Within reason. You can’t use a child theme for ten years and not expect changes in the way websites function. But for at least 2-3 years after installing a child theme, it’s going to work just fine.
How this works for child theme updates
Let’s pretend your website is a house. You install some awesome double-paned windows (Genesis) in your home to make it more efficient. You also buy some fancy Roman shades (a child theme) to make the windows look more stylish.
Now let’s say a neighbor kid throws a baseball into a window and it breaks. You get a new window, because obviously the old one isn’t working anymore. Do you need to change the shades as well? Not really, unless you just prefer a different look.
This is exactly how Genesis updates work. The framework updates every now and then to make sure Genesis still follows coding standards and functions as it should. That doesn’t mean you need to do anything at all to your child theme! It will still work just as it always has.
But what about new versions of my child theme?
Sometimes StudioPress (or a third party developer) will roll out a new version of a child theme. Here’s how that usually goes.
Person in support forum: Hey, I just noticed that this bit of CSS code makes the welcome widget look weird in Firefox.
Theme developer: Oh, crap. Let me test that out. Okay, you’re right. I’m going to fix it, then I’ll roll out a new zip file for anyone who downloads it from this point forward.
Do I need to panic if I’m using that child theme? Nope. I have several options, but none of them involve panicking:
- I can do nothing. So the welcome widget looks weird in Firefox. Maybe I’m not even using that widget, or maybe mine has different content that doesn’t look weird. So the issue that caused the new child theme version may not even apply to me.
- I can apply the fix manually. Maybe I have the same problem with the welcome widget and I haven’t fixed it yet. In that case, I might want to compare the original stylesheet with the new one to see what code was changed, then make the same edits on my site.
- I can update the child theme IF I haven’t made changes to it. If I’ve installed a child theme exactly as is with no edits to the theme files, I can replace it with the updated version. Problem solved.
But I made customizations!
Now, let’s say you have a child theme that has been customized heavily, either by yourself or by a designer or developer. You might have started with Executive Pro, but the final product likely looks nothing like Executive Pro because it has been altered to fit your brand.
Your “skin” or child theme may have started out as Executive Pro, but it has now become something unique. If your site looks normal and everything works, it’s unlikely that whatever small issue resulted in a version bump has anything at all to do with your theme.
Going back to the window thing, if your Roman shade manufacturer releases a new type of shade with a different cord to open and close them, that doesn’t mean your shades suddenly stop working. Yeah, the changes may be nice or useful, but that does NOT make replacement a must. You’d probably only replace your shades if they stopped opening/closing.
Again, as long as the Genesis framework is up to date, your child theme does not need to be updated. There is simply no reason for it.
What if I want to update my Genesis child theme?
If you really feel you may implode if you don’t update your child theme, by all means, update away. You can spend tons of time taking all kinds of precautions to make sure your child theme is not directly edited and can be updated when those tiny version bumps happen. More power to you!
If you build sites for clients, your primary job should be providing a solution that does not hinder or endanger that client’s business, even if you’re no longer available or involved.
Activating a new theme should wipe out all evidence of the old theme. That’s why people use themes. So if a client can’t get rid of the ad code you stuck in Simple Hooks or the link color you added via Jetpack’s CSS module, you’ve succeeded in making WordPress even less intuitive for an end user. Party foul!
Please don’t underestimate the potential issues you create when you ignore best practices. Here are a few examples:
Plugins Can Be Dangerous
Let’s say I’m building a site for a client and I make a bunch of theme-specific changes to a child theme via a custom CSS plugin or a functionality plugin. (See this article for more about using functionality plugins, which should be used for changes that are not specific to your theme.)
Now let’s say my client has some kind of site issue and deactivates or deletes that plugin. Suddenly the client is calling me, frantic, because the site looks insane.
Alternately, let’s say the client has decided to switch to a new premade child theme from StudioPress. The client activates the new theme but doesn’t realize s/he should remove the plugins I used. Suddenly the client is calling me, frantic, because the site looks insane.
Notice how both of these scenarios involve spending time and energy, both on my part AND the client’s, that could have been saved for something more important.
Clients Sometimes Move On
If a client hires someone else to work on his/her site, is that person going to understand why you ignored StudioPress best practices? Will s/he be able to do what the client requests without spending unnecessary time hunting down where the changes live or figuring out why direct edits are being overridden?
Ask any seasoned developer and they’ll almost always agree – it’s cheaper to build something new than to work on something another developer built. Why? Because it takes ages to decipher what the other person did and how s/he did it.
If we all used the same methods and standards, clients wouldn’t have to dread hiring someone else or making changes to their websites. Best practices are called that for a reason, and we shouldn’t hold clients hostage by making things hard to manage.
Fears (and Bad Habits) are Contagious
Your clients pick up on a great deal from their interactions with you. If you are constantly stressing about child theme version bumps or miniscule CSS changes, the Genesis framework (which you touted as being easy to use) sounds intimidating and finicky.
If you are freaking out about an update like you’re preparing for war, your client will walk away thinking all updates are bad and should be avoided. This is how you find sites running WP 3.0 (released in 2010) in 2016.
If, though, you build quality child themes – whether your own custom ones or modified versions of others – and follow best practices in updating the Genesis framework only, your client will see (correctly) that updates are nothing to worry about and using a child theme makes good sense.
Just say NO to Genesis child theme updates
As I’ve said, if you just really want to update your Genesis child theme, you can. But I hope this post gives you an overview of the reasons not to do so, as well as the potential problems that can arise if you do.
WordPress makes life so much easier than the days of static HTML sites where every single element had to be coded manually. Genesis makes it even simpler. But that still doesn’t mean a website doesn’t require care and maintenance to continue functioning.
Since Genesis themes do not update in the dashboard (because they aren’t supposed to), trying to force them to be update-ready adds an unnecessary layer of complication.
By setting up your sites (or your clients’ sites) properly – which means everything that should be updated can be updated within the dashboard without breaking anything – you are keeping those sites as frustration-free as possible. This benefits everyone and makes the web a better place.
Elmer van der veer says
…and this is why I also started using Genesis, thanks for the good explanation in this article Andrea.
Andrea Whitmer says
You’re very welcome!
Ginger Coolidge says
Woot! Excellent post on this topic that I will be using for all support questions regarding theme updates. Thank you for taking the time to run through the scenarios and the why/why nots of how it works.
Andrea Whitmer says
Glad to hear it will be useful! I hate seeing people go to such great lengths (and so much effort!) to do the opposite of what Genesis is meant to do. Hopefully this will make sense to some and make their lives easier.
Amanda Rush says
This is an excellent post. However, I have to disagree, but only slightly.
If anyone other than me has been keeping an eye on the accessibility ready page of the “Shop for themes” section of StudioPress, you’ll notice that StudioPress has updated some of the Pro themes so far to make them accessibility ready. This includes more than just adding the theme support for accessibility with appropriate items in the array. It includes CSS fixes and usually the addition of customizer options. I’m not suggesting that you can’t take the time to update the child theme you’re using manually to make all the accessibility fixes. But if you’re someone who’s purchased a child theme to use, and you don’t code, merely installing Genesis-accessible, while a very excellent choice, isn’t going to fix all the accessibility for you. So the best thing to do in that case is grab the updated version, update appropriately, and you have an accessibility ready theme. And I would argue that everyone should be doing this, since the web is supposed to be accessible, insert accessibility advocacy speech that I don’t have the energy for today.
Just my two cents, and even still, an excellent post.
Andrea Whitmer says
A very good point, and one I hope everyone takes time to read and implement. I have to admit I’m a bit out of the loop when it comes to the premade themes since I only use custom ones. My base theme does have accessibility fixes but I’m sure I need to check for updated standards and settings. This site needs some fixes for sure – I’d hate to know what a pain it probably is to read stuff here!
Christian Nelson says
Andrea,
What a great post…thanks for the valuable thoughts. Only a few days ago I was looking at your blog page and lamenting the fact that you hadn’t written any posts lately…and now…surprise…here’s a new one and it’s great.
What you said confirms most of what I already thought…don’t jump every time a Genesis child theme is released…although it seems that there’s a definite gray area in whether or not to upgrade. Life is filled with uncertainties, and this is just one more of those.
I hope you’ll be writing more posts in the near future…always great stuff.
Thank you.
Christian
Andrea Whitmer says
It’s actually been nearly a year since I posted anything – life kept getting in the way!
I can only speak for myself, but I’ve never updated a single child theme I’ve ever used, and I’ve been using Genesis since 2011. All those sites are still working just fine. Now, some of those sites have gotten makeovers since because the old theme wasn’t mobile responsive or something, but that was a whole new child theme and not an update to the old one. 4-5 years with no updates is a pretty good indicator (to me, anyway) that there is nothing to be gained by worrying about updates.
Christian Nelson says
Thanks, Andrea. What you just said there puts the icing on the cake. 🙂
Bill says
As well as the accessibility updates mentioned above, isn’t there a danger of missing out on optimizations for newer versions of PHP and security fixes if you don’t update a child theme?
Andrea Whitmer says
Security fixes and compatibility patches are contained in the parent theme – the child is just a paint job. As long as Genesis is kept up to date, everything will remain functional and secure.
Irene Anum says
many thanks for your article. I need help right now. Ive started using a genesis theme i purchased some months ago. a developer [i contracted, but im not longer using] put in the heading and sub heading in a previous theme. upon changing to the genesis theme, i want to change the sub heading. can you help me with that please.
Andrea Whitmer says
Hi Irene,
I took a look at your site – do you mean the title and subheading at the very top of the site in the header? If so, you should be able to change that in Settings > General in your site’s dashboard.
Mark Kieling says
Hello Andrea. Great post. A little off topic here, but I’m new to Genesis and would like to customize a child theme. However I lack the skills. Do you recommend Dynamic Website Builder or the Dynamik Beaver as tools to assist me in the job at hand? Many thanks!
Andrea Whitmer says
Hi Mark,
It really depends on what you need to do. Dynamik will allow you to build child themes and export them into standalone child themes if you want, but Beaver Builder is easier to learn and use I think. What type of customizations are you planning?
Mark Kieling says
Hi Andrea,
Thank you for your answer. I already have a Genesis child theme (Eleven 40). the site will be a blog but I’d like to customize the top bar among other things and I noticed with Beaver Builder I can’t customize the top bar. There might be a plug in out there that can help me. In any case, Beaver Builder seems to be much simpler and intuitive to use. Do you know of a plug in that helps in customizing the top bar in Genesis? Thank you!!
Andrea Whitmer says
I’m a little confused – what are you trying to customize exactly? What changes are you wanting to make? If I have more details I’ll be happy to point you in the right direction. 🙂
Mark Kieling says
Hi Andrea. Thank you for getting back! I’m trying to customize the top bar, specifically. Chance all colors (bar, links, everything) and adjust the height of the bar as well as the position of the logo in it. Many thanks.
Andrea Whitmer says
In that case Design Palette Pro is probably your best bet, as it works with all the official StudioPress themes (except maybe a couple of the newest ones).
TBoan says
I am currently pondering whether I should update my child theme. Your article is putting my mind at ease, as the change was recommended by someone who said I should update my theme, since, I was told that it is XHTML and not HTML5. But Genesis Framework is HTML5. So, I wonder if the old child theme 1.8 is XHTML and if so, if there is any kind of compatibility issue?
Andrea Whitmer says
If your child theme is XHTML, I’d definitely recommend switching to a new theme. There’s nothing inherently wrong with your theme (assuming your site is working as it should be), but newer HTML5 themes contain markup that helps with SEO as well as improved mobile responsiveness. XHTML themes have been out of favor since about 2012, so you’ve likely had your child for quite some time – it’s probably time for a new look anyway. 🙂
Newton says
Now, Genesis Sample has a new update available. What will happen to my edited CSS and Function php in the Genesis Sample.
Andrea Whitmer says
Imagine you purchased a new Toyota Camry in 2017. Now the 2018 models are available. Does that mean you have to get rid of your car simply because there is an updated version? Of course not!
The same is true of your child theme, especially since you’ve customized Genesis Sample for your use. There is no need to update or change anything – your theme will keep looking and working exactly as it always has. There is a new version of Genesis Sample for people who may build a new site with it from this point forward, but there is no issue for people who used an older version previously.
Linda Wills says
Andrea,
What a terrific article! i’m just a small business person trying to design my site with a StudioPress child theme, not a designer, but you explained everything so clearly, I understood it all. Thank you!
Now I understand why the theme I bought one day didn’t update automatically when the update came up the very next day!
Thank you!
Linda
Andrea Whitmer says
You’re very welcome! Glad I was able to help. 🙂
Kylie | Midwest Foodie says
This article was SO HELPFUL. I am not tech savvy in the slightest and totally screwed up my site with the latest Genesis update (because I then updated my child theme and ruined all the customization that was done). And the weird part is, of all the people I reached out to regarding this issue, no one mentioned that I didn’t need to update my child theme… So, now I know! Thanks for such a clear, concise article!
Andrea Whitmer says
You’re so welcome, Kylie! I hope you were able to restore your site from a backup!
This is an ancient article,
so comments are now closed.