We get asked various forms of this question all the time, and although every website may have specific needs in terms of properly optimizing the site to facilitate the search engine spiders, one thing is abundantly clear, and often overlooked.
We have summed up our overall advice to this:
Content is King!
No matter what else you do in terms of SEO, you must keep this in mind. Put relevant content on your site, and keep it coming as much as possible. If you expect to be found in the top ten when searching "hypo alacrity" then make sure that term is on one or more of your pages and add content talking about it.
Be wary of companies that "guarantee" a top ten placement as well, as we have found that most of them frankly don't know what they are doing and end up creating a bad situation for you, on top of charging awful amounts of money to boot.
There are many intricacies involved, particularly when shooting for top listings in heavily contested markets, however if you want to help yourself right now, without spending any money, put relevant content on your site.
Remember, content is king!