I would say that nearly all unsolicited email we receive at the moment (ignoring typical spam) is from businesses offering Search Engine Optimisation services. It seems to be the 'big thing' on offer.

Not only that, but I've received a few Skype calls with similar offers. It frustrates me though that there is this current suggestion that SEO techniques are secrets, that poor, helpless website owners will never know. 

One of my phone conversations went like this:

Caller: Hi, we've noticed your website is not search engine optimised, we'd like to help you... (sales pitch)
Me: Right. I get a lot of messages with such offers. If you can just tell me one, small item on my website that you would improve, I'll consider what services you have to offer...
Caller: But sir! If we told you something to improve, that would be like giving away the recipe to the cake!
Me: Oh, I didn't think the techniques were secrets. Sorry to waste your time.

*click*

I personally think this is rubbish. Nearly everything (apart from very specific algorithms or highly custom pieces of code) is available on the web for all to learn. Google themselves have a clear page that explains best practices for website owners. People who tell you they have some secret tricks are lying or doing things that might temporarily work, but are actually likely to damage your rankings down the track. 

As a web developer, it is my time and skills that I charge for and not 'secrets'. I'll tell you anything you want to know. That being said, SEO is a complex topic and I've spent countless hours reading about it. It can be both interesting and sleep-inducing.

So for the rest of this blog post I'm going to outline as many of the main considerations and concepts I've learnt. I'm sure I'll miss things out (people have written large books about the topic), and perhaps be technically wrong a few times, but I'll do my best. I've written this both for website owners and developers. I'm going to refer to Google as it's the main target, but the recommendations are still very generic.

I see it that there are about five main factors to consider when looking at how websites are ranked:

  1. How have other websites linked to your site, and how many have
  2. Your domain name and the age of your site
  3. How competitive your area is and where you are located
  4. What content you have on your website
  5. What sitemap information has been submitted (if you are a new website)

Lets start with perhaps the one you have the least control over.

1. Inlinks to your site

Generally speaking, the more popular your site is the more people will link to you and therefore search engines will see you as more relevant. This means higher rankings. 

It isn't as simple at that though. The 'quality' or value of each inlink can be different - for each inlink it depends on where the link is on a page, what the link text is and the overall quality of the site it is on. This is all very complex, but as some general guidelines:

  • Links from websites with similar content and topics will have more value than from sites that have nothing to do with you.  
  • Links in footers or on pages with lots of other outlinks are generally considered low quality.
  • If Google thinks a link is on a 'link farm' (a site developed just for links), it may devalue the link down to zero.
  • A link is higher valued if someone has written a large amount of relevant information about you on a page and linked to you in the body text. It is seen as a more 'natural' link.
  • It is often better to have one really good quality link from a site than hundreds of low quality links. 
  • The words in the link itself give weighting to your keywords. If the link text says for example 'great dog treats', Google will see that and perhaps give you more weighting for those three search terms. 

One of the best ways to have people link to your site is to create content for it that is high quality, relevant, informative and often updated. You'll see blogs on many sites now because they provide a great platform to create such content. People will want to share this information with others, so will link to it from their own sites. Google values 'natural' behaviour with the web - pages that have been linked to because people like them and not because it is some trick or automated linking. The full details of how Google does it's ranking are highly secretive, but the general approach is to be honest about your activities and not to try to trick search engines.

You will find groups that will offer to create inlinks for you, for a price. In this case, they are creating fake postings and blog entries on websites to artificially boost rankings. This is a practice of which Google and other search engines are very aware. Beware.

A note about the 'nofollow' attribute.

Often websites have comment areas where people can write replies to blog entries. In these, people often leave a web address (and in some cases will leave a comment just for this purpose). In this case, all these outlinks may degrade the ranking of a page and site. To prevent this, Google detects an attribute on a link that tells it basically to ignore it. This is called the nofollow attribute and on a link it looks like this:

<a href="http://address.com" rel="nofollow">link text</a>

If you are running a blog or site where people can leave comments, make sure your site adds these attributes automatically. If you are thinking of leaving your address in comments and twitter posts, be aware that nofollow is added most of the time and your search engine rankings won't be improved. 

2. Your domain name and website age

Your domain name is directly related to your search engine rankings. Domains that are restricted such as .edu and .gov addresses are generally ranked higher. Google tries to give searchers the 'best/most relevant' information and it sees such web addresses as being more authoritative sources.

If you have been on the web for a long time, providing lots of good quality information, you'll be ranked higher. 

Your domain name is matched against search words entered. You'll see Google highlight the words within domain names in your search result. You'll have a greater chance of appearing in search results if your domain name is www.epicdogtreats.com.au and someone searches for 'dog treats', than if you site is www.epic.com.au. With our own site, we've almost gone against this advice, with www.mesuvawebsitedesign.com.au, perhaps being better for ranking purposes, but we decided to keep the domain name shorter and use a name that is unique. Search for just Mesuva and we're the entire first page.

3. Your competition

Not everyone can be at the top of search engine results and some markets are more saturated than others. The more people competing for the top places for common searches makes it harder to rank. Although we'd love to come up often for searches for 'website design', we recognise that we're competing with thousands of others (and our competition knows what they are doing!). If you sell cars for example, trying to rank on the first page is going to be almost impossible. Instead, you should focus on more specific search terms you expect customers are going to use, like 'used cars with warranties', or if you sell a particular type of car, 'used mercedes cars placename'. If you have a page on your site that has content that closely matches what someone is searching for, you will have more success.

You will often see companies selling 'the top spot in Google guaranteed!'. They aren't saying for any word you wish, they're saying for a particular phrase or specific keywords. Be realistic with your expectations for rankings, especially for broad keywords. 

Your location

Google is pretty clever. It will also look for an address on your website and then use that to help direct searches to relevant results. It's a good idea to include an address on your site to help you rank in searches for more local customers. Google Places can also help with this by allowing you to put detailed information that will appear on google maps results.  

4 - Your site's content

This is the factor that you will have the most control over. If your site is built correctly, you shouldn't have issues optimising your site for search engines. It is more about understanding how people are going to search than any technical detail in particular. Your aim is to tweak up the content to best match what people will be searching for. There is quite a long list of things to consider, but all of them are quite simple by themselves: 

Page titles

Page titles are the pieces of text that appear in the top bar of the browser (or on the webpage tab). Often they have the name of the website in them as well as a title for the current page you are on. Google sees these as particularly relevant to match up search terms. Most website content management systems allow you to specify these tags. In these tags, the general advice is to put in a phrase with the most relevant keywords that accurately reflect your content and what you think people would search for. A tip is often to put in the name of the area that your servicing. If your title tags all say the same thing or aren't very descriptive, you're missing out on an easy to change SEO boost.

Page URLs/paths

Like the titles on pages, Google will also look at the page path (what is in the address bar) for keywords to match up.These paths can often also be customised. On our own site, I've added the word 'Adelaide' to the path, as that is our main target area. Our websites page has the path'/adelaide/website-design/', as this would be similar to what people may search for. This isn't a deceptive practice, as it common for businesses to have different branches for different areas. In this way, a search engine is going to match your query up with the most appropriate page.

Some older content management systems display pages with id's like 'index.php?pageid=123'. Google will still index such pages, but this misses some opportunities for matched keywords.

You could be tempted to stuff your titles and page paths with lots of keywords and very long sentences. Don't do this - there is an effective limit on what is looked at, and these should still match your page content. Make each title and page path specific to the page. If you are putting keywords into pages that don't feature them, perhaps consider creating a new page for that topic. 

Headings

Well marked up page content will make use of heading tags (H1, H2, etc). These are also places that are given a little more weight in terms of importance. Make sure you headings are descriptive and similar in nature to search phrases that match. Make sure you are using proper headings and not a paragraph that has simply been enlarged and made to look like one. 

Unique Content

Make sure your content is unique and don't repeat it across pages. Google will devalue content that is repeated across a website or if it appears to be from somewhere else (think of Google as an angry teacher grading your work!). Don't try to create the same page with different titles or urls, this will be detected. If you are quoting something from another website, mark the content as blockquote to tell Google to ignore it.  

Other domain names pointing at your site.

Another temptation is to buy lots of domain names with different keywords in them and link them to your site. Google will see each domain as a different site but with the same content, so will devalue your site. It is ok though to have multiple domain names pointing to the one site if they redirect to the main domain name in the correct way. This is known as a 301 type redirectand will tell a search engine that a site has been 'permanately moved'. This means you can have variations on your domain name if you need it (spelling mistakes, shortened names, etc), but a search engine will only index and rank the one site they all redirect to. Pick one domain name as your 'main' site and have all other domains redirect to it.

Content relates to topic and has appropriate keywords

Your content itself should be informative, with natural sentences and paragraphs. The content should relevant to your site and the headings and titles you have created. Without overdoing it, make sure you use relevant keywords in your text. 

Logical site structure

Don't create a mess of interconnecting links and pages with enormous menus on them. Not only does this make it confusing for visitors, but search engines are going to find it difficult to categorise your content. Resist the urge to link everything to everything. Make sure your site doesn't have too many levels and also try to ensure that every page is at least accessible from some link on the site. Sometimes websites have stand alone pages that for promitions and linked from online advertising. These are ok to not be linked in, but here your aim isn't search engine rankings, so don't put critical information on them.

Not too many outbound links

Avoid putting lots of links to other sites, especially on the home page. You can put some without any issue, but past a certain point it can effect your rankings. If you need to put lots, use the 'ref="nofollow" attribute mentioned earlier.

Moved pages

If you restructure your site and move pages around, the pages Google has previously indexed will be no longer be found. This means that you will lose the work you have put into them being ranked well. To avoid this, set up a redirect to the new page location from the old one (again, using a 301 type redirect). Both Google and visitors will still find your content, with Google being politely told to just change it's URL in its listing, but not the ranking. A good content management system should allow you to do this.

Make sure you site isn't slow

Make sure your website displays quickly and without any significant delay. If Google encounters longs waits to look at your content, it will give up and move on (that's no different than another other visitor to your site).

Alt tags on images

Well built websites have descriptive 'alt' text on images. They are important for accessibility, but also provide a descriptive caption of sorts. Google will also use alt text on images for indexing.  

Don't be sneaky

In the past, people have tried to trick search engines by stuffing pages full of keywords and hiding them from view by making the text the same colour as the background. Don't try tricks like this, these are easy for Google to detect and now result in not just bad rankings but a possible de-listing altogether.

Metadata

This is information that isn't visible on a webpage but is contained in the 'header' of a page. The page title mentioned earlier (the 'title tag'), is in the header as well as others like a tag for keywords and a description. It's a good practice to fill these in, but in terms of search engine optimisation the view is that it doesn't really do anything anymore. Address these items, but don't stress about them.

5 - Sitemap submission

Although Google and other search engines 'spider' websites to index them by viewing a page and visiting all the linked pages it can find, it can be given a helping hand by the submission of a sitemap. A sitemap is a special file (an XML file) that sits on a website that a search engine can view to see a list of all pages on the site and their addresses. Submitting a sitemap can help a search engine see a page that isn't linked in. Sitemaps aren't supposed to improve search engine rankings as such, but from experience it can really help with initial indexing and keeping Google up to date. 

Sites can be submited to Google using their webmaster tools, to Bing using their webmaster tools and Yahoo using their site explorer. The task of setting up and submitting a sitemap XML file is generally left to developers.

Final notes

So there is a summary of the main things we look at for search engine optimisation. There are lots of small considerations that can be made, but none of it is a secret - the improvements simply require an understanding of basic web technologies. Anyone who says they know a 'trick' to improve rankings is really trying a shortcut.

Google's advice best sums up a healthy approach to SEO:

"Make pages primarily for users, not for search engines"

- Ryan