The first thing you need to ask yourself is "What am I selling?" Are you selling HTML/CSS/JS/PHP/MySQL? If so, then figure out how much you want to make per hour and multiply that times the number of hours you estimate the job will take.
On the other hand, if you believe you're in the business of producing results, then figure out how much it's worth to your client to produce that result. It's still only math, but using a different set of figures.
Let me use an actual scenario. I was once approached by someone who made a variety of custom spices and wanted an e-commerce website and SEO. Let's pretend his average sale is $16, that there are 45,000 searches/month for his keywords, and I quoted him $5,500 (just making up some random figures here). I would present it to him like so:
"If I can get just 1 percent of those people to your site, and 10 percent of that traffic converts to a sale, that's $720/month. That means you'll see a return on your investment in just over 7 months."
I'm not guaranteeing a certain amount of sales per month, but I'm painting a picture of what's possible, especially if we can get top search ranking.
You see, price outside of the context of return value is completely meaningless. Suppose you presented it to him like this instead:
"Well, Mr. Prospect, it's going to take me 110 hours to build your site and optimize it for the search engines. At my standard rate of $50/hour, that means the price will be $5,500."
Scenario #2 focuses on what he's going to have to give. But scenario #1 is about what he'll get.
Hope that helps.