Before go live checklist

The purpose of the list is to provide the tasks which needs to be executed before website go live
language: phpframework: drupalseogolive

Check deploy for errors / warnings

  • Search for any error / warning in the output in site status report,
  • Is config-split / ignore correctly set-up for live-environment?
    • check if the the keys are correct for live env (GTM, GA, Google maps, other APIs)
    • dev modules disabled in live configuration split
    • Ignored_config_entities should contain stuff like:
      • 'webform.*'
      • 'system.action.webform_*'
      • 'collections.language.*'
      • google_analytics.settings
      • google_tag.settings

Are all security updates / patches installed?

  • go to /admin/modules/update
    • check for available updates for for security updates or unsupported releases
    • if updates can’t be done due to conflicts or requirements, then security fixes should be applied as patches

Composer related

  • Is the composer.json file up-to-date?
  • Are all patches still applying?
  • run composer update nothing --no-dev command
    • all patches still apply correctly
    • dev dependencies are not installed / committed

SEO

<link ... hreflang="<langcode>" href="..." /> ;
  • the langcode changes when switching languages on the same page
  • check if homepage, 403 and 404 and other landing pages have translations for all the available languages.
  • Site email to be relevant
  • Email address to be relevant
  • check page sizes on homepage and other main pages and spot large files being downloaded (https://gtmetrix.com/)
  • All image fields have a max-resolution configured?
    • check all image fields
  • Alt & title configured on every image field?
  • check if Redirect module is available and installed
  • Path pattern configured for each entity detail?
    • Check all entities which have a canonical URL / detail page (node, terms): visit and see if styled, otherwise should probably be 404-ed.
      • /en/admin/config/search/path/patterns
  • Rabbit-hole correctly configured? Non-accessible entities should be a 404.
  • Check all entities which have a canonical URL / detail page (node, terms)
    • access the Manage fields page of CT’s which are accessible via canonical URL
    • check if there is a metatag field
  • Is XML Sitemap installed and properly configured?
  • check if Simple XML Sitemap module is available and installed
  • check if simple_sitemap.settings is ignored - /en/admin/config/development/configuration/ignore
  • Default base URL to use final domain
  • regenerate sitemap and check /sitemap.xml
  • If site has >2000 pages, check limit and if sitemap is split into smaller chunks
  • Are redirects imported from the old site to the new site?
    • Try to access old paths on the new site, they should redirect to a migrated / relevant page.
  • robots.txt enabled and commited? and added to live?
    • make sure that staging and dev block crawlers

Permissions

  • Webadmin-role is present and webadmin-user is added
  • Are all permissions correctly configured?
  • editor role should be able to CRUD all kind of content
  • webadmin role should be able to configure keys that are ignored (GA, GTM, reCaptcha, etc)

Codebase

General

  • check if CAPTCHA and reCAPTCHA modules are available and installed
    • check if Site key and Secret key are configured
    • Client has live-url added to his/her reCaptcha config
  • Drupal cache, Varnish and memcache properly configured (on dev & staging environments too)?
    • check settings.php files for correct config
    • check cache hit with curl
    • create/edit/delete content, check as anonymous
  • is Varnish setup correctly?
    • Edit content as editor and check as an anonymous user if it is reflected on the client side.
  • Check load times of the pages and elements on the pages
    • Usually, pages should load in less than 2 seconds.
  • Check site with Google PageSpeed / LightHouse.
  • Is all test data (nodes / terms / users) removed?
  • Are all webforms updated with correct email values?
    • check all the webform email handlers for valid addresses.
  • install Reroute emails module
    • enable rerouting and set your own email address test the webform’s notifications
  • If Google Maps is used on site, does it appear properly? Is Google Maps API key properly set?
  • Check for broken links on the site.
  • Solr is properly configured
    • there are any Solr servers and if they are accessible
    • content can be deleted / reindexed in Solr based indexes.
  • Cross-browser check
  • Decent styling of the Login page
  • Favicon added?
  • Compile theme with 'gulp prod' ( to disable source-maps )
  • Are emails correctly received when sent out by the site?
    • (when on final domain, SPF records are ok?)
    • open email received from the (live) site
    • click on more options (3 dots) and choose Show original
    • check SPF header is Pass (not Fail or Soft-Fail)
  • Is this project using a supported PHP version?
  • All t strings in English
  • All machine names in English