What a website contract needs: 7 things to check
A website contract feels like a formality until a dispute starts: “that wasn't included”, “we agreed differently”, “whose domain is it”. Here are seven things worth finding in the text before you sign.

Scope of work
There should be a list: how many pages, which features (form, payment, booking), what is needed from you. The phrase “website development” with no scope guarantees nothing.
In my contracts the scope is fixed in the specification, and anything beyond it is paid separately and only with your consent.
Price and what it does not include
The total and the currency should be written in figures. What is paid outside the price should be listed separately: domain, hosting, third-party services, advertising.
The price should not change without your consent, even if the project turns out harder than it looked.
Timeline and what it counts from
Check when the clock starts: at signing, at the prepayment or when materials arrive. That can be a week or two of difference.
In my contracts the timeline counts from the prepayment and receipt of all materials. A delay on your side extends it by the same days, which is fair to both sides.
Payment and refund terms
The stages, amounts and refund terms must be in the text. Typically it is 50% at the start and 50% before launch.
Check what happens if you cancel right away and if you cancel later: what is returned and what covers work already done.
Design preview and revisions
It should say that the design is approved before development starts and how many rounds of edits are included. Edits to a design are quick; edits to finished code are slow and expensive.
It also helps to define what counts as an edit and what counts as a new request.
Warranty after launch
Look for the period and the limits: how many days bugs are fixed for free and what is not covered.
In my contracts it is 30 days of free fixes for bugs and deviations from the agreed functionality. New requests are not included and are discussed separately.
Rights to the domain and your data
The domain should be registered to you, not to the contractor. Ask who it is registered to and when.
In my contracts the domain is registered to you after full payment. Your texts, photos and prices are never shown or reused in other projects, and that is worth seeing in the contract too.
If something is missing
Ask for it to be added before signing. A decent contractor will do it without arguments, and if they refuse, that is also an answer.
Need a website for your business?
Tell me about the task and I'll suggest a solution and name the price.