Why contracts matter
A clear contract protects both you and your developer. It sets expectations, prevents disputes, and makes sure everyone knows what they are getting.
For more on working with developers, see working with web developers: what to expect.
What to include
1) Scope of work
Clearly define what is included and what is not.
- Pages included: How many pages, what types (homepage, services, about, etc.).
- Features included: Forms, e-commerce, booking systems, integrations.
- Design work: How many design rounds, revisions included.
- Content: Who provides content, what is included (copywriting, images, etc.).
- What is not included: Be clear about what is extra (e.g. ongoing support, extra pages, additional features).
2) Timeline and milestones
Set clear deadlines and milestones.
- Project start date: When work begins.
- Key milestones: Design approval, content delivery, development completion, launch.
- Launch date: Expected launch date (with understanding that delays can happen).
- Dependencies: What needs to happen before each milestone (e.g. content delivery before development).
For more on timelines, see website project timelines: what to expect.
3) Payment terms
Clear payment terms prevent disputes.
- Total cost: Fixed price or hourly rate, total project cost.
- Payment schedule: When payments are due (e.g. 50% upfront, 50% on completion).
- Extra work: How extra work is billed (hourly rate, fixed price per item).
- Payment method: How to pay (bank transfer, invoice terms).
4) Ownership and intellectual property
Clarify who owns what.
- Code ownership: Who owns the code? You should own the code for your site.
- Design ownership: Who owns the design? Usually you own the design for your site.
- Content ownership: You own your content, but check about developer-created content.
- Third-party assets: Who owns fonts, images, or other assets used?
- Portfolio use: Can the developer use your site in their portfolio? Usually yes, but confirm.
For more on ownership, see website ownership and intellectual property: what you need to know.
5) Revisions and changes
Define how revisions and changes are handled.
- Revisions included: How many rounds of revisions are included in the price.
- Change process: How to request changes, how they are approved and billed.
- Scope changes: What happens if you want to add features or pages mid-project.
6) Deliverables
List what you will receive.
- Final website: Live site, access to hosting and CMS.
- Documentation: User guides, technical documentation, handover notes.
- Assets: Design files, source code, images, fonts (if applicable).
- Training: Training sessions or documentation for using the site.
For more on handover, see handing over your website: what to document and train.
7) Support and maintenance
Define what support is included and what happens after launch.
- Post-launch support: How long after launch is support included (e.g. 30 days for bug fixes).
- Bug fixes: What is considered a bug vs. a new feature.
- Ongoing maintenance: Is ongoing maintenance included or separate?
8) Termination clause
What happens if the project is cancelled?
- Termination rights: Can either party terminate? Under what conditions?
- Payment on termination: What is owed if the project is cancelled partway through.
- Work completed: Who owns work completed if the project is cancelled.
What to avoid
1) Vague language
Avoid unclear terms that could be interpreted differently.
- Not "reasonable revisions": Define how many revisions are included.
- Not "as needed": Be specific about what is included.
- Not "similar to": Define deliverables clearly, not by comparison.
2) Unfair terms
Watch for terms that are unfair to you.
- No ownership: You should own your website and code.
- Excessive cancellation fees: Cancellation fees should be reasonable.
- Hidden costs: All costs should be clear upfront.
- Unlimited revisions: Unlimited revisions can lead to scope creep - set limits.
3) Missing key terms
Make sure important terms are not missing.
- No timeline: Contracts should include expected timeline and milestones.
- No payment terms: Payment schedule should be clear.
- No ownership clause: Ownership should be explicitly stated.
- No termination clause: What happens if things go wrong should be defined.
Getting legal advice
For large projects or complex contracts, consider getting legal advice.
- Complex projects: If the project is large or complex, legal review can help.
- Unusual terms: If terms seem unusual or unfair, get advice.
- High value: For high-value projects, legal review is worth the cost.
Summary
Include: scope of work, timeline and milestones, payment terms, ownership and IP, revisions and changes, deliverables, support and maintenance, termination clause.
Avoid: vague language, unfair terms, missing key terms.
For more on working with developers, see working with web developers: what to expect and ten things to check before you hire a web developer. For more on project management, see managing website projects: timelines, milestones, and communication. You can also get in touch to discuss your project.