I just need to point out here an informative blog post at SEOMOZ titled What What Small Business Clients Need to Know About Keywords and SEO which should be required reading for small businesses just getting started on researching Search Engine Optimization initiatives.
Here’s a few key excerpts:
So, before you even choose your keyword term, you should decide on your target area. It can be a town, city, county, region, state, or another geographic name. By geo-targeting your keyword term with a location you narrow down your customer base to who is likely to buy from you and decrease the number of competitors to deal with. This ultimately means faster results and lower costs.
You will see better results if you start by ranking locally and then expand to more competitive markets. Begin by ranking well for your town, then County, then Central Jersey. Once you rank well for Central Jersey it’s much easier to gain rankings for NJ than if you started with NJ initially. This enables you to keep your strong search results for your less competitive (and more localized) keywords providing you more reach and web visibility.
Make sure you have the right expectations of what SEO can provide for you. There is no doubt that SEO is a long-term investment that will pay for itself and more over its lifetime. Don’t waste time or money SEOing for the wrong keywords; know you business and what your goals are. Be realistic about the geographies you are trying to rank for. Popular areas will be more competitive; expect to pay higher prices for these competitive SEO campaigns. It shouldn’t take longer than a month to see improvements, but SEO takes time. The harder the campaign it, the longer it will be before you get a return on your investment.
There rest is well worth reading: