We have been doing some SEO at my company for some time, with reasonable results. And being a decent size company, we get pitches from lots of vendors who want us to spend a lot of money with them to outsource our SEO. There are also companies, like HubSpot Online Marketing, that are building tools to make SEO just part of how you build and manage your website. But most of the pitches we get are from companies that are SEO "experts" who have "figured out" Google and other engine's ranking algorithms. Many of these "expert" companies that want our business try to tell me that SEO cannot be done in house and only very technical experts can do it effectively. While there might be some benefits that these experts bring to the table, to me the extra cost they ask for is not justified. So, when I saw this article Search Engine Optimization (SEO) is Not Rocket Science I really enjoyed it. We actually do outsource it to a small company right now, but not because we could not do it ourselves, mostly because it is easier and more flexible to outsource than have an employee do it. Sort of like hiring someone to mow your lawn. We could do it, we just want to spend our time on other things. For those of you looking for some insights on how to do some SEO on your own, you should check out this article Improving your Organic Position on Google: A How-To Guide For Small Business.