New to the forum (I'm going to do an Intro post shortly) and funnily enough just found this thread.
I'd start by using the Google AdWords Keyword Planner* to see if there's demand in your area. After all, there's no point pursuing SEO
if no one searches for what you do. For us, things like "office cleaning cardiff" and "commercial cleaning cardiff" each get dozens of searches every month, so it's worthwhile.
(* The forum won't let me add a link 'cos I'm new, so type "google adwords keyword planner" into Google and you should find it. You need a Google account to use it, but you don't actually have to be an active AdWords members - i.e. using their ads - so you'll be able to use it for free.)
When you have a few keywords, make sure to include them on your homepage and/or main pages of your site. Make sure you get the balance right though. After all, there's no point writing something Shakespearean if no one ever gets to see it, but similarly, there's no point ranking at the top of Google if you've put so many keywords on your page that the text doesn't read well and it puts potential clients off.
Links from other websites is another important factor. So if you're linked to from cleaning company directories, general business directories (e.g. Yell.com, Yelp, etc.), social media profiles, etc. then it all helps. Just make sure what you're doing is natural in Google's eyes. If you're a cleaning company and you're on a site about cleaning then that's great, but if you're a cleaning company and you're on sites about cars, fishing and pets then that might be considered a little off-topic and might look like you're trying to game the system.
Also, if a Map result appears for your searches, make sure that your NAP (name, address, phone number) are consistent across the Web - in business directories, etc. If you postcode is wrong on some sites, fixing it should help Google to understand that you are
actually based there, and it'll be more confident showing your Map listing.
Hope that's useful. :-)