Checklist for a Drupal Website Before and After Launch

Recently Digett Company posted in their blog a very useful article with Testing Checklist for a Drupal website in it. It is a very handy list for everyone involved in Drupal website creation and release (launch) process: from developer and QA engineer to Project Manager.

I fully agree with the writer of a post that the necessity of checking website is crucial and builds trust between you and your customer. In AgileLion Institute we provide Drupal website development services and we always try and deliver the reliable and working websites, checked thoroughly by our team.

Here is the Testing checklist for a Drupal website created by JD Collier, Digett Web Strategist:

Planned

These first items are just to ensure we've planned for a few items that have caught me off guard before on a Drupal site.

  • Test what happens when you add a level of navigation lower than planned — what if the client wants a page under a page you planned as the deepest you could go? Not that you have to allow for it in the drop down header navigation, but at least there is a plan.
  • Ensure css takes into account html tags outside initial site content. No tables when launching the site, it doesn't reflect well if a client has to report a problem later when they try to add a simple table of data and the style is completely off because we forgot to plan for it.
  • 301 redirects are in place to redirect old site paths to new Drupal site paths. We do these in the Redirect module.
  • WYSIWYG on main content pages provides a way for clients to align images left or right and css provides appropriate padding for each.
  • WYSIWYG image and file uploads work as expected and the client has appropriate permissions to upload.

Before launch 

  • Privacy policy link is in place if there are comments on the site (required since we use Mollom).
  • 404 (not found) and 403 (forbidden) display appropriate information and are customized appropriately.
  • Drupal Content Type settings: we turn off preview, we ensure revisions are turned on for all content types and we ensure the correct menu is available.
  • Ensure Pathauto patterns are set appropriately for each content type. 
  • Xmlsitemap is configured and updating properly when content changes.
  • Meta descriptions/titles are in place and available for home page and views as well as normal content pages. For Drupal, it is important to always check pages created by Views. This is often missed on Drupal sites I've seen.
  • Robots.txt file correctly blocks nodes that should not be indexed (rotators, sidebar block promos, etc). We prefer to do this in the RobotsTxt module.
  • Client has enough permissions but not too much (based on your ongoing support with client).
  • User passwords are set to strong passwords before launch.
  • If not a community site, ensure only admins can create accounts.
  • Ensure test content has been removed.
  • Ensure Google Analytics is in place and working (use real time function to ensure anonymous users are tracking); block your IP and client (if desired).
  • Disable development and unused modules.
  • Enable appropriate css and js aggregation (do this before testing site). Javascript aggregation can be especially problematic in some cases so ensure you test any pages with custom functionality.
  • Turn on Drupal cache (if not using Varnish).
  • Check error log and resolve issues.
  • We like to set error reporting to NOT show on screen for production sites — just write to log.
  • Ensure site search works as expected and that it is themed properly.

Right after launch

  • Clear all Drupal caches.
  • Run broken link checker to ensure production site has no broken links. We use the Link Checker module to assist with this process.
  • Ensure any staging or dev url paths are set to production (we use Pathologic to help catch these)

I would put some more checklist points:

  • If there are any forms, check whether they function properly and make sure that "Send-to" email address is correct, meaning your client's email address.
  • Check if all big images are correctly compressed (meaning all the proportions are saved and they don't look ridiculous) and preferably have size not more than 40-50 Kb.
  • Check if all the links inside website open live content pages, not Dev or QA.
  • If the site was claimed as a responsive website, check website in iPhone, iPad, etc. simulators or real ones.
  • If the site has a feature of creating and posting articles in it, check that correct author information is displayed after an article being published.
  • If your site or certain pages allow comments, make sure that they are published only if it is approved by a site administrator, and your client will receive notification by email once new comments are added.

If you would like to add some more checklist points to original article and my points, your input is very welcome!