Skip to content

Instantly share code, notes, and snippets.

@artmouse
Forked from ezekg/checklist.md
Created April 16, 2023 22:52
Show Gist options
  • Save artmouse/1b82e66ead3f75afc33ba9885714f65e to your computer and use it in GitHub Desktop.
Save artmouse/1b82e66ead3f75afc33ba9885714f65e to your computer and use it in GitHub Desktop.
Deployment Checklist

Deployment Checklist

Pre-Development

  • Hosting is set up with full control panel access and we have log in credentials
  • All email addresses are known for each form and all emails has been confirmed active
  • Person responsible for DNS switch knows client's current email management service and understands how to route the DNS

Post-Development

  • Person responsible for deployment has obtained SSH access to server
  • All required system packages have been installed on the server e.g. recent versions of php (greater than v5.4, if at all possible), mysql, git, wp-cli, magerun (if Magento project), openssl (if https), rsync, etc.
  • WordPress core and all plugins are up to date (unless a known conflict is present with a plugin; if that's the case, we should weigh if the plugin should be used in the first place)
  • Site has been deployed to a staging environment hosted on the same server as the production environment
  • Site is working properly on staging environment (final pre-launch testing phase should occur on this environment and not the development environment)
  • robots.txt file is present on staging environment (to disable bot indexing)

Pre-Launch

  • Analytics is installed and is using the correct analytics account per instructions from Project Manager
  • All previous DNS records have been properly configured on new hosting environment (if applicable)
  • All website auto response emails are properly setup with client specific information
  • PPC tracking info is setup (if applicable)
  • Current site's sitemap is saved for 301 redirects post-launch
  • SEO team member has gone through all pages for proper title/meta description tags at a minimum, unless the project calls for greater content scrutiny
  • All files and databases for old site have been archived locally (if applicable)
  • All content has been input and all pages have been audited on staging environment (no dummy content)
  • All forms have been tested with final email addresses and responses the have been received by the client
  • E-commerce transaction's have been fully tested using dummy CC numbers and transactions verified with every payment gateway (if applicable)
  • All required plugins have been installed and confirmed working (caching, analytics, SEO, etc.)
  • All development files (src/, Gruntfile, Juicefile, Gemfile, bower.json, etc.) have been removed from web root
  • Hidden files/directories are not publicly accessible (.git/, .htaccess, .env, etc.)
  • All website traffic is directed to either the www or non-www domain (canonical issue)
  • Old site pages are 301 redirected to new pages
  • Final production stage has been tested and confirmed working before flipping the DNS switch (via /etc/hosts entry)

Post-Launch

  • Site is working properly on production environment on all devices
  • robots.txt file is not present on production environment
  • All website traffic is confirmed to be directed to either the www or non-www domain
  • All forms are again confirmed working and client is receiving all responses
  • All website auto-response emails are confirmed working
  • All 301 redirects are confirmed working
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment