The comments posted are pretty good thus far. I just wanted to add that there are a lot of things that you can do yourself. SEO is a science, and takes a lot of time. I have included tips and tricks on my site www.tekstardesign.com. But I will mention some here today, for those who don't know yet.
(sorry if I give away too many trade secrets, but I truly believe that you must give it away to get it)
1) Keyword analysis
-use google's adwords keyword tool (free) to determine the amount of local searches for the keywords that you are trying to show up for. The key here is to find as specific a term as possible. example:if you are a dentist, you do not simply want to tackle the very difficult task of ranking high for such a general keyword. Type in Dentist and see how many results come up. True enough, this number is the number of instances that the term is mentioned, but its still a lot to compete with. So, you're best strategy would be to narrow down the term to include a specialty, or perhaps even an area. For example, make your target keywords cosmetic dentistry Calabasas. This would help you rank higher in the results for anyone searching for a cosmetic dentist in the city of Calabasas.
The question that sums it all up is: Do you want to rank on page 66 of google search results for dentists, or be seen in the third position on the first page of google for cosmetic dentistry Calabasas? The latter will drive more useful traffic to your site.
If you like what you're reading, please subscribe to my feed on www.tekstardesign.com
also follow me on twitter @TekstarDesign1.
I love being of help to those trying to improve their site traffic. Someone had to teach me, so I don't mind teaching others. Thanks, more topics to come