There is more than one way to bill clients for creating websites. Many freelancers view it as a product, and thus charge a flat rate for what they believe the full value of their time + expertise is worth. Hourly billing for creating a new website is probably less common. I work both ways, but prefer to work under a flat rate for new websites so that both parties understand the full scope of work and what's included. I find it's particularly important for difficult clients. For more long-term clients with whom I already have a longstanding relationship, I'm more likely to charge hourly because they won't be surprised by their monthly invoice.
Also important is a contract specifying your hourly rate in case there are additions beyond the initial scope of work.
For example, my website project contracts include:
- What platform I'm building on & what theme/template I'm using
- How many pages are included & what they are
- What features the site will have (calendar, forms, e-commerce, etc)
- How many designs & design revisions they'll get (ie your prototypes or wireframes and live dev sites)
- How much meeting time is included
- How much post-launch support and training time is included
- My hourly rate for anything beyond the scope outlined in the contract, including changes to an approved design, extra content, more meeting time, etc.
On a current project, the client has requested several items not in the contract. I reminded them that those items would be billed at the hourly rate and added to the final invoice.
And finally, one big benefit to a flat rate is that you can get 50% as a deposit, so you don't end up working for nothing if they ghost without paying.