Hi
Basically, there are two main areas to check, is the TEXT on your website telling your visitor exactly what you do? Is it entirely relevant to plumbing for example, or does it get 'watered down' because you offer other services such as fitting kitchens? The more relevant your site is the higher you will appear in Google, but considering there are 1,000 of other plumbers you then need to look at the other area of optimisation and that's where Google looks at other websites to find out who else is saying your a plumber (for example). In our experience 60% of getting good results comes from other websites providing relevant links back to your website, it can't just be any link either it needs to be relevant.
You'd wouldn't believe the amount of websites we deal with where people haven't even mentioned in the text what they do. Just by adding the relevant keywords in the correct place on the page can make you top 30 at least, which may not sound great but it's a start and oh so simple!
They aren't many good optimisation companies available it's always been a battle between them and Google. The best optimisation companies focus creating news and relevant articles that can be published in blogs etc.
It's not difficult to get high search engine rankings, but it is very very time consuming and can take a lot of time and patience.
Hope that helps,
Andy
http://www.fourdegreeswest.co.uk/
http://www.websitedevelopmentdevon.co.uk/