Special thanks to WPEngine for putting this awesome website launch list together.
Keep this link in a familiar place so you don’t get lost in the QA process. This list is exhaustive, and not every project requires every step. That decision will be up to you.
Step | Order | Area | Task | Completed |
1 | 1 | Settings | Verify all site pages and elements display properly on Chrome, Firefox, IE (multiple versions), Safari, Opera, Mobile Safari, Android, etc. Most importantly, test while logged out. Secondly, test all scenarios while logged in, both the front-end and the back-end. (do this again as the very last step) | |
1 | 1 | Settings | Verify favicon displays on IE (might need .ico version) and non-IE browsers | |
1 | 2 | Communications | Receive Client approval of site design concept, moving forward toward finalizing/publishing. As appropriate, initiate change orders (i.e. charge more for feature-creep) | |
1 | 2 | Settings | Take backup before proceeding to finalize | |
1 | 3 | SEO | Create needed categories and tags, including Description text for each | |
1 | 3 | Settings | Change default category from “Uncategorized” to something else (e.g. “News”) | |
1 | 3 | SEO | Confirm SEO plugin’s settings per tag and category | |
1 | 4 | SEO | Create archive-, tag-, and category-specific layouts/pages | |
1 | 5 | Settings | Change the author of all posts, pages, and CPTs to be authored by the Client’s User(s), not your own Administrator User | |
1 | 6 | Themes | Review items in the WordPress Theme Development Checklist |
Step | Order | Area | Task | Completed |
2 | 1 | Settings | Run the WordPress Search and Replace script if needed (if moving from a test site with a different URL), and delete the script | |
2 | 1 | Themes | Theme / Child Theme named appropriately in wp-admin and FTP | |
2 | 1 | Themes | Delete unused themes, except a fallback like Twenty ____ | |
2 | 1 | Plugins | Deactivate development plugins, like Action Map / CSS Map; testing code, scripts, and dummy content; and SSL testing plugins | |
2 | 2 | Plugins | Delete unnecessary plugins | |
2 | 2 | Settings | Delete unnecessary / inactive users, as appropriate | |
2 | 2 | Settings | Make sure all users have their profile information as desired — Name, Contact Info, Bio, etc. | |
2 | 3 | Settings | Test site Search functionality: obviously-relevant results (i.e. search not broken), not returning hidden posts/pages/content (if any), returning CPTs, etc. Consider implementing a better-than-WordPress solution | |
2 | 3 | Settings | Make sure all WordPress default posts, pages, and comments are trashed or permanently deleted | |
2 | 4 | Settings | Verify all Widgets are in the right place (and display logic, if applicable) and delete unnecessary Widgets from the Inactive Widgets area | |
2 | 4 | Settings | Verify General Settings are as desired (e.g. www or non-www, new user registration, Timezone, etc.) | |
2 | 4 | Settings | Verify Discussion, Media, and Permalink settings are as desired (e.g. closing comments after 14 days, setting image sizes, and having pretty permalinks). Re-save Permalinks if you didn’t make changes, just to make sure. | |
2 | 5 | Settings | Delete WordPress default links and link categories | |
2 | 5 | Settings | Enable Remote Publishing XML-RPC if Client wants to use the WordPress mobile app, IFTTT, or verify site on Gravatar profile | |
2 | 5 | Settings | Setup WPMU DEV Dashboard to hide branding and only be enabled for your Administrator User account, as desired | |
2 | 6 | Settings | Delete all unused logo, background, and other files from Media Manager via Dashboard and from Theme / Child Theme folder via FTP | |
2 | 6 | Themes | Verify the theme’s (not the server’s) 404 page works and is designed as desired | |
2 | 6 | Settings | Turn on WP_DEBUG and Deprecation Testing before publishing site for one final test. After resolving all errors, if any, turn off WP_DEBUG and Deprecation Testing plugin(s) | |
2 | 7 | Themes | Validate website (HTML/XHTML, CSS, broken links, feeds, etc.). | |
2 | 7 | Themes | Run site through page load testing, like Pingdom, GTmetrix, YSlow, Google PageSpeed Tools, and Google Webmaster Tools’ and Google Analytics’ Site Speed reports. Make improvements as necessary/desired | |
2 | 8 | Themes | Verify all enabled Post Formats have specific styling. If styling won’t be created, disable non-styled Post Formats. | |
2 | 8 | Themes | Verify Featured Images are properly configured for archive pages, single post views, and any sliders / widgets that include Featured Images (i.e. Post Thumbnails). | |
2 | 8 | Themes | Add code that reminds Client of the ideal Featured Image size(s). | |
2 | 9 | Themes | Make sure all images have captions and that they look good | |
2 | 9 | Themes | Make sure video embeds work as desired | |
2 | 9 | Themes | Verify print preview (i.e. print stylesheet) is as desired | |
2 | 10 | Themes | While logged out, use View Source on the front-end of the site for several pages, looking for theme and plugin scripts that are loaded unnecessarily. Rectify as appropriate. | |
2 | 10 | Settings | If site has an SSL certificate, force SSL login/admin and resolve insecurely-loaded assets. If no SSL, consider adding a secure login alternative like Facebook. | |
2 | 11 | Communications | Create/Update the Client’s Gravatar and make sure it’s set to the same email address as used in the Client’s User Profile. Complete Gravatar image, verified services, and other profile info. Create/Login to the Client’s WordPress.com account (to be connected to JetPack) |
Step | Order | Area | Task | Completed |
3 | 1 | Settings | Setup RSS feeds as desired. Verify all feeds that should be on are on and those that should be off are off. (e.g. all posts, all comments, comments per post, author, category, tag, CPT ones) | |
3 | 2 | Communications | Verify site Terms and Conditions and Privacy Policy are displayed on-site and are approved by Client | |
3 | 3 | SEO | Create a robots.txt file | |
3 | 3 | SEO | Turn on WordPress’ “visible to search engines” setting | |
3 | 3 | Settings | Implement Analytics | |
3 | 3 | SEO | Verify site ownership with Google Webmaster Tools and Bing Webmaster Tools. | |
3 | 3 | SEO | Verify sitemap is valid with Google and Bing Webmaster Tools | |
3 | 3 | SEO | Integrate with Facebook and Open Graph (OG) if not already part of your SEO plugin settings | |
3 | 4 | Plugins | Activate needed plugins that aren’t active yet, like Jetpack, activity monitor plugins, spam-blocking plugins, and Email Post Changes | |
3 | 4 | Settings | Add social sharing icons via Jetpack, Digg Digg, Floating Social, or other method | |
3 | 4 | Settings | Setup Comments Plus, Google Plus, and any other social integrations | |
3 | 4 | Settings | Setup Newsletter / MailChimp / Feedburner / Jetpack / other subscription manager settings and put sign up form on front-end | |
3 | 5 | Settings | Consider minifying your code. Enable caching, and CDN |
42SettingsSetup syndication / auto-posting of new posts and CPTs to Client’s social media channels, as desired
Step | Order | Area | Task | Completed |
4 | 1 | Settings | Setup Admin Help Content and Custom Dashboard Widget to include beneficial links: to your own blog(s), tutorial / how-to videos, wiki or knowledgebase or support chat, the WPMU DEV Manual, the WordPress Codex (or a select few pages), podcast, contact information, Terms and Conditions, “tell others about us” affiliate reward (setup their PayPal email address in their User Profile). Include information about possible upgrades and reminding Client of your other services | |
4 | 1 | Settings | Set Dashboard Feeds settings with your own blog’s feed | |
4 | 3 | Communications | Write a blog post about the new site design, providing yourself a backlink, and tell Client they have their first blog post. Invite them to edit as desired | |
4 | 3 | Communications | Promote Client’s site on their social media channels | |
4 | 3 | Communications | Add Client’s site to your own site’s Portfolio page | |
4 | 4 | Communications | Promote Client’s site on your own social media channels | |
4 | 5 | Communications | Create a screencast video (or collection of screenshots) to walk Client through all the features of their new site (maybe 2 videos if also wanting to demo the back-end). Publish to YouTube as a Private video (or Public if you have Client’s permission) and email to Client, requesting feedback | |
4 | 6 | SEO | Submit site to dmoz open directory and industry-specific site directories | |
4 | 7 | Communications | Provide an email signature for Client, including link to their site | |
4 | 8 | Settings | Finalize Pop-Overs, Social Marketing and Pay with a Like giveaways, Floating Social, lead captures, squeeze pages, etc. as needed | |
4 | 9 | SEO | Make sure your Update Services are as desired (for notifying sites of new posts) | |
4 | 10 | Communications | Subscribe to the site’s feed(s) in your own RSS reader, if you don’t have any other way to keep track of the site’s posting activity | |
4 | 11 | SEO | Update Facebook, Twitter, Google+, and Google Maps pages with current domain name and other contact information. |
Step | Order | Area | Task | Completed |
5 | 1 | Settings | Implement a tag-picker metabox (to avoid Client creating multiple variations of the same effective tags) | |
5 | 1 | Settings | Finalize Ultimate Branding settings | |
5 | 1 | Settings | Finalize Easy Blogging settings | |
5 | 1 | SEO | Finalize Infinite SEO or other SEO plugin’s settings | |
5 | 2 | Themes | Consider disabling some of the Write Panel features, as appropriate | |
5 | 2 | Settings | Login as each user to verify they have proper viewing/editing permissions and all Dashboard meta boxes, Post Editor meta boxes, and Admin Bar links are displayed as desired, including in the proper order. Ideally, there should be no dead links (“You do not have sufficient permissions to access this page.”) | |
5 | 2 | Settings | Make sure WordPress default email address is as desired (yours or Client’s email address?) | |
5 | 2 | Settings | Verify all form submission notifications are sent to Client’s email, not yours | |
5 | 2 | Settings | Add code to customize WordPress’ send-from email address | |
5 | 2 | Settings | Verify robots.txt and/or SEO plugin’s settings are working as desired by checking webmaster tools indexation | |
5 | 2 | Settings | Verify all site pages and elements display properly on Chrome, Firefox, IE (multiple versions), Safari, Opera, Mobile Safari, Android, etc. Most importantly, test while logged out. Sec ondly, test all scenarios while logged in, both the front-end and the back-end. (same task as in the beginning) | |
5 | 3 | Settings | Add site to ManageWP, WP Remote, or an alternative, if desired and not already done | |
5 | 3 | Settings | Run a database cleanup to remove old revisions (proceed with caution, consider backing up database first) | |
5 | 4 | Settings | Save a .zip backup of the entire site (files and database) to your local computer as proof of what you delivered to the Client on the day of going live. | |
5 | 5 | Setup | Implement auto-backup schedule | |
5 | 6 | Communications | Get your Client started on the right writing path by teaching them how to follow their own Blog Post Writing Checklist | |
5 | 6 | Communications | Consider suggesting Client setup Google Alerts and/or Yahoo Alerts | |
5 | 6 | Communications | Finalize your contract and get Client signature that the work has been completed satisfactorily. Get final payment (maybe before providing login credentials). Get web hosting payment if applicable. | |
5 | 7 | Communications | Provide Client with login, FTP, database, and third-party management utility credentials, as appropriate | |
5 | 7 | Communications | Setup WordPress mobile app and/or other remote publishing tool for Client |