Pricing can be a tricky subject for a web developer or programmer. If the website is straight forward and has the usual pages and functionality then the chances are you have already worked on a similar project previously or have a template design that you can easily price. The issue comes when the website needs to be bespoke and has a number of complicated functions that will have to be written in from scratch. It can be tricky to know exactly how long it is going to take to complete the job so pricing can become complex.
You need to try and establish how many man hours of work you think there is going to be to get the job done. It is always advisable to slightly over estimate or put in a contingency budget in case you have under estimated. You can even say to your client that you will knock a certain amount off if you can get the job done quicker than you had priced for.
Do not start any work until you have agreed a price and have a detailed specification showing what is going to be included in the price you have quoted, this can save a lot of time and arguments later on down the line should the spec start to change.