SEO optimization sometimes sounds like a mix of facts and Voodoo. The search engines won’t reveal too many details about their ranking algorithms, because somebody might want to misuse this information to put the wrong sites on top of the search results.
Therefore the information on how the ranking on search engines exactly works isn’t available, but there is many theories on how a site is best built to be search engine friendly. In this post we’ll focus on the facts about SEO, and not so much on the Voodoo.
This sounds a little boring, but if you want to be a success, the content, not SEO should be your first priority. All search engines are constantly refining their search- and ranking algorithms, with the main purpose of displaying the best results to the users. And best result is not the most SEO optimized site, but the site with best content for a specific query.
By doing different kinds of SEO tricks you might be lucky to confuse the search engines in the short run, but in the longer run, you typically end up spending just as much time SEO optimizing a site with “bad” content, as creating quality content.
Funny enough by having great content, you have a big chance that somebody will link to your site, or click on the links to your site from the search results on the search engines, which will give you traffic from the search engines.
The first, and most important thing is to ensure that your site is built with a valid HTML markup. Now why is this so important?.
When the search engines are crawling your site, the crawler uses the HTML markup of your page to define what the page is about, and to retrieve links to other pages on your site. The crawler might be able to handle some types of HTML markup errors, but if the crawler has to use too much time handling sloppy HTML code the crawling speed is reduced, which might mean less content on your site being indexed, or less frequent crawling of your site.
Even worse, incorrect HTML markup might mean that the crawler cant retrieve links to your other page, and therefore less content in your site is being indexed.
So the most important advice is to ensure that all pages on your website can be validated with the W3C HTML Validator
When your content is having the correct syntax and can be indexed, you should build a sitemap to make it easy for the search engines to find your content. A sitemap is a XML document that contains information about your site. In the example below you can see the first part of the sitemap for tips4php.net.
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="http://tips4php.net/wp-content/plugins/google-sitemap-generator/sitemap.xsl"?> <urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://tips4php.net/</loc> <lastmod>2010-04-19T20:17:36+00:00</lastmod> <changefreq>daily</changefreq> <priority>1.0</priority></pre> </url> <url> <loc>http://tips4php.net/2010/04/adding-static-maps-to-your-blog-or-website/</loc> <lastmod>2010-04-19T20:17:36+00:00</lastmod> <changefreq>monthly</changefreq> <priority>0.2</priority> </url> </urlset>
This sitemap contains information about the first two pages of the site. If you want to include additional pages to your sitemap, just add more pages with the syntax between the <url></url> tags. To validate your sitemap you should use a sitemap validator.
The final thing to do is to submit your sitemap to the search engines (Google, Yahoo, Bing).
Both Google, Yahoo and Bing have a special webmaster site, where you can create a account and get access to special information about your site like crawling errors, dead links, pages indexed etc. etc. You can also use the webmaster account to tell the search engines about your sitemaps, and thereby get a better chance of getting your content indexed.
The webmaster sites for the biggest search engines are:
- Google: http://www.google.com/webmasters/
- Yahoo: http://siteexplorer.search.yahoo.com/
- Bing: http://www.bing.com/webmaster
When search engines are indexing and defining sites, this definition is based on how the different pages on your site is linking to each other. A few good ruls of thumb on internal link structure is:
- Always make your logo clickable, linking to your front page
- You should link directly to your most important content from your front page. Links from the front page gives the target pages better SEO credit than links from further down in your site hierarchy
- Remember to use SEO friendly URL structure. Search engines don’t like to crawl for pages with a URL like this: www.example.com/articles.php?month=november&topic=programming. However if the URL is made “nice” like this: www.example.com/article/november/programming.html the chance of getting the pages indexed is significantly higher
- Using breadcrumbs on the top of your pages can improve the internal link structure of your site, and thereby ensure that more of your content is indexed, and that your site structure is better defined by the search engines
Since early 2010 site speed has been a part of the ranking algorithm at Google, meaning that faster site gets better ranking than slower sites with same search relevancy. The argument for including site speed in the ranking, is that a fast site is a better user experience than a slow loading site. You should therefore pay attention to the loading times for your site.
The graph above is from Google webmaster tools, where the speed of your site is benchmarked against other sites that can be found in Google. If your site is slower than the average sites, you should run a speed test like YSlow, to see what can be improved.
Images, and Google image search
Even though search engines can’t index content from images, images still have a important SEO potential. Most of the major search engines have a separate image search, which can have a interesting traffic potential for your site.
As an example, a image of the Eiffel Tower in Paris might look like this if it hasn’t been SEO optimized:
<img src="1234567.png" alt="" />
When the search engines are indexing content for their image search the following factors are normally evaluated:
- Alt Text
- File Name
- Surrounding Text
- Page Title
- Page Theme
The first thing to optimize is the file name. 1234567.png don’t say much about the content of the image. A SEO optimized image name could be: the_eiffel_tower_paris.png. This file name indicates the the image has something to do with The Eiffel Tower in Paris.
The ALT text is also important. Instead of a empty text, information about the image should also be included in the ALT text: alt=”The Eiffel Tower in Paris” .
With these two simple adjustments of the original example, the image is now SEO optimized, and might attract traffic from image search
<img src="the_eiffel_tower_paris.png" alt="The Eiffel Tower in Paris" />
The message from here is clear, if something is important you should include it in your text. At the end of the day, all that the search engines are indexing on your site, is the text that can be found on your site.
When writing text on your site, you should try to identify the important terms for the topic that you are writing about, and ensure that these terms are included:
- In the page title (meta tags)
- In the page description (meta tags)
- In the page keywords (meta tags)
- In the page title/headline
- In the page text
The example page below is about Restaurants in Paris. Notice how the topic is included in all the important parts of the page, which gives the best SEO:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Restaurants in Paris</title> <meta name="description" content="Get lot's of tips on the best restaurants in Paris." /> <meta name="keywords" content="restaurants, paris" /> </head> <body> <h1>Restaurants in Paris</h1> <p>This is a article about restaurants in Paris</p> </body> </html>
From a user perspective it can be very nice with lot’s of images on a page, but from a SEO perspective, it’s also very important to remember to include all important keywords as text as well.
Semantic markup can be used to highlight the most important parts of your content to the search engines. The most important semantic markup tags are the <h1><h2> and <h3> tags. These tags are used for defining headlines, and from a SEO perspective, keywords included in the headlines, will improve your pagerank for these keywords.
Don’t overuse <h1> tags. The search engines aren’t stupid, so if you put all your content in a <h1> tag, the search engines will just ignore the <h1> tag, and your page won’t get any ranking benefit.
Having many links to your site have 2 advantages from a SEO perspective: First, more links means a higher chance that a crawler from the search engines find your site, which can mean a more frequent indexing of your site. Second if many sites are linking to your site, and especially if the sites already have a high status in the search engines, this can increase that status of your website. This means that many links is fine, but links from “quality sites” is having a even bigger impact.
If you want to build links to your site, there are a number of strategies to apply:
- Link directories. You can submit your site to link directories. There are both commercial and free link directories. You can find a selection of free link directores here.
- Comment on Blog posts/Articles. Some search engines are removing these links, but it might still be worth a effort, since relevant and constructive comments might direct traffic to your site. Just don’t spam all kinds of pages with irrelevant comments. Only add comments if you have something relevant to say
- Partnerships/Link exchange. If there are other sites with content similar to yours, you can contact the sites and see if you can exchange links.
- Having great content. If you have great content, other people will automatically start to link to your site.
A customized 404 page (page can’t be fount error page) can be very efficient for SEO. From my experience, a custom 404 page with the following elements can be very effective:
- If possible, extract any keywords in the referrer data
- If keywords where found, use the Google Search API to make a search for these keywords on your site
- Display a link to your front page
- Display a link to your sitemap
First this 404 is user friendly, since it tries to find similar content on your site. Second, by performing a search for your site on Google, the search volume for you site goes up, which can have a effect on SEO.
If everything mentioned in this post so far is implemented on your site, there is a big chance that your content will be displayed in a lot of search results on the search engines. How do you get as much share of that traffic as possible. Being at the top of the search result is off course very important, but almost equally important is relevant page titles. In the example below the site Cluesheet.com ranks better that the site Tips4php.com when searching for “Tips 4 php” on Google. However the page title for Cluesheet.com isn’t that interesting
The anonymous page title for Cluesheet.com might mean less click through to the site, since the page title don’t catch the users attention. So the message from here is clear: it’s very important to have precise and unique page titles for each page on your site, so you have the best possibility to capture as many visitors as possible from the search results.