In website development and programming market the most important thing is your communication with the customer. Generally if a customer is giving a bad feedback about your work, it is related to the communication problems. Sometimes a customer may not explain what he/she needs, or they may think that it is already included in the pack you are offering. So defining what is required by customer is an important step in freelance web development process.
Here you can find a sample checklist to be filld by customer before starting work. You may want them to fill this so that you will not be overworking or customer gets what they want.
By using these kind of sheets it is better to define what is deserved by the customer with their order. They may want just repair, it may be only about some fix, it may a fully customizable website, it may be a wordpress website. Whatever it is you need to clearly define.
Simply a website development requires 2 steps design and programming. After defining what will be done with the website you need to send 1st draft of the design. It is a mock up site that does not do anything when buttons are clicked but it shows only what it will be loook like from outside. At the presentation of the 1st draft you need to clearly define that there will be no change after 2nd draft.
After getting feedbacks for 1st draft and doing necessary changes for 1st draft, you can present new design as a 2nd draft. Here, although you defined that this is the last design, you can do changes according to customer comments since you need to satisfy them, but don’t go on with lots of revisions since this may be a never ending process for some customers.
Then you need to get 1st payment which may be half since you did so much on the designer side. After 1st payment you can continue with programming, getting functionality to the site. But don’t work free for customer at this point they may want you to go on without paying.
After fulfilling all functionality you can present the fully working website as a demo to cutomer and get the payment and send the codes (or install it if they pay for that too.)
Always offer side works of you like maintenance. Don’t forget to offer or prepare maintenance and development packs of you so that you may get extra income.
Good luck!