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
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.
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.
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.
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:
- Chinese: 搜索引擎优化的基础 (Translation by GreyCrab)
- Dutch: Zoekmachine Optimalisatie (Translation by Bart van de Biezen)
- Italian: Ottimizzazione per i motori di ricerca (SEO): Principi di base (Translation by Luca Magnani)
- Polish: Podstawy optymalizacji dla wyszukiwarek (Translation by Marcin Gaik)
- Spanish: Principios para la Optimización en Buscadores (Translation by Gabriel Porras)