I was going to create an entire section on this website dedicated to SEO, but this Tom guy has said it all. I would take a look at this guide, and then make it a goal to implement one item on his list of improvements each week.
Should I hire an SEO expert?
SEO is a time consuming process, but it is something that you can do yourself. In the end, much of SEO happens naturally as you engage in internet marketing techniques, and you are the one best qualified to get out there and market your website/brand, and getting in front of others will also help you better understand the needs of your end user. So I’m all for doing your own SEO and marketing if you have the time, but it is one of the most time consuming processes, and an expert can help you along, and you will eventually get to the point where you don’t have the time to do this stuff on your own. Anyhow, that’s my two cents on this question.