I began the Devbee website back in March as a way to help others by way of documenting what I have learned about Drupal and also to drum up a little bit of business for myself. The content of this site is extremely targeted, and I don't ever expect to see more than a few hundred visits a day. This definitely does not reflect the expectations, or at least hopes, of most website owners. It's typically all about bringing in as many visitors as possible to generate money through advertising or purchases. Sites interested in bringing in large numbers of visitors typically do this by spending a lot of time focusing on "search engine optimization" (SEO). Absolutely nothing can drive traffic to a site like a top placement in the search results on one of the major search engines.
Back in the day (way back during the last millennium), all one needed to do was have a simple HTML page containing relevant words or phrases and he was fairly likely to make a decent showing in results pages. In fact, this is exactly how I shifted from studying literature to building websites. I built my first homepage (don't laugh!) for fun. It was found by an employer, and I got a cool job at a major search engine. Today, it is not so simple.
Fortunately for us, as Drupal users, we have a secret weapon, Drupal itself. Drupal SEO does not require any witchcraft or elaborate HTML trickery. It's simple, and in this article, I'm going to explain how I get consistent premium search placement with very little effort.
Stumbling upon Drupal SEO
Today I discovered that an article I wrote recently is the top result for the query "opcode cache" on Google. I almost feel guilty about it. There are countless pages out there with much more information on the topic than my article, yet I'm at the top. I guess I'll just have to deal with it.
This is not unusual. I find myself on "the first page" of many searches for terms relevant to my site. And when I'm not seeing a premium placement (top-ten), it's either because the search term is very broad (e.g. "Drupal") or there are simply much more relevant pages pushing my placement down. Just like the old days.
And more than half of my very modest traffic comes through these search results.
What's the Secret?
Now comes the mysterious part. I make no claims of expertise in the area of SEO. It's mostly voodoo as far as I'm concerned. The search engines are necessarily very secretive about their methods, trying to stay ahead of search engine spammers. And what works today may be detrimental tomorrow. What I'm going to describe below is entirely based on my own, very subjective, experience with various techniques and modules. These are the things that I believe are resulting in my accidental SEO success.
Drupal SEO
Drupal itself is well-known for its search-engine friendliness. Its markup is clean and standards-compliant. It creates all the tags the engines are looking for. And unlike so many other CMSs, Drupal creates search engine friendly URLs. Using Drupal is the first step in this process, but presumably you're already doing this, so let's move on.
The Right Path
Here's an example of the URL to a Joomla forum topic: http://forum.joomla.org/index.php/topic,65.0.html
And here's an example of a URL to a Drupal forum topic: http://drupal.org/drupal-5.0-beta1
Do you notice a difference? Can you tell me anything about the Joomla article without going to the page? In fact you can, sort of: you might conclude that the page covers a topic, a fact of dubious value. The URL really provides no useful information to you. Nor does it provide anything useful to a search engine. This is key. Unless you're searching for "index topic 65.0 html", this URL isn't going to help you find the information on this page.
Looking at the Drupal URL is another story. Based on that URL, one can assume that it has something to do with "drupal 5.0 beta1", and so can a search engine. If that's what you're looking for, this page will come up #1.
Most SEO "experts" agree that the search-engine-friendly URLs are critical to a page's search ranking.
Drupal allows you complete control of the path of any page. Creating short, clean and informative paths will improve your rankings. And the Pathauto module automates the process of generating relevant paths. But be extremely careful when experimenting with Pathauto, particularly on sites with existing content. Using Pathauto without first understanding how to use it properly can result in all of the URLs on your site changing, and thereby breaking existing links to your content. If you are going to introduce Pathauto on an existing site, play it safe and enable the Create a new alias in addition to the old alias option in Pathauto's settings. But keep in mind that having multiple URLs pointing to the same page on your site may result in a search engine penalty for "duplicate content".
Sitemaps
From Sitemaps.org:
Sitemaps are an easy way for webmasters to inform search engines about pages on their sites that are available for crawling. In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional meta data about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site.
I've seen no solid evidence that implementing a sitemap will directly improve search rankings. However, even if search engines do not use your sitemap to to adjust the ranking of your pages (which I doubt), it does help them more efficiently index your site, thereby increasing the likelihood of your pages being included in search results. This one's a no-brainer.
Sitemaps would be virtually impossible to maintain by hand. And this is where the excellent XML Sitemap (formerly Google sitmeap) module comes in. Installing this module is simple and comes with reasonable default settings that don't require changing unless you want to fine tune your sitemap. After you've installed and enabled this module, you'll need to tell search engines about your sitemap. At this point, I'm only familiar with Google Sitemaps, Though other major companies are beginning to adopt this concept as an new open standard.
Leaving Comments
Another common method used by search engines to determine the importance of your pages is the number of other sites that link to them. A simple way to continually promote your site while helping improve your search rankings is to make regular comments on other sites like Drupal.org. Take the time to create an account on sites similar to yours and complete your public profile. Then leave useful comments where appropriate. Do not post comments simply to include a link back to your site. This is in very poor taste and may get you blocked. Instead, post comments where you have something to contribute to the topic being discussed. If you have nothing useful to add, don't post a comment. I'm a regular participant over at Drupal.org, and I'm confident this helps the "relevance" of my own site.
Page Title
By default, Drupal will use the title of your node as the page HTML title (the bit that appears in the <title></title> tags of the HTML and shows up in the title bar of your browser). This is very reasonable behavior. However, if you want to give your page that extra SEO boost, you may want to allow for two different page titles, one that appears at the top of the page in <h1> tags and the other that appears in the head of the HTML document in the <title> tag. the <h1> and <title> tags are both pieces that search engines will consider when reviewing your page. If they are identical, you're missing out on an opportunity to further promote the page!
So how do you manage to control the <title> tag contents if Drupal automatically sets it based on the node title? The Page Title module does this. Install and enable this module, and you will see an additional field on the node edit form called "page title". Use this field to configure the phrase that you think will most likely attract users to the page. Use something eye catching and alluring, something the user will feel he has to read. If you're writing about an article you found on another site, don't title the page "cool link!", instead, something more enticing: "Fascinating study of the Indonesian spotted tadpole". Follow that up with a relevant <h1> title: "National Geographic looks at one of nature's most mis-understood wonders".
The Prophecy
Search result placement was not a top concern of mine when I built this site. But it has become a bit of an obsession now. I have no need to drive thousands of visitors seeking information on opcode caching to my site, but hitting that number one position for a query is a bit of a rush! Thanks Drupal!
Lastly, I asked myself a question as I wrote this article: Is there anything at all to what I'm saying? Well, I think there is, and I'm willing to make a bold prediction based on this belief. Within three days of posting this article, I believe it will appear in the top-ten search results for "Drupal SEO" on Google. If I'm right, that should serve as some pretty solid evidence that there's something to all this. There are currently 1,090,000 pages competing for placement in this results page. The odds of making it into the top-ten by shear luck are 1 in 109000.
And if I'm wrong, well, I can always come back and edit out this prediction to save face %^)
The Revelation
Update: Mon Nov 27 23:19:42 2006
A search for "Drupal SEO" now shows this article as the second result out of 1,080,000 pages. I come in just below an article on Drupal.org.
So as you now see, there is not a lot of work involved in getting premium search placement if you are using Drupal. Of course, the broader your topic, the more difficult it will be to hit the top-ten. While you can almost certainly hit number one for surfers searching for a certain rare antiquity, your less likely to see much success attracting surfers hunting for the term "sex".





just for the sake of contributing and participating, but as far as SEO goes it's a big nada, since the "nofollow" attribute is automatically added to all the "a href" statements people leave there.
Drupal rocks in too many ways. Just read an article on how Wordpress could be hacked by Microsoft IIS Server and it's really scary.
Drupal.org does indeed have the "nofollow" on comment links turned on, defeating any SEO benefit. Bad example.
But it can be turned off, and the key is to find the websites that aren't using it...
How is it possible to turn off the nofollow module in Drupal comments?
I'd like to turn on comments on our site www.popvision.com/agenzietui but it looks they may have problems with multiply non related post.
thanks
Look at the paths to your sub-cat's (above: beneath "Drupal SEO is Easy")... In fact; look at the path to your "Content" nav too!
Also, look at the path to your "Printer friendly" page.
I'm certainly not knocking your site - far from it - merely trying to raise awareness of this issue (as I have in the Drupal community).
All my Drupal setting-up nightmares derived from such "schizophrenic" path-constructions... they're a nightmare and your site will be just one of many out there that have not noticed these "doorways to supplemental hell"... or can't figure why they are already there.
pathauto can be configured to fix all of this stuff. I just never spent the time initially to configure everything properly, and now I'm wary about changing urls, though there are solutions for that too.
While the default paths are not necessarily all that intuitive (taxonomy, node, etc...), they are still very logical and clean. Drupal handles paths extremely well.
Look at the paths to your sub-cat's (above: beneath "Drupal SEO is Easy")... In fact; look at the path to your "Content" nav too!
Also, look at the path to your "Printer friendly" page.
I'm certainly not knocking your site - far from it - merely trying to raise awareness of this issue (as I have in the Drupal community advertising).
All my Drupal setting-up nightmares derived from such "schizophrenic" path-constructions... they're a nightmare and your site will be just one of many out there that have not noticed these "doorways to supplemental hell"... or can't figure why they are already there.
Yes
I agree with you so much
Thank you for sharing this with us
-- pathauto can be configured to fix all of this stuff.
Pathauto is not necessarily the problem (It does its job well for the most part). The path issues are sprinkled throughout the Drupal system with outstanding issues in the Path module itself, as well as the numerous contrib modules.
This site is fortunate to have a flat hierarchical structure... and yet the holes are there on what should be a simple, "plug 'n' play' install, for the most part. Now try moving an existing, multi-hierarchically-structured site (common) over to Drupal, without path issues in breadcrumbs, sub-category menu's, home links, image links, internal link (within content) blah blah...
... one word: nightmare... and certainly not the RAD CMS many are led to believe coming into Drupal.
-- Drupal handles paths extremely well.
If you measure that by its ability to take you to the content it supposed to; then yeah... but there are no great expectations there exactly.
-- While the default paths are not necessarily all that intuitive (taxonomy, node, etc...), they are still very logical and clean.
Well, I didn't come here to pick on your article, which is essentially good - but now your making exceptions to what you criticised the "competition" for... and that's not really fair. You made reference to knowing, from the URL, what the content relates to (and the SEF of that), yet seem to be now suggesting that "http:// devbee.com/taxonomy/term/26" is "logical" and "clean". If that were the case, we wouldn't need Pathauto and clean URL's.
But that wasn't what I was getting at anyway - and I'm not sure you understood me (prolly my fault): The main problem with the nav here, is your home page links (Well, there are more than just the homepage but it's simpler to explain): You currently have (top of this page):
Home -> http://devbee.com/
Content -> http://devbee.com/node
Where do they point? Home page
What would a spider do? Crawl the site twice = Duplicate content.
Grab a copy of Xenu (free) and spider your own site... I guarantee, you'll be shocked.
Just trying to be helpful (maybe brutally but time is short), and raise awareness to this issue (I'm not even sure the issues have been fixed in v5 - I daren't dedicate the time and resources to look at it at this moment; I'm not optimistic judging by the blinding hype over the few web 2.0 features/bloat).
(Ah, you don't have blockquotes enabled, soz)
Thanks, Harry for that great piece.
Congrats on getting #2 for that keyword, does it bring in any traffic?
It's my most visited page (through organic search). This is not a high traffic site, but there's no question that SEO can result in "free" traffic to your site.
Holds your article to be self evident then ^^
when you use gsitemap module to submit google sitemap, does drupal creates the sitema.xml ? because when i checked in Google webmaster tools it gives the following error:
General HTTP error: 404 not found
We encountered an error while trying to access your Sitemap. Please ensure your Sitemap follows our guidelines and can be accessed at the location you provided and then resubmit.
which means the Google tool cannot find the sitemap.xml file. I have setup the module correctly.
Can u give me advice on how should i submit google sitemap?
Thanks and great article
Dhammike
You need to create a sitemap account at Google, then follow the instructions for verifying your site and pointing Google to the location of your sitemap URL (not necessarily sitemap.xml). The Drupal gsitemap module defaults to providing a sitemap at http://example.com/gsitemap. This is the URL you'd enter on the Sitemaps config page.
I had the same problem ... I finally figured out that the sitemap is not sitemap.xml. It is just sitemap - not dot-anything.
Hi,
Before blogging pictures you should at least ask to the owner of the photo and give him credit....
Virtually all the photos used here link back to the flicker home page for the image. If you don't want me promoting your public photo pages on my site, I'll be happy to remove the link.
:)
Well.. Not that my site's google availibility was soaring before..
I read this post of yours' and toyed around with Pathauto to generate relevant paths (date/day/type/title.. and such )..
Since then.. seems like it's been worse ! Existing pages are off .. just as you had warned that using pathauto without having a backed-up url might disupt the current google-juice.. I took the chance as there wasnt much content on the site in the first place.
my site has been flickering on google since then... in and out in breaks.. and when in, it's the old url ( The unclean ones that Drupal generates.. ).. and ends up @ 404. It's been a while since I did the messing around, But it seems like my Search engine availbility has been no better.
Is there someway to uncache all the old URLs and start afresh ?
It's important to avoid at all costs changing your old URLs -- this will just kill you in the search engines. Yes, it's true that keyword-laden URLs are much better than node/# URLS (partly because when they are the domain often becomes the link text in a link).
If you do change your URLs, you can do some damage control by doing a 301 redirect from the old url to the new. Get a list of the old URLs from your 404 logs and then add a line for each in your .htaccess file like this:
redirect 301 /oldURI http://yourdomain.com/newURIThis at least redirects traffic and some existing link juice to the correct page.
I just put together a little SEO tips list which you might find useful:
http://ezinedesigner.com/ecommerce-seo-checklist.html
- Chad
Thank you very much for the solution to my problem on my seocontest2008 web site just ported to Drupal 6.1 after I had once a couple of indexed .html pages.
NOw I will be able to handle the moved pages and duplicate page problems.
Furthermore I have a little problem with my folder /links/ became inaccessible from the web after I had installed Drupal, however its attributes are set to 777. Any idea?
Thanks Harry, you've inspired me to scrawl down my past few weeks experience with my drupal 5.0 web sites and SEO. My article Richard's Dummies Guide to Drupal SEO will hopefully be another valuable resource, like the one above, for the Drupal community to enable their pages to play nicely with the search engines. I've also added a link back to this article in hope of returning you to former position of glory in the google search results for "Drupal SEO"!
(No trackbacks?)
My take on things - http://www.filination.com/tech/2007/03/28/drupal-seo-the-top-drupal-seo-...
Hi. Your article inspired me to write up some of my own Drupal SEO tips. I decided to cover Drupal's duplicate content issues, since it seems to be something most people aren't aware of.
referring to your last update of the article: "this article, which was ranked #2 just yesterday, had disappeared entirely from the Google index"
happened almost the same thing to me, slumping from #2 to #200 in Google SERP both for niche and broader keywords...
Can i ask if you found a solution to that by the way? Thanks
I've been checking the positioning of this article sporadically since I wrote it. It seems to have settled in at about #4 on Google.
I have absolutely no evidence to back this up, but I suspect Google does a lot of tweaking of results positioning parameters on a daily basis as part of their effort to deal with spammers. However, I do notice that some domains (such as drupal.org) have pretty consistent placement, which leads me to believe there's some sort of 'quality' value assigned to domains themselves. Domains of higher quality seem to place more consistently in the rankings.
These are just guesses, of course.
Its very easy to optimize your drupal site for search engines.
you need to just configure the five modules..
we call it seo modules...
1. pathauto, for making paths user friendly
2. google analytics, to analyse your site
3. gsitemap, for the sitemap of your site
4. urllist, to make a list of all url of your site.
5. nodewords, to set the meta-tags
download them from drupal.org
enable them and configure them for your site
and see the results.
Thanks,
drupal lover.
I will remind you that main SEO people say to don´t use sitemaps.
They only help Google to analyse there own crawler. There are no benefits for your website.
Hello! Good Site! Thanks you! cdmsvsxiwdxue
that is a great article about seo...
Great but it did not handled the problem of content duplicating in depth
i think that is the missing piece...
there is a common problem about drupal friendly url...it is all about the trailing slach
take for example
http://yourdomain.tld/articles/drupal-seo
http://yourdomain.tld/articles/drupal-seo/
On a normal Drupal site, with clean URLs enabled, these two addresses are basically interchangeable...to prevent the misrable message of Page not Found
it is fixed at your .htaccess file
#get rid of trailing slashes
RewriteCond %{HTTP_HOST} ^(www.)?yourdomina\.tld$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
Cheers