← All insights
September 30, 2026·General·4 min read

What Actually Belongs in a Website Contract

Most website disputes are not caused by bad faith. They are caused by two people having different assumptions about the same sentence, discovered three months in when one of them asks for something the other did not price. A contract’s real job is not legal protection. It is making both parties discover their disagreements before the work starts rather than during it.

Here is what should be written down, and what each clause is actually preventing.

Most of the value of a website contract is created before anyone signs it, in the conversation required to write it down clearly.

Primo Collab

Worth stating plainly: this is practical guidance from building websites, not legal advice. For anything with significant money or risk attached, have a lawyer review it.

Scope, in specifics

“A five page website” is not a scope. It is a number that both parties will interpret differently.

A usable scope states:

  • How many pages, and which ones. Named, not counted.
  • How many unique page templates. Ten pages using two templates is a very different job from ten bespoke layouts, and this is where the largest misunderstandings happen.
  • What functionality is included. Contact form, booking, ecommerce, member area, search, integrations, each named explicitly.
  • What is explicitly not included. The most valuable section and the one most often omitted.

Who provides the content

This single clause causes more delays than any other issue in web projects.

State plainly who writes the copy, who supplies images, who sources them, and what the deadline is. Then state what happens if content arrives late, because it usually does. Does the timeline shift? Does the project pause? Is there a point at which the developer proceeds with placeholder content and the client accepts it?

A project that stalls for two months waiting on client copy is not a schedule problem. It is a clause nobody wrote.

Which website contract clauses prevent which disputes

Revisions, with a countable limit

“Reasonable revisions” means whatever each party wants it to mean. A workable clause specifies:

  • How many rounds are included, at which stages.
  • What counts as a revision versus a scope change. Changing a headline is a revision. Adding a new section is not.
  • What additional rounds cost.

The point is not to restrict the client. It is that unlimited implied revisions eventually make the developer defensive about every change, which is worse for everyone than a clear number and a rate.

Timeline with dependencies stated

A completion date that assumes the client responds within two days, and does not say so, is a date that will be missed and blamed on the developer.

State the target timeline, the client’s response windows it depends on, and how delays on either side affect the schedule.

Payment terms

  • Deposit amount and when it is due.
  • Milestones and what triggers each payment.
  • Final payment terms, and specifically whether it is due at launch or after a review period.
  • What happens if payment is late.

The launch question matters. “Due on launch” and “due 30 days after launch” describe very different cash flow situations.

Ownership and access

The clause most often skipped, and the one that matters most after the project ends.

  • Who owns the design files, the code, and the content on completion.
  • What transfers on final payment.
  • Confirmation that the client receives full administrative access to hosting, domain, CMS, and any third party accounts.
  • What licensed third party assets are included, and what the client is responsible for renewing.

If a project ends and the client does not fully control what the site runs on, they do not really own the asset they paid for.

What happens after launch

The gap between “the site is live” and “the relationship is defined” is where a lot of friction lives.

Ending the agreement early

Nobody wants to discuss this at the start, which is exactly why it should be written when everyone is optimistic rather than negotiated when they are not.

  • How either party can end the agreement.
  • What is owed for work completed.
  • What the client receives if the project ends partway through.

The clause checklist

ClausePrevents
Detailed scope with exclusionsScope creep and mismatched expectations
Content responsibility and deadlinesIndefinite project stalls
Countable revision roundsEndless unbilled iteration
Timeline with dependenciesDelay blame disputes
Payment milestonesCash flow and non-payment issues
Ownership and access transferClient not controlling their own site
Post-launch termsAmbiguity about what support is included
Termination termsMessy, expensive endings

The mistake to avoid

Skipping the contract because the project is small or the relationship is friendly. Small projects and friendly relationships are exactly where assumptions go unstated, and a friendly relationship is the thing most damaged when the disagreement finally surfaces. A clear two page agreement protects the working relationship better than a handshake does, because it means neither person has to guess what the other assumed.

Tell us what you're building.

We keep it small and hands-on. You're talking directly with the people building your site, not a sales rep.

See what clients say