Most people read a web design proposal closely and skim the contract attached to it. That is backwards. The proposal describes the project going well. The contract describes what happens when content is late, when a fourth stakeholder appears in week nine, or when the relationship ends early. We write these agreements from the agency side, and some standard clauses exist because agencies get burned. Others exist because clients do not read. This covers the ones worth arguing about.
Before signing a web design contract, check who owns the custom code and design source files, what triggers each payment, how a revision round is defined, how scope changes get approved, whose name the domain sits in, what handover includes, and whether either party can terminate with notice.
Why does the contract matter more than the proposal?
The proposal is a sales document. It describes the good version of the project, the one where content arrives on time and everybody likes the second design concept. The contract describes what happens when that does not occur. Since most projects deviate somewhere, the contract is the document that actually governs your experience.
We write these agreements from the agency side, so read the rest of this with that in mind. Plenty of standard clauses exist because agencies have been burned by clients who vanished for six weeks and then demanded a launch date. But plenty of others exist purely because clients do not read carefully, and those are the ones worth pushing back on.
Two rules before anything else. First, a contract that cannot survive a direct question about it is not a contract you want. Ask "what happens if we want to leave in month two" and watch how the answer is given. Second, verbal reassurance is worth nothing. If the account director says of course you own the files, that sentence belongs in the document, not in your memory of a call.
Who owns the code and the design files?
This is the clause most small businesses get wrong, because ownership sounds binary and it is not. There are usually three separate buckets: the custom work created for you, the agency's pre-existing frameworks and components, and third party licensed assets like fonts, plugins, stock photography and themes.
You should own the custom work outright on final payment. That is standard and any agency resisting it is signalling something. The agency's reusable internal framework is different. Most agencies grant a perpetual licence to use it within your site rather than transferring ownership, and that is reasonable, since they use the same base across many clients. What is not reasonable is a licence that terminates if you stop paying a monthly retainer, because that makes your website hostage to a support contract.
Design files are where agencies quietly hold ground. A contract that transfers "the final website" says nothing about the layered source files. Ask explicitly for the working design files, the source repository with full history, and any custom typefaces or their licence details. Get the words "including all source files" into the deliverables list.
Third party assets almost never transfer, and that is fine, but you need the list. Which fonts are licensed to whom, which plugins are on the agency's developer account, which stock images have usage limits. Sites break at renewal time because nobody documented that the slider plugin was on the agency's licence key.
Add one sentence to any contract you sign: "On final payment, Client receives all source files, repository access with commit history, and a written list of every third party licence used in the deliverables, including who holds each licence." It is hard to argue against and it prevents most handover disputes before they start.
What do the payment and revision clauses really say?
Payment schedules across the US small business market usually land somewhere between a 40 to 50 percent deposit with the balance on launch, or thirds tied to kickoff, design approval and launch. Both are normal. What matters is what each milestone is tied to.
Watch for milestones tied to dates rather than deliverables. "Second payment due 30 days after kickoff" means you pay on schedule even if the agency has produced nothing, which removes their incentive to keep pace. Tie money to accepted work instead. Watch also for a final payment due before handover of files or hosting credentials, which is common and defensible, but should come with a defined handover window rather than an open promise.
Revisions are the other trap. "Two rounds of revisions" sounds generous until you learn what counts as a round. If every email with a note becomes a round, you will exhaust them in week one. A workable clause defines a round as a consolidated set of feedback from the client delivered within a stated window, and states what happens after the included rounds are used, usually hourly at a named rate. An hourly overage rate you can see is far better than an undefined one you will negotiate under pressure.
How should scope changes be handled?
Every project changes. The question is whether the mechanism is predictable. A good change clause has four parts and takes about a paragraph.
- A definition of what constitutes a change, usually anything outside the written scope and deliverables list.
- A requirement that the agency estimate cost and schedule impact in writing before work starts.
- Client approval in writing before the change is built. No approval, no work, no invoice.
- An explicit statement of how the change affects the launch date, because change orders that quietly consume the timeline cause more arguments than the money does.
The mirror image also matters. Contracts should state what happens when the client causes delay, because that is the more common failure. If content is 40 days late, the agency has reassigned the team and your project rejoins a queue. Reasonable contracts say so. Watch for clauses that let the agency invoice remaining balances in full after a fixed period of client inactivity, sometimes as short as 14 days. Push that to something realistic, and add a clause requiring written notice before the clock starts.
What separates a good clause from a bad one?
Here is the comparison we would run on any web design contract before signing.
| Clause | Good version | Version that favours the agency |
|---|---|---|
| IP ownership | Custom work transfers on final payment, source files included, perpetual licence to agency framework | Ownership transfers only while a support retainer is active |
| Design files | Working files and repository with history delivered at handover | Deliverables listed as "the completed website" with no mention of sources |
| Payment | Milestones tied to accepted deliverables, net 14 or 30 stated | Milestones tied to calendar dates regardless of progress |
| Revisions | Round defined as consolidated feedback, overage at a named hourly rate | "Two rounds" undefined, with rate to be agreed later |
| Scope change | Written estimate, written approval, stated schedule impact | Agency may invoice for out of scope work at its discretion |
| Client delay | Notice required, project requeued, realistic dormancy period | Full balance due after 14 days of inactivity, no notice |
| Hosting | Accounts in client name, agency holds delegated access | Domain and hosting registered to the agency |
| Warranty | 30 to 90 days of bug fixes at no cost, defect defined | No warranty period, all post launch work billable |
| Termination | Either party, written notice, payment for work completed, files released | Client may not terminate for convenience, deposit non refundable in all cases |
| Portfolio rights | Agency may show the work publicly after launch | Agency may use your name, logo and metrics without approval |
None of the right hand column is illegal or unusual. Some of it is standard in template contracts bought off the shelf and never revisited. The point is that you can ask for changes, and the response tells you a great deal about the relationship you are entering.
What about hosting, domains and handover?
Register your own domain, in your own company name, on your own account. This is the single most common avoidable disaster in small business web projects. If the agency registers it and the relationship ends badly, or the agency simply goes quiet, recovering a domain can take weeks. Give the agency delegated access instead.
Hosting is more flexible. Agency managed hosting is often genuinely better than what you would buy yourself, and paying a monthly fee for it is fine. What you need in the contract is an exit path: on termination, the agency provides a complete site export, database dump and any environment configuration within a stated number of business days. Without that clause, "we will help you migrate" is a favour, not an obligation.
Handover should be a defined deliverable rather than an afterthought. At minimum: admin credentials, source repository, hosting and DNS access, analytics and tag manager ownership transferred to your accounts, licence list, and a short training session or recording. Get that list into the contract. Agencies that build proper website design and development engagements expect to be asked for it.
Before signing, write down the answer to one question: if this agency stopped responding tomorrow, what would I need to keep my site running and hand it to someone else? Every item on that list should be named in the contract. If any of them is not, that is your redline, and it is a reasonable one to hold.
How do exit terms and warranties usually work?
Termination for convenience is the clause you hope never to use and should insist on anyway. A fair version lets either party end the agreement with written notice, typically 14 to 30 days, with payment due for work completed and accepted to that date and delivery of everything produced so far. Deposits are usually non refundable, which is defensible, since the agency reserved time.
Warranty periods vary widely. Somewhere between 30 and 90 days of free bug fixing after launch is common in the US market. What matters is the definition of a bug. A tight clause distinguishes defects, meaning the site does not do what the approved scope said it would, from enhancements, meaning you have thought of something new. Without that line, warranty conversations become arguments about intent.
Also read the liability cap. Most agencies cap liability at fees paid, which is standard practice across services. If your site handles payments, customer data or bookings that carry real financial exposure, discuss it rather than assuming the cap is negotiable in a crisis. And check what the contract says about ongoing work: whether post launch support, paid media or conversion work falls under the same agreement or requires a separate one. Mixing a fixed price build with an open ended retainer in a single document rarely serves either side well.
Frequently asked questions
Do I automatically own the website after paying for it?
No. Ownership transfers only if the contract says so. Without a written assignment, the agency generally retains rights in what it created, even after you have paid in full. Ask for custom work to transfer on final payment, plus a perpetual licence to any reusable framework the agency contributed. Third party fonts and plugins stay licensed, not owned, so get the list.
Is a 50 percent deposit normal for a web design contract?
Yes. Deposits of 40 to 50 percent are common, as are thirds tied to kickoff, design approval and launch. The percentage matters less than what triggers each payment. Milestones tied to accepted deliverables keep incentives aligned. Milestones tied to calendar dates mean you pay on schedule whether or not work has progressed, which is the version to push back on.
What counts as one round of revisions?
Whatever the contract defines it as, which is exactly why it should define it. A workable version is one consolidated set of client feedback delivered inside a stated window. If every separate email counts, two rounds disappear before design is finished. Also insist the contract names the hourly rate for additional rounds, so you are not negotiating it under deadline pressure.
Should the agency register my domain name?
No. Register it yourself, in your company name, on an account you control, then grant the agency delegated access. Domain recovery from an unresponsive former agency can take weeks and sometimes fails. Hosting is more flexible, since agency managed hosting is often better than what you would buy alone, but the contract must include an export and migration obligation on exit.
What should the handover include?
Admin credentials, source repository with commit history, hosting and DNS access, analytics and tag manager ownership moved to your accounts, a written list of third party licences with the holder named, and either a training session or a recording. Put the list in the contract as a deliverable. Handover treated as a courtesy after final payment tends to arrive slowly and incomplete.
Can I cancel a web design contract partway through?
Usually yes, provided the contract includes termination for convenience. A fair clause lets either side exit with written notice, commonly 14 to 30 days, with payment due for completed and accepted work and delivery of what has been produced. Deposits are normally non refundable, which is reasonable. What is not reasonable is a clause that lets only the agency terminate.
The takeaway
A contract you can question openly is usually a contract worth signing. Ask what happens if you leave in month two, who holds the plugin licences, and what a revision round means in practice. The answers, and the tone they come in, tell you more about the next four months than any portfolio does. Get the important ones written down, because a reassuring phone call is not enforceable.