In the first post of this series I covered migrating and backing up content in Drupal 6. Today it will be Drupal 6 modules.
Drupal is most efficient and maintainable without any optional modules. But, alas, we need modules to get a blog running smoothly. There are hundreds of modules available for Drupal, which makes it tempting to install anything that seems interesting. Cure yourself of that temptation. Do not install a module unless absolutely necessary, and turn on caching.
I have been burned enough times that I always consider these two questions before even attempting to try one:
Will they be available for future Drupal versions?
Drupal releases a new version with slightly different codebase every year (at least), and it is always recommended that you upgrade. Sometimes, the modules you have installed in your existing version of Drupal will not be available for the new versions, which makes us think twice about upgrading.
My rule of thumb is to always find modules that will be available at least for the upcoming Drupal version.
Do they contain security vulnerabilities?
There are hundreds of modules and many of them use insecure code, which might make your site vulnerable to security exploits.
Here are some ways to find answers for these questions:
- Use popular Drupal modules only (warning page might take a long time to load). If a module is popular, it is more likely to be supported in the future versions.
- Use modules that pledge support for Drupal 7. Modules that have “#D7CX” should be releasing a version for Drupal 7 when a stable version of Drupal 7 is released.
- Use modules that have history (modules that have been in existence for at least 3 Drupal releases). You can check that from the earliest version number that is available for download.
- Use only stable releases for the module on your live site, if this is not possible, test out the unstable releases (alpha, beta versions) on your staging server before using them on your site.
There will always be something that is not available as a module, in which case, you can either hire someone to create a module for you, or drop that idea and look for something else.
With all these caveats, here are some of the Drupal 6 modules that are useful for blogging:
PoormanscronIf you have no idea what a cron means or how to set it up (or cannot set it up due to host restrictions), this module is for you. Download
ViewsThe new Views is a bit intimidating at first. Be careful not to include your Views tables when exporting your Drupal 5 database. Drupal 6 views has a lot of default views available (much more than in Drupal 5), including the one that bloggers most covet—monthly archives. Download
Google AnalyticsYou can always simply set up Google Analytics in the footer of your template, but this module does two additional things:
- Cache Tracking Code file locally: So, that is one less page request for your page.
- Track Internal Search: If you are using Drupal’s Search form on your site, this module will also track that and report to Google Analytics.
Feedburner gives a universal RSS feed URL. Subscribers to your feedburner feed will not have to do anything if you move your CMS from Wordpress to Drupal or even to another domain (previously, they would have to manually subscribe from your new website).
This module returns Feedburner URLs instead of the standard Drupal feed URLs in all places where your Drupal feed URLs are referenced. I use this to return Feedburner links to my subcategories too, like Web Design and Book Reviews. Of course, there is always the danger of Feedburner going down, but I think this service is worth that risk. Download
The following modules make it easy for Search Engines and Search Engine users to find content on your site.
Drupal has a default URL for each node which looks like “/node/35”. This module creates an alias (e.g. “blog/new-post.html”) for a default URL based on some keywords, date, title, category, etc.
If you have used path auto in Drupal 5, continue with same settings. If you are converting to Drupal from another CMS, and want to retain your URLs, Path Auto has enough variables to continue generating the URLs you had.
Path Auto only creates another URL which will point to the same content as the default URL. This poses a problem as Search Engines can index both these URLs as two separate web pages. Someone might link using the default URL instead of the URL you have specified in Path Auto. Ihis is easily prevented by using Global Redirect Module. This module detects if an alias exists, and if so, permanently redirects the incoming URL to the alias. This way, Search Engines will make note of the new location for the default URL, and any incoming URL will also be redirect to the correct alias. Download
This is quite useful in clearly stating what your post is about for Search Engine users. Nodewords also lets you use the abstract instead of typing in custom description for each post. Download
If you used descriptive URLs before and do not think those need to be 301 redirected. I used to be on Movable Type in 2003, and I still get hits for URLs formed by Movable Type. This module is supposed to extract keywords from the URL and do a search for it and render the search results instead of a typical 404 page. It does not work as advertised for me, but hopefully you will have better luck. Download
For the life of me, I cannot get it to work on my site. But it is supposed to close comments on posts that are older than a specified time period. Most comment spam hit older posts and this is a good way to stop them. Download
The little checkbox that asks you if you want to subscribe to follow-up comments on this blog post is available thanks to this module. Download
If you want to display of the avatars of people who leave comments, this is a good module. While it is advertised to work only for authenticated users, it works very well for anonymous ones too. Download
Mollom makes it really hard to comment (I am consoling myself that this is why I don’t get any on my site!), but is an effective deterrent to comment spam. Download
I cannot think of any reason why any other WYSIWYG editor needs to be in existence. Download
No CMS is maintenance free. Here are somethings you can do, to ensure your site runs smoothly:
Turn on updates
You need to turn on the Update Status module at
/admin/modules. A list of updates available will be at
/admin/reports/updates. You can also set it to email you when an update is ready for Drupal core or installed modules. Typically there are updates at least every 2 months.
Backup and Migrate module backs up your database on a predetermined schedule. The trouble is it backs up to the same space where your Drupal files are located which defeats the purpose of a backup. If you have a desktop machine at home that is on most of the day, you can schedule a cron job that grabs the backed up database and saves it locally on your machine (which you are hopefully backing up!) Download
That’s it! Do you have any good Drupal 6 modules that you have found useful for blogging?