Drupal Checklist

Drupal Checklist

Tudip Technologies

24 June, 2016

Finally, you developed that awesome Drupal site but wouldn’t it be nice if you have a simple check list, against which you can verify that your site is up-to the mark. Here is our basic Drupal checklist. Please feel free to add if you think, we are missing something here:
 
Actual Site
  • Drupal lets you create loads of tpl files. It gets messier if you do not extract all the common js/css inclusions in 1 file. You can use 2 files names common_header.tpl and common_footer.tpl files that have all the common code and then include these 2 files in all the tpls.
  • Print $head and print $styles for sure as in future if you add modules they might not work as expected if you do not have these tags printed there.
  • Remove the unused modules from the module section as unused modules would slow down the performance of your site.
  • Make sure that you are using echo(t(“Something”)); instead of writing just “Something”. For this you would need to user StringOverride module. This way admin can change each and every line of the text that he sees on his site. Similarly at JavaScript end, you can use Drupal.t(“Thank you for your submission!”);
  • There should NOT be any broken links in the views.
  • Check your Drupal site using http://validator.w3.org/checklink for the broken links.
  • There should NOT be any unused images/movies etc in the upload or in any other folder. Mostly developers copy over an old Drupal project and start working on it but by doing this they also end up copying all the files that were relevant in the old Drupal site
  • There should NOT be any unused php/js files
  • If end user registration is not allowed, make sure that we block it from the settings section.
  • Make sure that gzip compression is enabled on your server for better performance. On Ubuntu, it is enabled by default.
Admin End
  • Enable rootcandy theme for admin. It gives very professional look to your admin end.  http://drupal.org/project/rootcandy
  • Entries in the .info file should be in the alphabetical order. If not, it gets really annoying to find the region name on the block page.
  • Your custom theme name should reflect the project name and the theme description should be “Custom theme for the website”
  • Image of the theme that is displayed on the admin side, should be in sync with the final implementation. Usually, developers tend to forget to update the final image screenshot as if it is not there, it can get really confusing for the administrator.
  • There should NOT be any unused content type, content, views, blocks. The unused blocks, content types, views and blocks cause tremendous confusion and it requires 1 hour just to identify what all blocks/views/content types are being used and which ones are not in use.
  • Administration menu theme should be enabled. This is a really slick way to provide an easy navigation for the admins.
  • There should not be any “One or more problems were detected with your Drupal installation” error message at admin end. They are mostly permissions and image library related messages. It is really easy to fix them.
  • If you have created a new content type, give it proper name and give it a small description so that admin can understand what he is creating.
  • Give proper help text in the content type fields. For example, if you are asking user to upload an image, mention what all file types are supported and what is the resolution you are expecting what is the permissible size etc.
  • Do not give height/width to images in the HTML/CSS. At the same time do give max height/max width in the CSS.
  • User proper favicon. No one likes to see the Drupal favicon 🙂
  • Put admin logo at the admin side too to give a custom look and feel
  • There should NOT be any hard coding of the HTML in the content that is coming from backend or else admins cannot change it. Your assumption should be, admins do not have any idea about HTML. Make more content types and solve this problem instead of asking Admins to learn ‘basic’ HTML tags.
  • Make sure that there are no errors in the Apache server logs. These error messages can slow down your site.
CSS:
  • All the CSS files should be included in the head
  • Custom CSS  files should be included AFTER the $styles as this way, you can easily override the values instead of using !important all the time.
  • Ideally you should NOT have any !important
  • Minimize usage of Margins, paddings, font-family and width
  • No inline CSS.
  • Validate the CSS by submitting your CSS at http://jigsaw.w3.org/css-validator/
  • Make sure that cache is enabled on this page for CSS http://IPADDRESS/admin/settings/performance

JS

  • All the third party JS should be in minified format
  • No JS in the page directly
  • All the JS files should be included just before the closure of the body tag
  • All the event handlers should be called inside document.ready()
  • Make sure that you are printing $scripts
  • Make sure that cache is enabled on this page for CSS http://www.tudip.com/goodwood/admin/settings/performance
  • Make sure that there are no javascript errors