I highly recommend working for free for 1-2 months.
I've been in SEO for the last 4 years. I do in-house enterprise stuff now, but I had started a consulting gig for a little while a few years ago. I spent 1 month telling everyone and anyone that I was doing free SEO consulting in exchange for a great testimonial (read: Yelp review). Got 8 or 9 free clients. Two insisted on paying me after the work was done, and the rest wrote me fantastic testimonials and sent me referrals for months. Afterwards, your testimonials and Yelp reviews will be the catalyst for more business in the future. My 2 c's.
Please don't work for free. Offer an awesome discount or accept something instead of money (a computer, a telephone, anything), but don't offer your services for free. Establish, from the very beginning, that your services are valuable.
Remember this above all else:you do not want clients who are persuaded to take you on because you're cheap. You want clients who are persuaded to take you because you're good. If you're good, there are lots of ways to show it besides doing free work. If you're not good, don't do consulting.
I'll offer one exception to the "don't work for free" rule: valuable pro-bono.
If you pick your charity well, you'll get kudos from it, and exposure to useful decision makers. Many charities have boards made up of well-off or powerful decision makers in other places that are willing to spend money in their day-jobs, but like you are working pro-bono for the charity.
If you circulate with these people, and deliver a high-quality product, you get the benefit of exposure to the right sort of future customers, the benefit of kudos for pro-bono (in the face of people who are also pro-bono and so value your input as much as they value their own), and you don't have the problem of your product being undervalued, because it's for a charitable good, not a discount for someone who should actually be paying for it.
Free is not good but it's actually better than cheap. As long as you are accepting a client's money, they are going to have expectations and a lot more things can go wrong. Free at least frees you from those expectations.
In my experience people have all kinds of expectations, regardless of wether you charge them or not. And billing shows them your time is as valuable as theirs. On the other hand, if you offer your time for free, people will tend to load you with as much work as possible because, hey, you're free; and you have no way to leverage how much you're willing to do.
I figure with free, you've always got the opportunity to say "Hey, that's as much as I can afford to do for free" in response to unreasonable requests. With cheap, you then have to deal with the added "but I paid you money" argument as well. I'm sure it differs on how the job is presented and how you outline your responsibilities as well.
I've been in SEO for the last 4 years. I do in-house enterprise stuff now, but I had started a consulting gig for a little while a few years ago. I spent 1 month telling everyone and anyone that I was doing free SEO consulting in exchange for a great testimonial (read: Yelp review). Got 8 or 9 free clients. Two insisted on paying me after the work was done, and the rest wrote me fantastic testimonials and sent me referrals for months. Afterwards, your testimonials and Yelp reviews will be the catalyst for more business in the future. My 2 c's.