Basics of search engine optimisation

At my day job, we're contacted every now and then by clients asking about search engine positioning and optimisation. Most of the time the client has been approached by an SEO (Search Engine Optimisation) consultant trying to talk them into paying lots of money for search engine optimisation. The SEO firms promise "guaranteed top results" and "submission to 500 000 search engines and directories".

Many site owners are regularly contacted by scam companies of this kind, and it's understandable that many take the bait and start paying for "top results and submission to everything". After all, who doesn't want their site to be highly ranked by search engines?

In an attempt to help a few people avoid paying for unnecessary search engine optimisation, I'd like to share what I have done to achieve very good search engine rankings, for this site as well as for clients' sites.

First, just let me say that not all SEO consultants out there are scam artists -- there are many reputable firms in the business. However, anyone promising "guaranteed top results", "submission to 500 000 search engines and directories", "instant results", or "permanent top positions" is most likely a scammer. There is no way anyone can guarantee that your site is the number one result unless they actually control the search engine results, or if the top ranking is for a word or phrase that only exists on your site, of course.

What strikes me as I think through the steps I have taken to get good search engine rankings is how much SEO has in common with accessibility, usability, and high quality markup -- the principles of web standards. That actually makes it even better: by making your site more accessible and usable for humans, and by using valid, semantic markup, you also make it more attractive to search engine robots.

Consider the guidelines I describe here a basic level of SEO -- try this first, and if you're still not getting the results you want, you may want to look into getting help from a reputable search engine optimisation firm. If you contact someone regarding optimising your site, ask them what they will do for your site. If they suggest any kinds of shady methods, be very careful. They might get you penalised or even banned from search engine indexes. On the other hand, if their advice includes what I'm suggesting here, they will probably do a good job.

There are no shortcuts

I'll start with the bad news if you're looking for a quick and easy way to get great results. There isn't one. Instead, expect to do some hard work, especially when it comes to the content of your site.

You will also need patience. Results do not come overnight. If you're working on improving the search engine positioning of a client's site, you should probably explain this to them early on.

Write good content

This is probably the single most important thing you need to do if you want to be found on the web. Even if your site is technically perfect for search engine robots, it won't do you any good unless you also fill it with good content. Yes, really!

Good content to me is text that is factually and grammatically correct, though that is not necessarily a must for all kinds of sites. Whatever your site is about, the content needs to be unique and/or specific enough to appeal to people. More specifically, it needs to be useful to the people you want to find your site.

Good content brings return visitors. Return visitors who like your content will eventually link to your site, and having lots of inbound links is great for search engine rankings, especially if those links are from highly ranked sites.

Closely related to good content is fresh content. By adding new content regularly, you give visitors a reason to come back. Search engine robots will also visit your site more often once they notice that you update regularly, which means that any new content you add will be indexed quicker.

When doing work for clients, creating quality content is rarely the responsibility of the web designer. Often, the client wants to write their own copy, which is fine if they're good at it and keep adding new content. In my experience, that is rarely the case. If at all possible, try to make the client realise that they should hire someone to help them write, or at least get someone to help them edit what they have written. In either case, make it clear to them that they can't expect consistent high rankings without good content.

Think about spelling

If you write in English, you are probably aware of the differences in spelling between American and British English. Colour vs. color, optimisation vs. optimization, etc. There are also many words that are commonly misspelled (this goes for all languages).

I don't like the idea of intentionally misspelling words, since it goes against my definition of "good content". If words with multiple spellings or commonly misspelled words are an important part of your content, i.e. keywords, consider adding a glossary or similar to include the most common spelling variations on the page.

Write descriptive page titles

By making your page titles simple, yet descriptive and relevant, you make it easier for search engines to know what each page is about, and people scanning through search results can quickly determine whether your document contains what they are looking for. The page title is also what is used to link to your site from search result listings.

Because of this, the title element is one of the most important elements on a page. Some argue that it is the most important element.

When it comes to the order of the text in the title element, I've found that the following works well:

Document title | Section name | Site or company name

Based on a discussion here a while ago, that is probably one of the best formats for accessible title texts. Again, accessibility and SEO work together.

Whatever you do, don't use the same title text for all documents. Doing so will make it much harder for search engines, people browsing through search results, and site visitors to quickly find out what the document is about.

Use real headings

Use the h1 - h6 elements for headings. Using graphics for headings may let you use any typeface you want, but search engines aren't going to pay much attention. Even if you (as is required) use the alt attribute to specify alternate text for heading images, that text will not be anywhere near as important as real text in a heading element. In my experience, this is true even if the images are inside heading elements. If you know otherwise, please tell.

If you cannot use real text, look at the various image or Flash replacement techniques that are available. Be aware that there may be a tiny risk involved in doing so. Since image replacement techniques involve hiding text, it is theoretically possible for search engines to penalise you. Currently that risk seems very slim, but don't say I didn't warn you if it does happen.

Use search engine friendly URLs

Avoid dynamically generated URLs that use a query string to let the server know which data to fetch from a database. Search engine robots may have difficulties with this kind of URL -- they may stop at the question mark and not even look at the query string.

Use search engine friendly, human readable URLs instead. This will help both your ranking and your users. I've seen incredible improvements in search engine results from just changing the URL scheme of a site.

Modifying and rewriting a site's URLs can be a little tricky, and some CM systems make it more difficult than others to implement. It is worth the effort though. A couple of resources to help you make your URLs better:

Get linked to

There is no easy and sustainable way to solve this one except for -- you guessed it -- providing good content. Incoming links are very, very important for SEO. They are also possibly the hardest part of SEO to implement.

However, in my experience incoming links are less important the more specific and unique your content is. As an example, a couple of our clients are in what you may call niche businesses. They don't have lots of sites linking to them, yet they started ranking very well in search engines after I had applied the knowledge I'm sharing here to their sites.

Use valid, semantic, lean, and accessible markup

Most web browsers have advanced functionality to decipher the tag soup mess that is used instead of HTML on most current sites. You can't rely on search engine robots to do that to the same extent. Validate your HTML and avoid presentational markup -- use as lean and clean markup as possible. By increasing your content-to-markup ratio, you make your site faster and more attractive to search engines.

High quality markup will help boost your rankings.

Accessibility is also very important. Making your site more accessible to vision impaired humans will also help search engine robots find their way around it. Remember, Google is blind, so even if you don't care about blind people using your site (which you should), you'll still want it to be accessible. This means that you should use real headings, paragraphs, and lists, and avoid using anything that may interfere with search engine spiders.

Flash and JavaScript are fine, as long as they aren't required to navigate your site and to access vital information. Don't hide your content inside Flash files or behind funky JavaScript navigation. Browse your site in Lynx, and with graphics, CSS, JavaScript, and Flash off. If that gives you problems, it is likely to cause problems for search engine spiders.

Submit carefully

Often slightly overrated, submitting a site to directories and search engines can be useful, especially if the site is new and hasn't already been picked up by Google and others. Go ahead and submit it to Google. It won't hurt, but most likely Google will find you anyway.

Two directories that may be worth submitting to are Yahoo! Directory and the Open Directory Project. Be patient -- it will probably take several weeks for your submissions to be processed, unless you pay for them to list you.

Don't try to fool the search engines

Don't use cloaking, link farms, keyword stuffing, alt text spamming or other dubious methods. They may work for a short while if you're lucky, but you risk being penalised or even banned from search engines, which you do not want.

Search engines want their results to be accurate, and they don't like it when people try to trick them. Just don't do it.

Avoid using frames

While it is possible to provide workarounds that allow search engine robots to crawl frame based sites, frames will still cause problems for the people who find your site through search engines.

When somebody follows the link from a search result listing to a frame based site, they will land on an orphaned document, outside of its parent frameset. This is very likely to cause confusion, since in many cases vital parts of the site, like navigational links, will be absent.

Some sites use JavaScript or server side scripting to redirect anyone trying to load a document outside of its parent frameset to the site's home page. This is a very user hostile thing to do, and it definitely does not help the people visiting your site. Just lose the frames. They are bad for usability anyway.

Be careful with browser detection

If you need to use some kind of browser detection, make sure that it doesn't break when a search engine spider (or any unknown user agent) comes along. If the spiders can't get in, you won't be found. I've seen this happen on the sites of fairly large companies.

Don't waste your time on meta tags

Most search engines don't place any great deal of value on the contents of meta tags anymore. They have been used way too much by spammers. I'd suggest using the meta description element, but that's all. Keywords won't hurt, but they will rarely help either, so they are generally not worth the effort.

Some search engines use the contents of the meta description element to describe your site in their search result listings, so if possible, make its contents unique and descriptive for every document.

Uuh. That was too much for me to read.

Ok, then. The ultra-short guide to SEO: add quality content regularly and make sure your site is well-built.

What next?

Like I stated at the beginning of this article, these are basic guidelines for SEO. There is much more than this that can be done to increase your site's visibility in search engines, but following the advice I've given here is a good start that, in my experience, will get you very far.

If you're looking for more info, here are a couple of books on the subject:


This article has been translated into the following languages:

Posted on February 3, 2005 in Search Engine Optimisation, Web Standards, Usability, Accessibility