The Key To SEO: Use Your Main Terms In Your Domain Name
I have found that the best thing you can do to rank well in SEO is to have your key terms in your domain name. If your current domain name is not already keyword based, you can simply register one or more new domain names for about $8 per year and then have them point to a sub directory on your existing web host account. On these new pages, have plenty of useful content that then links to your main site. You also want to have your page title key word based.
As an example, take a look at the very broad term - home based jobs. If you do a Google search and don't use the quotation marks, you will find more than 500 million search results. Take a look at the top two results pages and look at the domain names and the page titles. If you go to Page 2, you will see one of my own sites in the rankings - HotHomeBasedJobs.com. Note that I have the keywords in the domain name and in the page title.
If you focus on something this simple, you can get your site to the top of the rankings (OK, no more than 30 can be in the top 3 search results pages). There is no need to spend a fortune on consultants and services if you just follow the basics! I did mine myself, and had done the same for other business sites of mine.