Essential Developer SEO

There are many things that fall under the wide umbrella of SEO/SEM, and as a developer chances are high that you don’t really want to know about a large number of them. However like it or not if you’re creating web sites or applications there are some things you absolutely need to understand.

All of what’s contained in this post is pretty simple stuff – but it’s absolutely essential. There are so many resources out there covering SEO, and yet I keep seeing sites which ignore some or all of the basic things I’m going to mention, and I don’t quite understand why. You spent a lot of time and money getting a site up and running, don’t you want people to come look at it?

If you've spent any time reading about SEO in the past then this post probably isn't for you. But if you're a web developer who's not yet had a chance to start honing this aspect of your skillset and you want to cover the basics quickly, then read on.

In a nutshell getting traffic to your website is mostly about having good content. Really, it is – and we have to believe that or there’s really not much point in us continuing doing what we do. On top of the good content there’s some basic technical common sense things you can be aware of to help keep things working in your favour – and really most of this is just common sense - it’s not about keyword stuffing, insane Adwords budgets or some other type of arcane black magic. Quite simply if you're not doing these things (and I see MANY who aren't!) then you're putting your site or business at a disadvantage before you even start the race.

One final note before we get started - there’s a slight Microsoft centric spin to some of the technologies mentioned here, but only slightly. Everything here is relevant to developers of any platform.

 

1. Use meaningful page titles

Imagine you’re creating a new site over at Murrp.com - and your landing page has a page title of “Welcome – Murrp.com” or “Welcome – Murrp”. This title tells the user (and search engines) very little about this page, or what Murrp.com might do. If Murrp was a well established and well known brand then this would be different, as many people might simply search for Murrp, but as a new site you don’t have that luxury so the title must be more meaningful. A title such as "Welcome - Excellent quality widgets - Murrp.com" explains a little more about what Murrp.com does, associates this with the name, is short, and allows you to change the first piece of text according to the page so the user knows where they are and to guarantee unique titles.

It is highly recommended that all of your pages have unique titles, and that none of these titles get too long. There are tools you can use to check and report on this, some of which are mentioned later on.

Changing page titles might seem like a small thing, but you can make some small changes to page titles and get some really noticeable results (just ask StackOverflow).

2. Use basic meta tags

There are many different meta tags available for use, but when we’re talking the basics then make sure you’re using keywords and description. The general consensus is that keywords is less useful these days, but it’s easy enough to include it – so do so. The contents of the description tag is what is shown to users in a search result listing, so it’s important that the text you’re using here describes the page accurately. If the description tag is absent then the search engine will usually try and guess about which bits of text to display, and they won’t always get it right, so why take the chance?

It’s so easy to include these basic tags, so there’s no excuse not to do so.

3. Use heading styles appropriately

The use of header styles (such as h1 and h2 etc.) help draw attention to important pieces of text on your pages. Make sure you're using these tags properly to help search engines and users focus on relevant keywords/phrases.

If you’re doing something tricky with CSS such as using background images in title styles, then ensure you also include relevant text even if it isn’t visible to the user. Search engines read text, not images – so pay a bit of attention to your non-human visitors.

4. Use “Good” HTML

Your HTML doesn’t need to be perfect. It doesn’t need to run through 20 different validators and pass with 0 errors and 0 warnings, but it should be as sound as you can get it. The main HTML points which relate to SEO are ensuring your images have alt text and/or titles, and that you’re using heading styles appropriately – but obviously things such as unclosed tags and other malformed HTML definitely won’t help your chances of ranking well. Being automated, web crawlers can be less forgiving than users when it comes to bad HTML. If you’re using any halfway decent development environment you’ll be seeing warnings about the worst offences such as unclosed or out-dated tags, so act on them and fix things up where possible.

If your homepage is all images or flash then make sure you do SOMETHING to get some indexable text in there somewhere. View your source and see how many actual words appear – many sites which have been made to look great through liberal use of images (or Flash) can end up having virtually no text in them.

5. Use the obvious tools

You really have no reason to not use these tools. They’re free and offer a lot of value. There’s plenty more great tools out in the world, but these ones are a good starting point.

Google Webmaster Tools - Specifically look for and correct any crawl errors. Monitor the keywords which are picked up and make sure they're an accurate reflection of your site - if not, change things! Use the duplicate/long/short title tag check under “Diagnostics” > “HTML suggestions”.

Google Analytics – you want to see the difference in traffic your changes have made, as well as get useful stats and information on your visitors.

IIS SEO toolkit (or equivalent) - If you use IIS then this is well worth a look. If not there are equivalent tools available for other platforms.

 

If you’ve come this far, then maybe you’re willing to come a little further

The information here is the tip of the iceberg, but it represents a positive start. In the future I’ll write a bit more about the next steps for those who want to fight further, touching on things such as:

  • Human readable URLs
  • Sitemaps
  • Getting started with Google Adwords
  • Using a single domain to prevent the dilution of your ranking (and using the IIS URL Rewrite module to implement this quickly and easily).
  • Basic link building

Did you find this post useful? Have a tip or technique that you think should be on this list, or something you’d like to know more about? I’d love to hear about it in the comments.

Tags: ,

DotNetKicks Image

 Print | Posted on Wednesday, March 09, 2011 10:56 PM | Filed Under [ ASP.NET Web Development ]



Feedback

Gravatar

# re: Essential Developer SEO

Hey Ross,

Interested to hear more about single domain to reduce dilution - seems to be two different camps around this so interested to hear your thoughts,

Andrew.

3/10/2011 8:58 AM | Andrew Baird

Gravatar

# re: Essential Developer SEO

Hi Andy,

My personal view is that presenting a single domain through 301 redirection is a good thing. It's less confusing for users and it helps make your inbound links consistent. If you're using some sort of tracking service (such as Tweetmeme) then I suspect it'd treat shared www vs non-www links separately, which could make your content look less popular than it actually is.

Btw, you might notice that this site doesn't do that (but most of our client sites do) which is due to the current hosting provider setup :)

One thing I'm torn between is whether to choose the www or the non-www as your primary domain. I personally want to do everything possible to stamp out the use of www due to its redundancy, but that's just a personal preference.

Do you have any links to people advocating keeping multiple domains? I'd be interested in reading them if so!


Ross

3/10/2011 10:11 AM | Ross Hawkins


Post Comment

Title  
Name  
Email
Website / Url
 

Your comment

   
Ensure the word in this box says 'orange':
 
Please add 5 and 5 and type the answer here:





Due to excessive comment spam, all comments are now being moderated. If you're a comment spammer then you're wasting your time here. Your comments will not be published - ever.


About me

My name is Ross Hawkins and I'm a developer, consultant, business owner and writer based in Auckland, New Zealand (pictured below!). My current work revolves around ASP.NET, C#, jQuery, Ajax, SQL Server, and a mix of other Microsoft development technologies.

I also have about 15 years of experience with IBM Lotus Notes/Domino and associated technologies. While Notes/Domino is no longer my primary focus I still like to dabble and keep my skills up to date.

I own and run 2 businesses - Hawkins Consulting Services, and Ignition Development.

Bethells Beach, located in sunny West Auckland, New Zealand




Subscribe

Subscribe to this feed


Search




Popular Content

Troubleshooting WebResource.axd

The .NET 2.0 framework changed the way clientside JavaScript is delivered to the browser. Previously, ASP.NET 1.1 used the aspnet_client directory whereas now 2.0 uses WebResource.axd.

Published on October 8, 2006

Useful IIS Rewrite Rules

The IIS Rewrite Module is easy to use, however for some rules it can take a bit of trial and error to get your syntax correct. After using it for many projects across multiple customers, I thought it might be useful to put up a post containing a small collection of the useful rules I’ve come across, for your copying and pasting pleasure.

Published on January 14, 2014

jQuery Wildcard Selectors - some simple examples

I wrote about jQuery wildcard selector syntax briefly back in 2009, and since then that post has received a lot of views – way more than a post that brief should ever have seen..

Published on October 14, 2011

Microsoft AJAX Extensions: Sys.Debug is null or not an object

One of the breaking changes which was made with the 1.0 release of the Microsoft Ajax Extensions was the renaming of the 'Debug' class to 'Sys.Debug' for reasons of compatiability with other frameworks. Breaking changes like this can often be a source of frustration..

Published on May 22, 2007

Simple ASP.NET Character Counter

A textbox character counter is a pretty simple piece of functionality, and there's a lot of different ways to apply one to your application. The following method is nice and simple, and can be done using only clientside JavaScript if required, or combined with server side code in order to create a more dynamic effect

Published on December 4, 2006

Simple ASP.NET Character Counter - with Master Page Support

A quick update to my previous character counter article adding some changes for those using it with Master Pages.

Published on February 7th, 2009

Adding Tooltips to Gridview Headers

As the title says, this is a very simple but dynamic way of achieving tooltip text on a header column. It's not overly flash, but it's lightweight and quick to implement.

Published on April 15, 2007

SQL Server Web Report Viewer Issues on Windows 2008 Server/IIS7

A fix for another AXD related issue, this time with the SQL Server Web Report Viewer Control which was being served up via IIS7 on a Windows 2008 server.

Published on June 2, 2007
Updated on April 10, 2008





Archives

July, 2014 (1)
June, 2014 (2)
May, 2014 (4)
April, 2014 (1)
March, 2014 (4)
February, 2014 (3)
January, 2014 (4)
December, 2013 (6)
November, 2013 (2)
October, 2013 (3)
September, 2013 (5)
August, 2013 (5)
July, 2013 (3)
June, 2013 (2)
May, 2013 (3)
April, 2013 (2)
March, 2013 (2)
February, 2013 (3)
January, 2013 (5)
December, 2012 (4)
November, 2012 (4)
October, 2012 (3)
September, 2012 (3)
August, 2012 (4)
July, 2012 (1)
June, 2012 (4)
May, 2012 (2)
April, 2012 (4)
March, 2012 (2)
February, 2012 (4)
January, 2012 (3)
December, 2011 (3)
November, 2011 (8)
October, 2011 (9)
September, 2011 (8)
August, 2011 (5)
July, 2011 (4)
June, 2011 (7)
May, 2011 (5)
April, 2011 (3)
March, 2011 (8)
February, 2011 (4)
January, 2011 (3)
December, 2010 (8)
November, 2010 (5)
October, 2010 (6)
September, 2010 (7)
August, 2010 (11)
July, 2010 (12)
June, 2010 (8)
May, 2010 (8)
April, 2010 (4)
March, 2010 (8)
February, 2010 (6)
January, 2010 (12)
December, 2009 (13)
November, 2009 (11)
October, 2009 (12)
September, 2009 (12)
August, 2009 (2)
July, 2009 (7)
June, 2009 (12)
May, 2009 (9)
April, 2009 (9)
March, 2009 (9)
February, 2009 (8)
January, 2009 (7)
December, 2008 (6)
November, 2008 (7)
October, 2008 (9)
September, 2008 (12)
August, 2008 (9)
July, 2008 (6)
June, 2008 (24)
May, 2008 (13)
April, 2008 (16)
March, 2008 (8)
February, 2008 (10)
January, 2008 (1)
December, 2007 (14)
November, 2007 (11)
October, 2007 (11)
September, 2007 (13)
August, 2007 (11)
July, 2007 (5)
June, 2007 (15)
May, 2007 (11)
April, 2007 (9)
March, 2007 (9)
February, 2007 (10)
January, 2007 (8)
December, 2006 (18)
November, 2006 (11)
October, 2006 (14)
September, 2006 (9)
August, 2006 (10)
July, 2006 (4)
June, 2006 (4)
May, 2006 (6)
April, 2006 (3)
February, 2006 (6)
January, 2006 (10)
September, 2005 (2)
August, 2005 (4)

Post Categories

ASP.NET
AJAX
Amusing
NZ
NZ Trains
Notes/Domino
Visual Studio
Web Development
Miscellaneous
Me
Rugby
C#
SQL