Website maintenance contract template: what to include, clause by clause
A website maintenance contract has one job: make sure you and the client mean the same thing by “maintenance.” Most disputes on monthly plans aren't about money. They're about a request one side thought was included and the other didn't.
The short answer
A workable website maintenance contract covers ten things:
- Services and exclusions, including what counts as content work the client does themselves.
- Term, renewal and a usage review before each renewal.
- Hours: the monthly bank, rollover and overage, with the numbers written down.
- Response times by severity, and whether you answer outside business hours.
- Fees and payment: monthly, in advance, with a yearly price adjustment.
- Client responsibilities: access, one decision-maker, their own content.
- Termination: notice period, and what happens to unused hours.
- Ownership and access: the client owns the site, code and accounts.
- Confidentiality, especially for credentials.
- Warranties and a liability cap.
Not legal advice. The clause wording below is a general starting point written for US-style agreements. Contract law differs between states and countries, including rules on automatic renewal, late fees and liability caps. Have a lawyer licensed where your business is registered review your agreement before you use it. Highlighted text is for you to fill in.
The excerpts come from the Retainer Agreement Template in The Retainer Kit. They assume a plan sold as a monthly bank of developer hours. If you sell a flat “updates and backups” plan, skip the hour-bank clause; the rest still applies.
1. Services and exclusions
This is the clause that prevents most arguments, so be specific. List what you do in plain categories, then list what you don't. The exclusion that matters most is day-to-day content work: publishing posts, swapping images, editing prices. If that stays vague, your hours drain into content entry while the real work waits.
1.3Excluded services. Unless separately agreed in writing, the Services do not include: (a) day-to-day content management system (“CMS”) operations, including publishing or editing content, images, products, prices, or pages built from existing templates; (b) copywriting, content creation, photography, advertising management, or marketing strategy; (c) third-party software, licenses, advertising spend, or service fees; (d) work that constitutes a new project, such as a redesign or a migration to a different platform. Provider may perform excluded work at Client's request, deducted from the Hour Bank or billed at the Overage Rate, after informing Client of the estimated hours.
Note the last sentence. Exclusions shouldn't mean “no.” They mean “yes, and it uses hours.” Pair the contract with a one-page scope matrix (what's included, what's excluded, what's included on request) and repeat the scope in the proposal. Clients read proposals and skim contracts.
2. Term, renewal and usage review
A 3- or 6-month initial term is long enough to get past first-month cleanup and short enough that nobody feels locked in. Renew for the same period unless either side gives 30 days' notice. The part most templates miss is the usage review: before each renewal, compare the hours actually used with the plan and adjust it. Written into the contract, it happens as routine instead of as a negotiation.
2.3Usage review. At least thirty (30) days before the end of the Initial Term and of each Renewal Term, Provider will send Client a summary of hours used during the term. The parties will review it and may adjust the Monthly Hours and Monthly Fee for the next term by written agreement (email is sufficient). If no adjustment is agreed, the current plan continues.
3. Hour bank, rollover and overage
If the plan is sold in hours, the contract needs four numbers: hours per month, time-tracking increment, how long unused hours last, and the rate for hours beyond the balance. Leave any of them out and you'll negotiate it later, at a worse moment.
- Rollover: up to 3 months (the month the hours were added plus the two after), oldest hours used first. Rollover removes the “use it or lose it” complaint. The expiry caps how much work you can owe at once.
- Overage: 1.25x the package rate is a common default; 1.5x if your capacity is tight. Bill it on the next invoice, and warn the client before it happens.
3.3Rollover. Unused hours roll over for up to three (3) months: they may be used in the month in which they were added and in the two (2) following months. Hours are consumed oldest first. Hours not used within that period expire without refund or credit. Rolled-over hours have no cash value.
3.4Overage. Hours used in a month beyond the available balance (including rolled-over hours) are billed at the Overage Rate stated in Schedule A, equal to 1.25 or 1.5 times the effective hourly rate, on the next invoice.
3.5Estimates and approval. For any single request estimated to exceed NUMBER hours, or that would result in overage, Provider will send an estimate and will begin only after Client's written approval (email is sufficient).
Not sure what hourly rate to put behind these numbers? See how to price website maintenance retainers, or run your own costs through the free retainer pricing calculator.
4. Response times by severity
“We respond within 24 hours” is too slow for an outage and too expensive for a typo. Define three or four severity levels, attach a response time to each, and say that you classify severity in good faith. Then make one explicit decision: do you answer critical issues at night and on weekends?
If you work alone, the safer default is next business day for anything reported after hours, with after-hours critical response sold as a paid add-on or included only in your top plan. Promise response, not resolution: some outages are the host's fault.
| Severity | Definition | Response |
|---|---|---|
| Critical | Site unavailable; checkout or primary forms not working; tracking not working during a live paid campaign; active security incident; data loss | Within 2–4 business hours; reports outside business hours handled from the start of the next business day |
| High | Significant feature broken while the site remains available | Within 1 business day |
| Normal | Non-critical defects, small adjustments, CMS requests | Completed within 4–5 business days |
| Planned | Campaign pages, new features, larger changes | Per agreed schedule |
4.2“Response” means Provider has acknowledged the issue and begun work. Resolution times depend on the nature of the issue and on third parties and are not guaranteed.
5. Fees and payment
Bill monthly, in advance, and state that the fee is due whether or not hours are used (that's what rollover is for). Itemize hosting separately from hours so the client can see they pay for a server, not for your time. Add the yearly price adjustment on day one, tied to CPI or a fixed 3–5%, so the increase is a scheduled event rather than an awkward email.
5.1Monthly Fee. Client will pay AMOUNT per month, plus any add-ons selected in Schedule A, invoiced in advance on the 1st of each month. The Monthly Fee is due regardless of hours used.
5.5Price adjustment. On each anniversary of the Effective Date, the Monthly Fee, effective hourly rate and Overage Rate will increase by the change in CPI-U over the preceding twelve months, or a fixed percentage. Provider will notify Client at least thirty (30) days before the adjustment.
6. Client responsibilities
The access you need (hosting, repository, CMS, DNS, analytics, tag manager, CRM), one named person who approves requests, and responsibility for their own content and for changes their other vendors make. The single approver matters most: without one, you get conflicting requests from three people.
7. Termination
Let the client leave with 30 days' notice, at the end of a term or in the middle of one, and charge nothing beyond the notice period. A client who wants out and can't get out is a bad reference and a worse client. If you have a specific reason for an early-termination fee (for example, you discounted onboarding against a 6-month commitment), add it as a separate, clearly optional clause the client agrees to.
7.2Termination during a term. Either party may terminate this Agreement at any time, including during the Initial Term, by giving thirty (30) days' written notice. No early-termination fee and no payment for the remaining months of the term are due. Client pays only the fees for the notice period and any overage incurred.
7.5On termination: (a) Client pays all fees through the effective termination date and any overage incurred; (b) unused hours may be used until the termination date and then expire, with no refund or credit; (c) Provider will return or transfer access and credentials and provide a final backup of the Site; (d) Provider will remove its own access upon request.
8. Ownership and access
Many small-business owners distrust monthly website plans because they fear the site is rented: cancel, and it's gone. Answer that in the contract and say it out loud in the sales call. The client owns what you build for them once it's paid. You keep your pre-existing tools and code libraries and license them for use on the site. Domains, hosting, analytics and ad accounts are registered in the client's name, with you added as a user.
8.1Upon full payment, Client owns the deliverables created specifically for Client under this Agreement, including code, page templates and designs.
8.4Domain names, hosting, platform, analytics and advertising accounts should be registered in Client's name, with Provider added as a user. Where Provider holds an account on Client's behalf, Provider will transfer it on request after all outstanding fees are paid.
9. Confidentiality
You hold admin passwords, customer data and unreleased campaign plans. A short mutual clause covers it; make it survive termination, indefinitely for credentials and personal data.
10. Warranties and liability
Promise professional, workmanlike work, not an uninterrupted site and not marketing results. Exclude consequential damages such as sales lost during downtime, and cap total liability at the fees paid over a recent period (3, 6 or 12 months). This is the clause lawyers adjust most from place to place, so it's the first one to have reviewed.
10.3Provider's total liability under this Agreement will not exceed the fees paid by Client in the three, six or twelve months preceding the event giving rise to the claim.
Put the numbers in a schedule
Keep the body of the contract stable and move everything that changes per client into a one-page Schedule A: plan name, monthly hours, monthly fee, effective hourly rate, overage rate, hosting fee, after-hours add-on (yes or no), business hours, the critical-issue channel and the backup policy. When a client moves up a plan at the usage review, you update the schedule, not the agreement.
Three mistakes that cause most disputes
- “Unlimited small edits.” Nobody agrees on what small means. Sell hours, not edits.
- No overage rule. Without one, a busy month becomes either free work or a surprise invoice.
- No reporting. The contract can be perfect and the client will still cancel if they can't see what the hours did. A short monthly maintenance report fixes that.
Free
Monthly report template
The report that makes the contract visible every month: campaign work delivered, tasks and hours, the hour balance with expiring hours, and the base. Word, Google Docs and Markdown.
Get the free templateThe Retainer Kit
The full agreement, ready to edit
The complete Retainer Agreement Template with Schedule A and the scope matrix, plus the proposal, pricing spreadsheet, onboarding checklist and email scripts on the same rules. A guide and nine templates.
Get the kit — $29Launch price (regular $39). 14-day refund. See what's inside.