In general, SEO is kind of a mystery. Nobody really knows the hidden secrets of its algorithms and how they exactly react to our websites. We can mainly base our argues in A/B tests as well as deep studies of other sites. When we talk about SEO we are mainly talking about Google, lets face it, Bing has became bigger, but it seems it takes Google results many times as pointed out by Matt Cutts, google engenieer.

My SEO experience

I have been reading about SEO techniques for a few years and applying that knowledge to every site I did. I consider I learned most of it working in one of my personal websites in which I spend so much energy. After some time, I was able to position some of my articles in the 1st result of the search in less than 24 hours.

To be honest, the topic of the site wasn’t very popular and that helped me a bit on it, but beside this, the results were quite successful.

SEO techniques

I’m going to point out some of the SEO techniques I personally apply to my sites and which you might notice in many popular sites as well:

  • Make use of headers (<h1>, <h2>, <h3>…) to underline the importance o the words you want to positionate.

  • Make use of the bold tags to add more relevance to a group of words. (<b>, <strong>…)

  • Add a specific title (<title> meta tag ) for each page of your site.

  • Make use of description and keywords correctly. Although this is not that important for Google anymore, I usually add the same words in the keywords as the title contains.

  • Use friendly and descriptive URLs. This is, containing the words you want to positionate (usually the same ones used in the Title as well as in the main header (h1) of the site)). They should be separate by dashes (not underscores) and look like a directory or either use .html or .htm. For example

  • Use specific keywoards in your keywoards, title, url… For example, instead of “Lessons”, you want to be more specific for seaches and use something like “Maths Lessons at Millersville University”. This is the way users search and the way you will get a higher rank for those keywords beating the competence. Think about how users would search for your information.

  • Use the compulsory alt attribute in all images with the words you want to position your page.

  • Images should also provide extra information with their name as well. Add important words to their name separated by dashes.

  • Speed up the load of your pages as max as you can. It is well known the speed is a factor Google takes into account.

  • Validate your generated code with w3c. The syntax is not such a relevant factor but is always a nice thing to do to avoid any kind of error.

  • Use google webmaster tools in order to specify a canonical domain, the country of your site and submit your sitemap.xml file.

  • Use text on your pages instead of images. Google reads text and text is what users use to search. A page with no text is difficult to be positioned.

  • Use original content as max as possible. Google doesn’t like duplicate content. Good sites are not made of copy and paste.

  • Link words or sentences with pages inside your own site whenever they are related or make reference to each other.

  • Don’t try to cheat google. Don’t use keywords with the same color as the background or position them outside the page window. That’s consider SEO spam!

  • Promote your pages using social networks such as Facebook and Twitter. Google tracks them too.

  • If the page is using a forum, make sure each topic has its own title, keywords and description. (you might get surprised to see how many doesn’t! ) And try to make it URL friendly if possible.

  • Adding comments in your articles (if desired), will also “update” in some way the information of that specific page and will even add more related words to the page which will help to positionate the site. Google will notice there’s activity on the page and he loves it!

  • Don’t trust on fast and payed SEO techniques or applications. They usually work for short term and might help your page to be added in the black list of spammers or not reliable websites.

How to speed up the load of your site

  • If you use jQuery library, it is recommended to load it directly from Google as visitors might have it already cached on their machines from other sites.

  • Compress/minify CSS and JS files. You can automate this or do it manually. Choose if you want to do it on the server side or in the client side before uploading the data. Some tools to do this are:

  • Combine all files CSS in one file and all JS files in another file (if possible). This will reduce the number of request to the server.

  • Use sprite for small images, such as icons, menu icons… this will reduce the number of requests as well.

  • Set your server to enable gzip compression. (As I explained for Apache here)

  • Make use of dynamic load of images or big background images (known as lazy load). This way they won’t be downloaded until the user needs to see them.

  • Make use of Cache whenever is possible. Not only for CSS, JS files, but also for data obtained from the database which take time to be selected.

  • In order to check the loading speed as well as some other debug information, you can make use of Chrome inspector or Firebug for Firefox. Also, Google has available a page speed test which tells us which things can we improve to speed up our site. There’s also a Chrome plugin for it which is great to get the compressed images. (which is not that simple as using Photoshop for it…)

  • Use some of the techniques recommended by Yahoo.