For a long time, I felt like I was diffusing a bomb every time I launched a new project, especially if I was replacing an old design on an existing website. What if I forget something? What if the site breaks?
You haven’t lived until a client has emailed you, weeks after a launch, to let you know something is horribly wrong or missing. (Not that I would know. *innocent whistling*) While very few mistakes are too big to undo, wouldn’t it be great if you could prevent those issues in the first place?
As it turns out, you can! After I made enough site launch boo-boos to get fed up, I decided to create a checklist I could use to be sure I wasn’t forgetting anything. And because I’m feeling generous today, I’d like to share it with all of you. 🙂
The PDF version of the checklist has embedded form fields, so you can actually check the boxes while working on a project and save the checklist as needed.
No time to read? Go ahead and download the checklist!
Here’s the long version of every item I included in the checklist, in case you’re curious.
Genesis Project Launch Checklist
Before Launch
1. Build on a clone of the current site if at all possible.
If you can export the current site to a local install or a test domain and use that to build the new theme, always take the time to do it. This will prepare you for any potential plugin conflicts, image issues, or other weirdness you may need to correct during launch.
2. Get client signoff on the test site.
Whether it’s formal or just by email, be sure your client has confirmed that s/he approves of the new theme as seen in your test environment. This is super important unless you want to spend hours or days of your life making tweaks that weren’t in the original design.
3. Make a backup.
For the love of all that’s holy, make a backup before beginning the launch process. Just trust me on this.
4. Check FTP/CPanel credentials.
Before you do anything, make sure you’re able to log in with the credentials supplied by the client. You’d be surprised how often they have no idea what their passwords are.
5. Take a screenshot of all widgets.
When you activate a new theme, it’s common for widgets to jump into the wrong spot. Taking a screenshot makes it easy to put everything back where it belongs.
6. Obtain social media URLs and mailing list codes.
When I build a test site, I tend to use dummy URLs for the social links and opt-in forms. It’s pretty embarrassing to email a client and say, “Sorry, but your launch was delayed because I don’t have the real URLs.”
7. Find out how Google Analytics or other tracking codes are implemented.
If the live site uses a plugin, you’re golden. Otherwise you’ll need to be sure you have the tracking codes so you can insert them via the Genesis theme settings page.
8. Turn off any caching plugins, CDNs, Cloudflare, etc. on the live site.
Please don’t wait until you’re in the middle of a launch to realize the site uses Cloudflare and you don’t have the login. Learn from my fail!
9. Put the site in maintenance mode.
I’m a big fan of the SeedProd Coming Soon Pro plugin, but any WordPress maintenance plugin will do. You should also visit the site in an incognito window to be sure maintenance mode is active before you start dismantling the site.
During Launch
1. Install Genesis and the new child theme.
This is the easy part, right? Download the child theme folder from the test site, zip it, and upload it after you’ve installed Genesis.
2. Visit Genesis > Theme Settings and compare to the test site.
I like to keep two windows open side by side so I can copy and paste.
3. Upload any needed images.
Hopefully your images are in the theme’s images folder, but this is a great time to check the test site’s media library to be sure images won’t be missing on the live site.
4. Fix the widgets.
Again, it’s great to have two windows for this. Drag any existing widgets where they belong, add new ones, and be sure you’re using the live site’s URL and not test site URLs within any text widgets.
5. Create menus.
Unless I’m missing it (and someone please tell me if so), there is currently no way to export only the menus from a WordPress site and import into another. So you’ll need to create any menus shown on the test site, making sure they are using live site URLs and not test site URLs.
6. Remove and add plugins.
Any plugins that are no longer needed can be removed, and this is a great time to add any others required for the new theme. You might also want to configure the new ones (something I’ve been known to forget before).
7. Check all theme files for references to the test URL.
Take a few seconds to search every single theme file for test URLs, just to be on the safe side. I’ve seen cases where a designer or developer removed a test site months after launch and every image on the site broke.
8. Regenerate thumbnails.
New theme, new image sizes. Time to regenerate thumbnails so everything looks right!
9. Check posts per page.
Some designs require a certain number of posts per page in the archives, so you’ll want to check both Settings > Reading and the Genesis theme settings to be sure everything is configured correctly.
10. Optimize the site’s database.
WP Optimize is a great plugin that allows you to do this in a couple of clicks. Post drafts and other junk can really bloat a site!
After Launch
1. Obtain client approval again.
Have your client look over the site to be sure nothing is glaringly different from the approved test site.
2. Check the front of the site while logged in AND logged out.
It’s always smart to be sure visitors will see the same thing you see.
3. Turn off maintenance mode.
Be sure to do this in the maintenance plugin’s settings before deleting the plugin. Ugly, horrific things can happen when you don’t.
4. Enable caching, CDN, Cloudflare, etc. again.
You’ll probably also need to clear all caches to be sure visitors won’t get a broken version of the site.
5. Set a reminder to check in with the client.
Give the client some time (whatever is specified in your contract) to look for any issues, then send a final email before the deadline just to be sure. This is also a great time to ask for a testimonial before the “new site smell” wears off.
6. Share on social media.
You worked hard - time to show it off! Share in the various Genesis social groups so we can all take a look at your work.
7. Update your portfolio.
Quick, get a screenshot before the client changes something! (Sad but true.) Keeping your portfolio up to date is far easier when you do a project at a time instead of letting them build up forever.
That’s all! You’ve now successfully launched your latest Genesis project, hopefully with no issues. Are there any other tasks you’d add to this list?
Download the handy checklist!
Mike mcsharry
Thank you for a great checklist. 🙂
Developing web sites for clients isn’t currently our main line, but we have a few customers where we are changing genesis based sites. We’ve bought dummy domains and then used backup buddy to drop a copy of the existing site - we can then experiment with themes, widgets etc on the spare site. What’s your thoughts on this approach?
Andrea Whitmer
Hi Mike,
That’s almost exactly what I do, except I tend to install the backup locally (DesktopServer FTW) instead of on a test domain. Once the changes have been made, I usually move to a subdomain with BackupBuddy so the client is able to take a look. BackupBuddy may be the most useful plugin I’ve ever purchased in nearly 6 years of building WordPress sites.
Marcy Diaz
Thanks for the checklist, Andrea! There was lots here; some I never thought of. Wouldn’t exporting menus be a great feature?!
Your methods of using screen shots and open side-by-side windows during set up really work; it’s nice to know how others work too.
Andrea Whitmer
There’s a plugin in the repo, but it’s older and I couldn’t get it to work. I am dreaming of the day when someone writes a new plugin that actually work!
Todd
Hey Andrea, I just saw this this morning on github. I haven’t tested it, but I thought you might be interested: A menu exporter
Andrea Whitmer
Ooooh, thanks, Todd! Going to check it out to see whether I can get it to work. If it does, this just might be the best Christmas gift ever. 😀
Liz Schneider
Fantastic list, Andrea! I am still working through a big redesign HTML to Wordpress site, your list will help me keep track of all the details needed.
Jon Schroeder
Maybe I’m misunderstanding this – why wouldn’t you simply create the site elsewhere, then migrate it? There shouldn’t be any moving widgets, etc., and there’s so much less to keep track of.
My checklist is probably longer than this, but the critical components are simply to migrate the site, then refresh the permalinks. (I use DesktopServer for building the site, usually I migrate to a public dev location, then migrate from the dev location to the live site, doing most migrations manually with the WordPress Serialized search replace tool to change the site URL throughout the database.
Andrea Whitmer
If you’re redesigning an existing site, you may not be able to replace the whole thing. For example, I’m working on a redesign now for a blog that has like 20 new posts each day. There’s no way I can get all the posts and comments synced up to wipe the whole thing because it moves too fast, so instead I’m only moving over the new theme onto the existing site.
Chris
Wow, awesome resource. I have been doing something like this so I dont forget any little pieces but you definitely gave me a few to add. Saved!
Andrea Whitmer
Hi Chris,
Thanks for stopping by! Glad to hear the checklist was helpful! 🙂
Jenn McGroary
Excellent list. As a developer, do I have my own lists that I use, however you brought up a few such as, creating a screenshot of the widgets, turning off caching plugin, and double checking absolute urls (I’ve missed that several times) I didn’t have.
I’ll be adding to my own process later today. Thanks!
Andrea Whitmer
The widget screenshots have saved my behind more times than I can count! I always think I’ll remember until I actually need to remember for some reason, then it’s a scramble to look on the WayBack Machine (assuming the site had been indexed) and find what’s missing. It takes awhile to go through all the steps but I’m always glad I take precautions when a launch goes wonky. Appreciate you stopping by!