SEO is more than just tags on a page

In short:

  • Have a strategy. Understand which keywords you want to target and why.
  • Benchmark yourself. Have a clear understanding of how you rank now on the keywords you are targeting yourself against.
  • Decide you how you want to roll out your changes – all at once or one at a time. Sometimes if you do it all at once you don’t necessarily know what worked/what didn’t.
  • Sit and wait. Sometimes it can take a couple of months to see improvements in rankings.
  • Make Google Webmaster Tools your friend and if you use Google Analytics, get the two linked together as this is quite a formidable pairing.

I wrote an email to an Accenture colleague with some thoughts on SEO. She had forwarded on an email from other Accenture colleagues that had loads of important information on the more technical side and how to implement good SEO. But there was nothing there about how to find the correct keywords to target, benchmarking where you are now and accurately measuring where you want to get to.

While this is in no way a solution to or finalised approach, it will hopefully give you enough of an idea of a good approach to setting an SEO strategy with some useful tools that you can use as well.

This was my email:

The main thing to remember with SEO is that its not just a technical solution – having the correct tags and well-structured html is only a part of it. You need well thought out copy and have many high quality sites linking to you with relevant keyword rich anchor text.

The first thing that I would do would be to come up with a strategy. What is it that we are trying to achieve? Which keywords do we want to improve on? What does success look like? Who of my competitors are doing well? Where are the gaps that I can take advantage of?

Some tools that I would recommend would be industry standard ones such as Hitwise, Google Trends and ComScore. Hitwise offers you the ability to look at which keywords drive traffic to yourself and to your competitors. It can also compare you against an industry, individual sites or a group of sites that you define yourself.  This helps you to identify where the opportunities might be that you can capitalise on.

Google Trends is a free tool that gives you an idea of how often nominated keywords are searched for in different territories. It doesn’t give you actual numbers but does give you an indication.

Then there’s the tech side of things. Reviewing your HTML, looking at microformats and other more granular html tags that Google and some other search engines still support. In addition, site speed is also quite often taken into account so using Firefox plugins like yslow and other online tools to help speed up the rendering of pages in a browser is also important. In addition to this looking at how your site is cached and trying our different pre-warming techniques can also help with this.

Another great tool in the SEO arsenal is landing pages. If you are trying to compete on specific keywords, create bespoke landing pages for these keywords with relevant keyword rich copy and with links through to relevant product – again with keyword rich anchor text.

A Practical example of Feature Driven Development

Feature Driven Development (FDD) is often theorised about on many web sites with blog posts, articles and essays being published on a regular basis and this blog post will give you a much needed practical example of it in use.

One article that is worth pointing out is DZone’s Introduction to Feature Driven Development. This is part one of a two part article describing a theoretical project and a theoretical team and the first three of five steps to achieving Feature Driven Development. It is extremely well written and gives you some really good insight into what is needed.

In my experience, I find that when you take these theories and methodologies and apply them to real life situations and projects, that they need adapting and shaping to fit with what you are trying to deliver.

An example of this is when I was leading the Product Development across five different web sites and one development team. The way in which I had implemented the Kanban methodology was different for each site due to different stakeholders and different commercial strategies needing to be delivered.

Anyway, back to a practical example of Feature Driven Development.

The example that I am using is the build of Mousebreaker, a casual gaming site that utilised a mixture of Kanban and Feature Driven Development to quickly and effectively deliver a new web site with a new code base in 28 days.

Traditionally, my approach had always been to gather all requirements, build the infrastructure, then the code, and finally the front end for a web site.  This information gathering and the writing of functional and technical specs can take a long time to complete. Then, when the development begins, the whole spec needed to be delivered before the site could launch. By which time 6 months has passed and requirements may well have changed and what is delivered is not necessarily what the business or the market needs.

Feature Driven Development tries to get around this by defining the requirements as features, then the business owners and development teams prioritise these features into a backlog of work and then the developers deliver these features in the order that offers the most business value.

One thing to note is that there is some pre-work that needs to happen before development can start. The general technical approach needs to be agreed; technologies need to be discussed, terminology needs to be agreed and basic development, testing and live environments need to be created.

In addition, certain standards would have been discussed such as coding, SEO and accessibility standards and any automated testing. In addition, any front/back end frame works that will be used as well should also be discussed.

If you look at the Mousebreaker site, you will see that the primary user function is for the user to play flash games. So the first feature that was worked on was that the user needs to be able to play a game on a web page.

At first, the developers approach was to start building a database infrastructure that could be used for the whole site. They were also wanting designs for pages etc. You need to be careful here as that is not what was required by the feature. All the feature required was for the user to be able to play a game. Nothing else.

So to deliver this feature, all that was required was a static html page with some embed code that would allow a user to play a game. The game needed to be in a web facing folder.

Once complete and tested, the feature can then be released.

The next story was that a user needs to be able to play all games on a web page.

This is where the database gets created and the initial html page is turned into a template. Again, the developers only needed to create a database that delivers the feature’s requirement.

In the meantime, while the initial features were being delivered, the designers were working with the development and business teams to deliver the designs for the site. There was a further feature for the site to have a premium look and feel that eventually would need to be delivered which could be applied to the site around the templates that were being delivered.

This felt a little back to front, but you need to remember that we were delivering features in the order of business priority.

As the features kept being delivered, the site quickly started to take shape. Throughout the development, the business representatives were always attending the stand ups and were constantly making decisions on scope of work and what would be required for launch.

We found that the close collaboration between the business and the development team was the most effective way of managing scope and ensuring that what the dev team delivered is what was expected.

I have applied this form of Feature Driven Development many times and I find that it really works. You do need buy in and effort from the business owners, and you do need to make sure that the developers do only focus on what is required to deliver the features rather than architecting a full solution before understanding all the requirements.

This allows more of a front to back development process. Where the features take priority over the implementation. One thing that I would like to point out is that there would be occasions where future considerations are sometimes ignored or put to one side to get functionality out and that this may result in refactoring work further down the line.

The thing to remember is that you will have already delivered the highest business value functionality required at that point and that the business will understand that any refactoring work should also have a value and then a discussion can be had about options and whether this work needs to be done or not. If it does and it takes a longer period of time, then allowances should be made for this.