There are basically two types of SEO outfits. There are the "chop shops" of the world offering dated solutions like link building, etc and charging a monthly fee for supposed maintenance. Then there are credible experts who understand that the overall experience of the web assets is what catapults KPI's. One of the most important factors that's widely overlooked is technical compliance which experts adhere to and follow closer than a CPA follows tax law changes. Having said all that, ultimately, you get what you pay for. A proper outfit will charge you an appropriate fee to get your assets optimized. They will rarely charge you for monthly "maintenance" and instead may offer additional experiential suggestions for the brand. My final bit of advice is budgeting for this service so that you're not stuck learning and guessing trying to reinvent the wheel. Many try and eventually hire an expert.
The best way to do SEO without paying someone else is to teach yourself how to do the basics. FIrst, you should read several resources about SEO such as: http://moz.com/beginners-guide-to-seo Then, you should use a few free tools such as http://marketing.grader.com/ and http://raventools.com/ (Free for 30 Days) to audit your existing site. Then, implement everything you learned and fix everything the tools say is broken. Keep working at it until you rank #1 or aren't sure what else you have left to do.
Ultimately, you get what you pay for with SEO. You can certainly teach yourself the basics, but if you want to compete in a competitive market then hiring a real expert may be worthwhile once you've done what you can on your own.
SEO is very time consuming that is why good SEO companies charge a lot per month. If you are willing to save money and put time into SEO you have two options:
1- Do it Yourself - A lot of material available online
2- Get SEO consulting services - These are individuals or companies that will analyze your site and keywords and provide you with a detailed report on what is missing to rank better but the bulk of the work is done by you.
I recommend number 2 and I might be biased because I offer SEO consulting services but that is an affordable and faster way to get on the right track.
Don't accept such a fee on a per month basis. Accept on a contract basis.
You should have them audit your site, and based on that audit, you can decide to go further with that person. This audit should include an additional plan on how they would help you. You also need to come into agreement on specific campaigns to focus on each month (depending on how long your contract goes for.)
You definitely should have a decent budget in mind. You If you plan on having someone work on SEO each month, you certainly will want to make sure that they deliver a report of what they have done, and a short report on the next month's on how things have improved or not.
Of course, if that $2500 is a fee per month that you are paying and nothing is improving after a few months (2-3), perhaps finding someone that can deliver results after a couple months would be best.
It wouldn't hurt to become more familiar with SEO basics and run your own short reports 1-2 times at least a month at places like Moz.com.
You can learn from a book or the web. It request a basic understanding of HTML.
We have a service where train our clients to do their own SEO. We send them page briefings on how to optimize pages and they get unlimited Q&A til those first 5 are done for a flat rate. Then we assist them there after in 10 hour blocks so you get trained by us as you do it.
You can learn a ton for free from Neil Patel if you have the time to implement his advice. I'd recommend reading some of the articles on his site and putting them into practice: http://www.quicksprout.com
You can also subscribe to his email courses and ask specific questions in his recently released Traffic and Conversion Forum: http://www.quicksprout.com/2013/09/03/introducing-the-traffic-and-conversion-forum-by-quick-sprout/
I don't work for Neil or have any affiliation - I've just been impressed with his credentials and found his advice to be incredibly valuable.
If you can't afford the 2500 a month, you should probably take SEO off your priority list. Done right requires building and nurturing relationships long term with bloggers, webmasters, journalists, associations, etc... so you have effective distribution whenever you create content that can't be found elsewhere... That investment is more like $5k/month for 18 months to see breakthrough results...
Depending on your CMS, your site is probably 90% technically optimized, and there are a million cheat sheets for onsite best practices, but if you really can't afford it...
Focus all your money and energy on improving your user experience. This will not only squeeze more value out of your existing traffic, but will also help your SEO long term.