= Website Launch / Relaunch Checklist = This checklist is useful when you're launching / relaunching a website or webapp. It doesn't substitute for [[web-qa-testing|a full QA]]; it's more of a 'don't forget to...' list. == Pre Launch == * Verify that [[web-qa-testing|QA]] is complete and there are no outstanding issues / tickets. * Verify server settings. Vhosts must be setup and ready. The domain must be pointed at the new server (or have a 300s TTL if you're still pointing to the old server until launch). * Make sure you've migrated the old ''.htaccess'' file, including special settings and any redirects included there. * Go through the old site root and make sure you've copied other important files ([[http://www.google.com/addurl/?continue=/addurl|Webmaster Tools verification]]; [[http://www.sitemaps.org/|sitemap.xml]], [[http://www.robotstxt.org/|robots.txt]], etc.) * Do a final spot check of pages or your app (preferably in IE) and make sure nothing looks broken; all pages have title tags, meta data, etc. * Make sure [[http://analytics.google.com/|Google Analytics]] is installed, including any advanced tracking (virtual pageviews, e-commerce, event tracking, etc.) == Launch == * Make sure you have a written launch procedure, as well as a rollback procedure. These can be simple - a few steps written on a napkin for the launch, and just a 'restore backups' step for the rollback. But make sure you actually have them, and have them written down. Launch is no time to ad-hoc important system changes. * Things you'll probably want to include on the launch plan: * Making backups of files and dumping databases. * Running your [[http://en.wikipedia.org/wiki/Minification_(programming)|CSS/JS minification]] scripts (if you have them). * Putting your app into 'maintenance mode'. * Updating/installing any needed server side software (e.g. an updated version of curl) * Pushing out your actual code. * Making specific file or filesystem changes needed for launch (e.g. creating a needed symlink or changing a specific config file) * Running database update scripts. * Running one-time scripts, e.g. a permissions fixer script or something. * Setting up needed cron jobs. * Making any needed changes to Google Analytics goals, etc. as you go live. == Post Launch == * Spot check the website again, probably in IE, to make sure everything looks good. Also spot check functionality (e.g. registration, login, contact forms, basic functionality in your app). * Make sure httpd access and error logs are going where you think they should be. Review the files and make sure no unexpected errors are showing up. * Spot check a few redirects (e.g. from old pages) to make sure they work. * Set TTLs back to 86400. * Check Google Analytics and make sure you're still getting tracking data and goals, etc. are still working. Note that Google typically takes ~3 hrs to update data. * Make sure any monitoring you've setup is showing everything is online and operational.