# Une checklist pour le déploiement des projets

Basée sur la checklist de Spatie.be.

# Tests Browserstack

Desktop: test sur les dernières versions de Chrome, IE/Edge, Firefox, Safari Mobile: test sur les dernières versions Mobile Safari, Android

# Front end checklist

# Assets

  • [ ] Search sources for http://. Replace by https://
  • [ ] Lint (s)css sources
  • [ ] Webfonts: is the live domain configured in services like Typekit, Fonts.com etc.?
  • [ ] Is the browserlist properly configured for autoprefixer and babel-preset-env?
  • [ ] When using PurgeCSS: check if layout is preserved.

# Scripts

  • [ ] Is yarn.lock present?
  • [ ] Check JS lint errors. Remove all console.log lines in scripts
  • [ ] Check for console errors

# Page weight

  • [ ] Evaluate total weight of at least homepage
  • [ ] Open Inspector network/timeline tab to identify heavy assets
  • [ ] Check if heavy assets are cached

###Audits

  • [ ] Use the Chrome DevTools (in incognito mode) and perform a mobile audit (with throttling) to fix common problems.
  • [ ] Repeat with a desktop audit.

# Check content (with an open console)

  • [ ] Are all strings / images present (and translated)?
  • [ ] Does menu/submenu have a correct active state on every page?
  • [ ] Are 404, 500 and 503 pages provided? Do they provide useful content like 'back to home', search or a navigation tree?
  • [ ] Check all pages for n+1 problems

# Meta

  • [ ] Check page titles / descriptions
  • [ ] Test Facebook sharing. Provide og-tags if needed
  • [ ] Does Favicon load? Pin the tab in Safari to check pinned icon

Repeat this section for all languages

# Components

  • [ ] Google Maps
    • [ ] API key needed/configured?
    • [ ] Check info windows
    • [ ] Prevent zoom out beyond 1x world
    • [ ] Try clicking on markers
  • [ ] Forms: fill out with wrong/right values
  • [ ] Video: check with sound on
  • [ ] Try subscribing to a newsletter with incorrect & correct email (use correct mail twice to get 'already subscribed' message)
  • [ ] Check layout of emails
  • [ ] Check structured data for news, events, products,... https://search.google.com/structured-data/testing-tool/

# Back end checklist

  • [ ] Open up /blender
  • [ ] Remove unused modules from main menu
  • [ ] Configure Analytics dashboard
  • [ ] Create a new admin and try to log in
  • [ ] Try the password reset flow for existing user
  • [ ] Try saving article / news / ...
  • [ ] Verify all e-mail recipients are correct
  • [ ] Scan database for urls to development domain
  • [ ] Check client's logo in header

# Server, DNS & Services

  • [ ] Add redirects from old to new pages if necessary.
  • [ ] Install Let's Encrypt certificate
  • [ ] Check SSL certificate health https://www.ssllabs.com/ssltest/
  • [ ] Check your hostfile to make sure you're looking at the live site
  • [ ] Try visiting www domain, should redirect to non-www
  • [ ] Try out visiting http, should redirect to https
  • [ ] Verify that all http status codes are ok with https://github.com/spatie/http-status-check
  • [ ] Scan for mixed content with https://github.com/spatie/mixed-content-scanner-cli
  • [ ] Verify that indexing is not prohibited with x-robots-tag: none by checking curl -I https://url | grep 'x-robots-tag'. Allow robots in .env
  • [ ] Remove development DNS record
  • [ ] Check dns propagation with https://www.whatsmydns.net/
  • [ ] Verify Tag Manager / Analytics have been correctly set up

# Google Search Console

  • [ ] Submit all www/non-www http/https variations
  • [ ] Set up non-www https as the preferred domain
  • [ ] Crawl > Fetch as Google > Submit to index to kickstart index

# Server

  • [ ] Are DigitalOcean backups enabled?
  • [ ] Are Amazon backups enabled?
  • [ ] Is the output of artisan task backup:run ok?
  • [ ] Is artisan scheduled on Forge?
  • [ ] Is Horizon configured in Supervisor on Forge? Command should be php artisan horizon. Path should be /home/forge/my-new-site.com/current
  • [ ] Is the url being monitored by Oh Dear!?
  • [ ] Is the server being monitored by our server-monitor?

# Github

  • [ ] Remove develop branch or other stale branches