Who love to Drupal

Archive for the ‘SEO’ Category

Search Engine Optimization

How to Use the SEO Checklist for Drupal

Posted by drupallovers on March 30, 2012

The SEO Checklist for Drupal is a very useful module to help with your SEO efforts.

The SEO Checklist module doesn’t perform any SEO functions, but it will guide you through the process of optimizing your site and it will recommend best-of-breed modules. After installation the checklist will take you through a list of recommended changes made by the experts at Volacci.

Step 1. Before We Start: Planning

The SEO Checklist is going to recommend a lot of potential modules for you to install. To help clarify things, I’ve divided those modules up into separate lists. You should start with the Base Modules list and then move on down to the others.

  1. Base Modules
  2. Optional Base Modules
  3. Essential Working Modules.
  4. Anti-Spam Modules. There are several possibilities but you only need to choose one.
  5. Nice if you want them, but not really needed

A note of caution before we begin: not all of these modules have stable releases for Drupal 7. Please use of all these on a test site before using them on a live site.

Step 2. Before We Start: Register for Webmaster Tools

Before you start you are going to want to do is register for Google, Yahoo and Bing accounts and sign up for their webmaster tools. You will need the verification files, tracking codes and other identifiers provided by these services.

  1. Save the verification files to your hard disk.
  2. Write down all account numbers.
  3. Have your username and password to each account handy.

Every SEO program I’ve tested has needed this information, so if you’re serious about SEO, start with signing up for the webmaster tools.

Step 3: Before We Start: The Quickest Workflow for the SEO Checklist

The SEO Checklist will recommend a lot of modules for you to install, so here is one way to approach the installation:


Go to Modules > Install new module. You’re going to be doing a lot of this. Install the first module on the list.


Browse for a downloaded module, choose it, then click Install.


Click Enable newly added modules.


Normally what you would do is find the module you just installed and click the check box in the Enabled column, scroll to the bottom of the page and click Save to save the changes. Then you would see if there is a configuration link and fill in the details.

But you’ve got a lot of these to do so you might want to consolidate the tasks.

My actual work flow:

  1. Installed all the modules
  2. Enabled them in small groups
  3. Ran a status report to check for errors
  4. Corrected any errors
  5. Got everything working before I configured them.

What I actually did to make this quicker was skip the Enable step, and go back to the top of the page and click Install new module again and installed another one. I kept installing until i was done.

Then I returned to the page and enabled them in bulk. If you do this, don’t try to enable all of them at the same time. It stresses the system and you’ll get errors. Enable a group and come back several times until they are all enabled.

Go to Reports > Status Report and check for errors. Just do the minimum amount of work you have to do to get rid of any errors.

Many of these modules are going to need configuration. I’ll go back and consider the configuration as I go through the SEO Checklist. That’s what it’s for. It’s going to take a lot of time and study if you’re not already an SEO wizard to figure out the perfect configuration for everything.

Now we can click run cron manually and check for errors


Just running cron will clear up some errors. You might have to take action on others.


Be sure to read the cautions too, and take action. The Status report will give you a good idea on what you need to do to fix things.

Step 4. Install the base modules

Now let’s get started with the installation. These modules are used by many other modules, and you may already have them installed. If not, you should install them now. They aren’t really needed for SEO, but as you go through the checklist and try to install subsequent modules, you’ll have to back up and install these too, so you might as well start here.

Step 5: Install the Optional base modules

The modules below are strictly optional and not absolutely essential to SEO. You can always skip these and come back to them if you don’t think you need them now. But if you are going to want them, your life will be easier if you install them at this stage, rather than wait until they appear on the checklist.

HTML Purifier    
HTML Purifier is a standards-compliant HTML filter library. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited, secure yet permissive white list, it will also make sure your documents are standards compliant, something only achievable with a comprehensive knowledge of W3C’s specifications.

This is a standalone component that strips improper HTML from entries. You need to download the entire compressed file and get special instructions on installation. It’s an improvement on the filtered html core module, and isn’t 100% necessary to optimization. It just depends on what level of optimization you wish to achieve.

il18n    – Internationalization
If you are only developing in English you can skip this. This is a collection of modules to extend Drupal core multilingual capabilities and be able to build real life multilingual sites. It has some requirements and it has some recommended add ons. If you are going to have a multi-national site be sure to read this:

Step 6. Install the Essential Working Modules

Now we come to the modules that actually do the optimizatin. If you’ve installed Ctools, Token and Context the rest should go pretty fast. The best and quickest workflow is to download, install and enable them, then configure them later as you go through the SEO Checklist.

Step 7. Choose and Install an Anti-spam Module

You only need one of these. If may already have one installed. If not, you can choose any of these based on your preference.

Step 8. Nice if you want them, but not really needed


Now let’s get started on the module itself.

Step 9. Access the SEO Checklist


Go to Configuration in the menu bar. Now that everything is installed it’s time to start working the checklist.


Scroll down the page to the Search and Metadata section and click on SEO Checklist.


Move through the tabs on the left and check a box and Click Enable if you haven’t enabled them yet.

The picture above shows what the list looks like before I installed the Token and Page Title modules. The download link actually takes you to the download page so you could download the module now, and then enable it. If you do it this way you will be working all day. Try the mass installation first.


After I installed the Page Title Module you can see there is now a Configure link. If everything has been installed you will only need to work on configuration as you go through the list.

Each time you complete a task, click the check mark, then scroll to the bottom of the page and click the Save button.
If you don’t Save, it won’t record your your check marks, and you won’t have a record of what you did.


Keep going through all the tabs. Click the check boxes as you complete a task. Remember to save.



When you’re all done you’ll have a list of all the completed tasks, time and dates, who did the work, and quick access to the configuration so you can make changes.

This module will:

  • Help you keep track of what needs to be done.
  • Check for installed modules give you some basic information on them.
  • Provide a list of things that need to go on your to-do list.
  • Time/date stamp each item and record who completed it.

Posted in Drupal7, SEO | Tagged: , , | 8 Comments »

Search engine-friendly site migration

Posted by drupallovers on February 28, 2012

When migrating a website from any system to Drupal you should be aware of existing inbound links to your site, as well as search engine indexes and ranking. In order to maintain your search engine ranking and also not break inbound links you should plan to redirect inbound requests to old uris to your new drupal nodes.

Instead of offering up 404 Errors, you can direct users to the content they are looking for. In some cases using the path_redirect module may be sufficient. In other cases you may want to write redirect rules in your .htaccess file, and in still other cases, the method described below may work for you. Another step, which will help with search engine indexing is to install and configure xmlsitemap module and submit your sitemap to the major search engines for indexing.

The rest of this article describes an approach that will parse he Search Engine query from the HTTP_REFERER and search the drupal website for what the user was actually looking for.

Create a page node with PHP code enabled in the input format, and add the following code.

$searchengines = array(
'^http://www\.google.*$' => 'q',
'^http://www.googel.fi.*$' => 'q',
'^http://.*search.msn.co.*results.*$' => 'q',
'^http://.*\.mysearch.com/jsp/GGmain.jsp?searchfor=.*$' => 'searchfor',
'^http://search.freeserve.com/.*$' => 'q',
'^http://aolsearch.aol.co.*$' => 'query',
'^http://search.yahoo.com.*$' => 'va',
'^http://search.yahoo.com.*$' => 'p',
'^http://www.bbc.co.uk/cgi-bin/search/.*' => 'q',
'^http://www.tiscali.co.uk/search/results.php.*$' => 'query',
'^http://www.altavista.com/web/results.*$' => 'q',
'^http://search.hotbot.co.uk/cgi-bin/pursuit.*$' => 'query',
'^http://www.excite.co.uk/search/web/results.*$' => 'q',
'^http://uk.search.yahoo.com/search.*$' => 'p',
'^http://search.wanadoo.*$' => 'q'
$referer = getenv(“HTTP_REFERER”);

while( list( $regexp, $qsitem ) = each( $searchengines ) )
if( eregi( $regexp, $referer ) )
echo( t(“<br/><h2>Search Engine Detected</h2>It would appear you arrived here on the wings of a search engine, so, I will search my local database and show you anything that matches what you were looking for:<br/>”));
$url = parse_url( $referer );
$querystring = $url[‘query’];
$querystring = explode( “&”, $querystring );
while( list( , $value ) = each( $querystring ) )
$item = explode( “=”, $value );
if( $item[0] == $qsitem )
if( trim( $item[1] ) != ” )
$item[1] = urldecode( $item[1] );
echo ( search_data( $item[1] ) );

This provides a (partial) list of regular expressions for common search engines, with information as to which query string parameter is the query the user entered. The HTTP_REFERER value (the site the user clicked a link to get to your site) is then examined against this list. When a match is found, a search is done using the standard Drupal search call (search_data). This locates potential matches, and hopefully, keeps the user on your site.

In order to use this, create a new node which allows PHP code. You can call it what you want, and put whatever explanatory text you like on it. You can set whatever path you like. Just drop the above code-clip into place. Then, in Administration -> Settings set the 404 handler to be the path to the new node you created, and voila, if the user arrives from a recognized search engine, their search is performed on your site. It’s working nicely for me.

Posted in SEO | Leave a Comment »

List the SEO modules available in Drupal.

Posted by drupallovers on February 28, 2012

1. Pathauto
2. Nodewords/ Meta tags
3. Service links
4. Google analytics
5. Related Links
6. Search 404
7. Site map
8. Url list

Posted in SEO | Leave a Comment »