Drupal Content Management System

As stated on http://drupal.org Drupal is a free software package that allows an individual or a community of users to easily publish, manage and organize a wide variety of content on a website. Read more here: http://drupal.org/about

Installation Tips & Tricks

Coming Soon- My experience with installing, configuring, and tweaking Drupal.

Drupal and SEO

Summary

Search Engine Optimization (SEO) helps websites appear near the top of the search engines duh.  Depending on the nature of the site, you want to appear as high as possible for the relevant terms.  While there are no clear cut secrets to succes, there are alot of best practices to help make your site as search engine friendly as possible.

Ref: Google WebMaster GuideLines

Getting Started

An important first step is to 301 redirect your "http://domain.com" to "http://www.domain.com" website or vice versa.  If you do not, search engines may see the data as two distinct URLs with duplicate content.  Drupal's ".htaccess" file in your installation directory has examples of how to do this.

Enable CleanURLs for Drupal.  Not all search engines properly follow/crawl dynamic URLs (eg. the ?q=blah generated by Drupal).  Open up Administer > Site Configuration > Clean URLs and choose to Enable the CleanURLs.

Adding SEO Modules

Below are some recommended modules to help your Drupal Site with SEO.  Make sure to check for global settings for each module as well as the obvious configuration on the individual node level.

Meta Tags / NodeWords - This module allows you to set some meta tags for each node, view or panels page.  Be precise and specific to include only words and a descriptions appropriate for the page.

XML Sitemap - XML Sitemap automatically creates a site map that conforms to the sitemaps.org specification.  This helps search engines keep their search results up to date.  Note this module is still in "dev" for Drupal6+.

Page Title - This module gives you control over the page title (eg, <title> tag). It gives you the chance to specify patterns for how the title should be structured, and on content creation pages, gives you the chance to specify the page title rather than defaulting to the content's title.

What Now?

A vital part of SEO is the content of course.  You have to have GOOD content.  Not just one or two tidbits, but a collection of content.  A collection that grows and changes.  You need a "following".  People who read, refer, and promote your site and content.  The most important form of all that are Links.  Links from other sites to yours.

We will see how far my own advice gets this site.  Stay tuned.

 

Drupal Modules

Below are some links for some of my favorite modules that are NOT related to SEO.  My favorite Drupal SEO modules are here.

FCKeditor - WYSIWG

What is FCKeditor? 

Download here:  http://drupal.org/project/fckeditor

FCKeditor is a WYSIWYG editor for Drupal.  FCKeditor does require you do download the actual editor components from www.fckeditor.net separately and place them on your Drupal server for it all to work correctly.  Once enabled, don't forget to assign the roles that can use the "Default" and "Advanced" otherwise only the 1st user account will be able to use the editting.

The "default" mode enables the very basics of formatting.  For a casual site this is just fine and keeps users from behing overwhelmed.  The "advanced" mode enables significantly more features.  I am still working on testing the functionality within my site, but you may try it out at drupal.fckeditor.com and decide for yourself.

More to come!

lm_payal - Subscription/Donation/Adverts PayPal Module

Download Here:  http://drupal.org/project/lm_paypal

Summary

This module provides an interface to PayPal using Instant Payment Notifications (IPN). It currently supports paid memberships (subscriptions), donations (tip jar) and paid adverts (classified ads).

Thoughts

I used this module to help stage a site for someone that required a "paid subscription content" site.  He wants to have content that only his paying customers have access to.  There were several modules, but the lm_paypal seemed to be a more robust / configurable module.  lm_paypal supported auto renewals, different subscription term periods (days, weeks, months), as well as multiple subscriptions.

One thing to note is that you still require a "node access control" mechanism.  lm_paypal provides a mechanism for people who pay to be assigned to a "role".  It is then up to you to use your node access system to give that role (and that role only) access to the paid content.  I chose tac_lite as a simple module to get the job done for my needs. 

The logic I used in creating the paid content was to create a "Subscription01" subscription, a "Subscribers01" role, and a "Subscriptions" taxonomy with a "SubscriptionContent01" taxonomy term.  Using tac_lite you can grant access to the SubscriptionContent01 tagged content to the Subscribers01 role.

lm_paypal also supports paid advertisements and donations, but note this is NOT an ecommerce module.  There are much better modules to meet that need.

This demo site is still a work in progress and I will be sure to update this page with any other tips/tricks I run across.

 

tac_lilte - Taxonomy Access Control Lite

Download here: http://drupal.org/project/tac_lite

Summary

This module restricts access so that some users may view content that is hidden from others. A simple scheme based on taxonomy, roles and users controls which content is hidden.

Thoughts

Simple and effective.  The module provides a good method to restricting access to content classified by taxonomy.  Using the "Access Control by Taxonomy" admin menu you can create a scheme and then the Taxonomy Vocabulary to use to control access.  Then in the scheme you can define view/update/delete permissions to nodes and select the roles they are applicable to.  You can also edit a user to grant that scheme's access properties to only a specific user.

Drupal Errors - and fixes for them!

Errors we have run into and what we did to fix them.

If you have useful information, pass it along!  We will post it and give you credit as well.

ERROR: PHP installation currently does not support this database type

Error Message

In your ./sites/default/settings.php file you have configured Drupal to use a mysql server, however your PHP installation currently does not support this database type.

Environment

I just installed MySQL, PHP, and Drupal-6.9.  PHP and MySQL were installed using 'yum'.  I created a new database and copied another site from my test server as a starting template.  I tried to just hit the URL and got the site offline message.

The site is currently not available due to technical problems. Please try again later. Thank you for your understanding.

Solution

Well, it was pretty easy for me on CentOS.  It helps if you remember to install all the components! 

yum install php-mysql

You might want to install php-gd and php-mbstring too if you have not already.  Give MySQL and Apache a restart and just try it again.  Voila!