Commonly used Drupal modules and basic site configurations

Submitted by hemant.gupta on Fri, 09/25/2015 - 07:18

Drupal is a very powerful CMS for building websites. Drupal is powerful not just because of its core modules but also due to availability of various contributed modules. A new Drupal developer could easily get overwhelmed when starting to build a website in a Drupal. So in this post I will tell you about the some basic configuration and commonly used modules of Drupal used at Sparxsys which makes site building easier for us.

Commonly used modules

Admin menu

This module provides a theme independent navigation bar on top of the website. It is much better than the default toolbar because it is Java Script based menu, which means that as your hover your mouse over the the items in the menu, the sub menu will automatically appear. It is very convenient because it not saves lot of time browsing through the complex admin sections of your website and you can browse though sub menus to directly reach the sections which would otherwise require multiple clicks.

BU Editor

It is a text editor which facilitates code writing. You can use this module if you want to add code in your content along with little formatting. It will simply inserts HTML tags for you easily.

It provides the following features

  • Completely customizable editor interface
  • Ability to create both image and text buttons
  • Per role editor assignments
  • Native support for HTML tags, bbcode tags, and other markup systems

Captcha & Recaptcha

A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human. The purpose of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. The CAPTCHA module provides this feature to virtually any user facing web form on a Drupal site.

Recaptcha module uses the Google recaptcha web service to improve the CAPTCHA system and protect email addresses.This module basically improves the captcha module.For using this module you must have captcha module enabled

Context

This module allows you to manage contextual conditions and reactions for different portions of your site. You can think of each context as representing a "section" of your site. For each context, you can choose the conditions that trigger this context to be active and choose different aspects of Drupal that should react to this active context.

Think of conditions as a set of rules that are checked during page load to see what context is active. Any reactions that are associated with active contexts are then fired.

Other included modules

Context UI provides an administrative interface for managing and editing Contexts. It is not necessary for the proper functioning of contexts once they are built and can be turned off on most production sites.

Context layouts provides a formalized way for themes to declare and switch between page templates using Context. It is a continuation of an old Drupal themer's trick to switch to something besides the standard page.tpl.php file for a variety of special case pages like the site frontpage, login page, admin section, etc.

Flexslider

This module integrates the Flex Slider library with Drupal and several contributed modules which allows you to build responsive, resizable slideshows. Meaning the slideshows automatically adapt to the size of the browser window or device.

This module is very useful for creating the slideshow of images,this module also provide various customization's to your slideshows like slider controls,speed of changing slides,viewing slides in reverse order etc. This is a must have module if you want to create cool image sliders at your site.

To make this module working you may have to flex slider library,it ca be downloaded from here

Font your face

This module provides an administrative interface for browsing and applying web fonts (using CSS @font-face, supported in all popular browsers) from a variety of sources.
Features

  • Fonts are automatically loaded on site simply by clicking "Enable"; no need to create font files, write CSS, add JS, nor figure out different methods for every font provider.
  • Clear indication of license restrictions on provided fonts.
  • Fonts can be applied to specific text on the site either by using the provided font-family identifier in theme CSS, or by typing a CSS selector directly in the @font-your-face interface.

Global Redirect

This is a simple module which helps in redirecting. Here is the list of features it offers.

  • Checks the current URL for an alias and does a 301 redirect to it if it is not being used.
  • Checks the current URL for a trailing slash, removes it if present and repeats check 1 with the new request.
  • Checks if the current URL is the same as the site_frontpage and redirects to the frontpage if there is a match.
  • Checks if the Clean URLs feature is enabled and then checks the current URL is being accessed using the clean method rather than the 'unclean' method.
  • Checks access to the URL. If the user does not have access to the path, then no redirects are done. This helps avoid exposing private aliased node's.
  • Make sure the case of the URL being accessed is the same as the one set by the author/administrator. For example, if you set the alias "articles/cake-making" to node/123, then the user can access the alias with any combination of case.

Basically speaking this module allows for controlling all the redirection of users to the content so they can easily browse it.It also stops the users from accessing the content which they are not authorized to see.

Google Analytics

Adds the Google Analytics web statistics tracking system to your website.The module adds JavaScript to pages on your website, allowing them to be tracked by Google Analytics. Your Google Analytics account at http://www.google.com/analytics/ shows many more statistics about your site, your visitors and their activities while on your site.

Here are some of them

  • Single/multi/cross domain tracking
  • Selectively track/exclude certain users, roles and pages
  • Monitor what type of links are tracked (downloads, outgoing and mailto)
  • Monitor what files are downloaded from your pages
  • Custom code snippets
  • Site Search support
  • AdSense support
  • Anonymize visitors IP address
  • DoNotTrack support (non-cached content only)
  • Drupal messages tracking
  • Access denied (403) and Page not found (404) tracking
  • User ID tracking across devices

Imegafield focus

There are times when you want to show a particular part of an image on your website but you are not sure how to that using image styles provided with drupal.This module exactly does this for you.It allows to scale and crop images focusing on their important portions.

This module extends image field widget and add 2 new actions

  • Focus Scale And Crop action.
  • Focus Crop action.

Metatag

The Metatag module allows you to automatically provide structured metadata, aka "meta tags", about a website. In the context of search engine optimization, when people refer to meta tags they are usually referring to the meta description tag and the meta keywords tag that may help improve the rankings and display of a site in search engine results. In addition, the module provides support for meta tags (Open Graph Protocol from Facebook, Twitter Cards from Twitter) that allow control of how content appears when shared on social networks.

Pathologic

This is an input filter which can correct paths in links and images in your Drupal content in situations which would otherwise cause them to “break;” for example, if the URL of the site changes, or the content was moved to a different server. Pathologic can also solve the problem of missing images and broken links in your site’s RSS feeds.

This is a simple to use module,just activate it and select it for text formats and you are good to go. You don't have to worry about brkoen links because this module will correct them for you.

SEO Checklist

This module provides a list of recommended modules that are really helpful in good SEO. Just install this module and follow it step by step. This module doesn’t add any functionality to the site but will simple give you the checklist of stuff that needs to be done for complete Search Engine Optimization. It is a must install module and we highly recommend to use it.

Views

Views is a very powerful module.You need it if

  • You like the default front page view, but you find you want to sort it differently.
  • You like the default taxonomy/term view, but you find you want to sort it differently; for example, alphabetically.
  • You use /tracker, but you want to restrict it to posts of a certain type.
  • You like the idea of the 'article' module, but it doesn't display articles the way you like.
  • You want a way to display a block with the 5 most recent posts of some particular type.
  • You want to provide 'unread forum posts'.
  • You want to build image library from your content

Views can do much more than this and it is a must install module for presenting your content to your users.

XML Sitemap

The XML sitemap module creates a sitemap that conforms to the sitemaps.org specification. This helps search engines to more intelligently crawl a website and keep their results up to date. The sitemap created by the module can be automatically submitted to Ask, Google, Bing (formerly Windows Live Search), and Yahoo! search engines. The module also comes with several submodules that can add sitemap links for content, menu items, taxonomy terms, and user profiles.

Now some basic site configurations

Whenever we start a new Drupal project there are certain important tasks that we need to do. These basic configurations are part of our Drupal development checklist and we never forget to miss them.

Enable clean url

By default Drupal generates the URLs for your site lke example.com/?q=admin or example.com/?q=node/21 this url is very difficult to understand and it can also shoo away some search engines so it is bad for your site to have URLs like this.

To enable this module go to

Configuration->SEARCH AND METADATA->clean urls

Here you will get the option to enable them if they are not enabled, if the option is not available you have to enable Apache's mod_rewrite module and that should make the clean url option available.

Configure file paths

You should configure the file paths for storing the data of your site like images now to configure file paths go to
Configuration->Media->File system

Here you can configure the paths for storing public,private and temporary files. The best place to store these files is sites/default/files/type_of_filesystem

Check the correct file permissions of Drupal files, files folder and settings.php

It is very important to check the permissions of your drupal files and folders. The permission has to be set in such a way so that no anonymous user could access these files and breach the security of your site. the permissions of settings.php should be set carefully because it contains all the site settings and parameters for database connectivity.

Site Information is filled correctly

It is important to check the site information is filled correctly because wrong information will make it hard for your site to sustain and users will not be able to use your site properly.

Disable Views UI

The Views UI module is the user interface module for Views. In order to create, edit, and manage views in the Drupal user interface, you need to enable the Views UI module. Once you have all of your views defined, you can turn off the Views UI module for efficiency. Your views will continue to work, but you will not be able to see them in the Drupal user interface and there is no need for that once a site is live you generally doesn't need to create new views ,so you can disable views ui for increasing your site efficiency.

Verify administrative rights once again

Before going live make sure to check administrative rights and permissions. Check if you have given permissions correctly to your roles and never give anonymous users any administrative rights

Enable CSS aggregation for better site performance

Enabling css aggregation makes your site load faster on the frontend. css aggregation store files on different basis and only those files are loaded which are necessary on a page and hence it boosts the site performance

Make sure cron is configured

There are many tasks which depend on the running of cron like aggregation module uses cron to fetch new feeds,Also the drupal automatically checks for update by running cron. so make sure the cron is configured properly to do all these tasks

All the modules and configuration mentioned here will make your task of site building easier and it will provide you a head start in developing your website. Also check this blog to make your drupal site secure