Drupal is one among the three most popular content management systems, others being Wordpress and Joomla. One of the major advantages of Drupal is the ability to extend the functionality of your website with custom lines of code, also called modules. As of now, there are more than 14585 modules available on drupal.org and based on your specific requirements, you may install them at yoursite.com/admin/modules (with clean URLs enabled) and yoursite.com/?q=admin/modules (with clean URLs disabled). Here you will find a list of 10 Drupal modules that are a must have for any website. These modules are so powerful that some of these modules can act as substitutes for a number of smaller modules. Some of them are a must have for any website for proper Search Engine Optimization.
Metatag allows one to have complete control over the characteristics of a page. For example, you may configure a page title, description metatag, canonical tag, author and publisher markups, robots meta-tag, and many more things on a site wide, page type based and custom basis. This module is a must have irrespective of your site because this allows you to configure your page for search engines. Search engine traffic is a must have for most websites and without this, it is highly unlikely that you get some.
It is the reason why I use Drupal. Views is by far the most popular and most sought after module on Drupal. This module allows one to run a query on your site, filter the results and display it in any way you like. This sounds too broad. Let me put it as an example. Imagine you want to display a page that lists all the active registered users on your website, but you want only their name and photo. Here is how it goes. You create a new view and give it whatever name you want, check on create a page and select the mode of display (in our example a grid of fields), choose sorting and filtering criteria and add or remove the fields you want. Add a path to the page and save it. You are done! Here is what I got. The power of this module is much more than what can be imagined and integrating this with modules such as metatag, token and panels will bring you results that can be really astonishing.
Drupal’s block system can be really cumbersome to work on, as your site gets more and more complex. You may want fine grain control over the way your page is displayed-if not now, then may be later. Panels is an alternative to Drupal’s default block system, and hey, did I mention that it is much better? Combine this with Context and look at what you have got. The only problem with panels is that it adds up a lot of markup to the page. In fact, a whole lot of markup. But I would say it is worth it. Did you like the way this article is displayed? It is rendered using panels.
4. XML Sitemap
Gooogle’s webmaster guidelines say that you should create an XML sitemap and submit it regularly to Google for the proper indexing of your page. The XML sitemap module combines it with cron job and regularly updates your sitemap and submits it to search engines. You can decide what should be there in the sitemap and what should not be. Adding parameters such as priority is just a breeze. This module integrates nicely with your content creation page. What more do you expect?
By default, any content at Drupal is given URLs like these: yoursite.com/node/123123. These URLs are neither human friendly nor search engine friendly. Pathauto allows one to specify alternative URLs to pages. These URLs can be generated based on a preset pattern using Token, or they can be edited at a per node basis at the content creation form. So you can easily replace default URLs of your sites with yoursite.com/title-of-your-content. This is a must do from SEO point of view as human friendly URLs are one among the standard SEO practices.
Here you will find a list of some of the best search engine optimization practices.
How will it feel when you login to your administrative interface every day to find tens of spam users registered an account at your site? If there is no administrative verification of accounts, you may encounter content added by the spam users as well. It will be really a cumbersome process to filter the content, delete them, delete the spam users, etc. It will get more difficult if the spam user accounts are mixed with normal user accounts. You will have a hard time determining who is a spam user and who is not. There was a time when CAPTCHAs used to work, but not anymore. After rattling my way thorough half a dozen of spam combating modules, I found spamicide. It adds a field to the forms we choose and cover it with CSS such that human visitors do not see that field. Spam bots feed value to the field and they can be easily blocked. This does not trouble normal human visitors. This can be used with virtually any form in Drupal and is so far the best anti-spam module available at Drupal.
This module allows you to add variables to any element. For example, you want to add the name of the user as the title for the user profile page. Add the variable [user:original:name] to that title field and you will start to see the name of each author on each profile page. Cool, right? This integrates with virtually every module on Drupal and this can be added on code too, using the token_replace() function for php. One of the reasons why Drupal is the most flexible CMS.
This is the short form of “what you see is what you get”. You will get a lot of non-html users on your site as registered users. How do people create links, insert images, format text, then? The fact that you will have to add html into any long text field in Drupal makes things clumsy. WYSIWYG is the solution that you see on most websites. It adds a toolbar to the content creation form that brings common features such as those that you see on word processing programs (bold, italic, underline, etc.) that would make the life so easy for non techies. Html can then be added with the click of a button. A must have for any site that involves user registration.
Ok, you created some excellent compelling content. The user wants it to be shared in Social Networking sites such as Facebook, Twitter, Google Plus, etc. It is the duty of you as a webmaster to provide them an easy way of doing that. Therefore social bookmarking buttons are an essential component of websites nowadays. Shareaholic provides an aesthetic way of displaying social bookmarking buttons on your pages such that they catch the attention of the reader. Compelling content need something to top things off and this is one.
I am somebody with very poor memory and I am sure a lot of your registered users will be my kind. It will be difficult for people to remember the username of every website and hence they expect webmasters to allow them to sign in with their e-mail address. Logintoboggan provide this along with a lot of other features such as redirecting the user to the same page as the user was after logging in. This is a must have for any Drupal website since it will improve the user experience to a great extent.
Now that Drupal 8 is on its way to release, I have written an article on How to Install Drupal 8 on a CentOS Server. Let us hope that these modules will have its Drupal 8 versions ready by the time Drupal 8 is ready for its release.