What Should Be Included in a Website Development Contract?

Most website disputes in Nigeria follow the same shape. The business thought "ten pages" included the copy. The developer thought it did not. Three unlisted revision rounds later, the site is unfinished, the deposit is spent, and the domain sits in an account nobody can access. None of that requires bad faith; it requires only an undocumented deal.
A contract is the cheapest project management tool available. This guide sets out the clauses a website contract should contain, why each matters in practice, and where Nigerian businesses are most often exposed. It is written from a commercial and project perspective, not a legal one. Have a qualified Nigerian lawyer review your final agreement.
Why a website contract is different, and the clauses at a glance
Websites carry three risks that app and software contracts handle differently.
Content is the usual cause of delay. In app and software projects, the client supplies decisions; in website projects, the client supplies words and photographs, and that is where schedules collapse. A website contract must allocate content duties explicitly.
Subjectivity is higher. Design taste is contested in a way that database design is not. Without a defined revision process, "we don't like it" becomes an unbounded obligation.
The assets are borrowed. Websites commonly run on themes, plugins, fonts and stock photographs owned by third parties and licensed annually. Who holds those licences, and who renews them, needs saying.
What Should Be Included in an App Development Contract?cluded in a Software Development Contract? cover the equivalents for those project types. The table below summarises the clauses a website agreement should carry; the sections that follow explain the ones Nigerian businesses most often get wrong.
| Clause | What it fixes | Risk if missing |
|---|---|---|
| Parties and definitions | Who is contracting, and as what entity | Contracting with an individual when you expected a company |
| Scope schedule | Sitemap, templates, features | Endless "that was not included" arguments |
| Content responsibilities | Who writes, supplies, and by when | Project stalls; delay blamed on you |
| Design revisions | Number of rounds, how feedback is given | Unbounded redesign or surprise charges |
| Technical standards | Devices, browsers, load performance | A site that fails on the phones your customers use |
| Accounts and credentials | Whose name holds domain, hosting, analytics | Losing control of your own site |
| Intellectual property | Ownership of designs, content and custom code | The developer retains your website |
| Third-party licences | Themes, plugins, fonts, stock images | Renewal invoices and legal exposure later |
| Payment schedule | Amounts tied to deliverables | Paying for work you cannot inspect |
| Change requests | How additions are approved and priced | Scope creep and cost overruns |
| Acceptance and launch | How "finished" is decided | Arguments about completion |
| Warranty | Free defect fixing, for a defined period | Paying to fix faults in new work |
| Maintenance | Post-launch service and rates | Unattractive pricing once you are dependent |
| Data protection | NDPA 2023 obligations and roles | Regulatory exposure for your business |
| Confidentiality | Protection of business information | Your plans and data shared elsewhere |
| Termination and handover | Exit route and what you receive | Losing files, code and access |
| Liability and indemnity | Limits and protections both ways | Uncapped exposure or no recourse |
| Governing law and disputes | Which law, and how disputes are settled | Slow, uncertain resolution |
Scope: the sitemap and feature schedule
Attach the scope as a schedule rather than describing it in the body of the contract. It should list:
- Every page, marked as a unique design or a repeat of a template.
- Each functional feature described in a sentence: contact form, booking, payments, blog, member login, search, multilingual content.
- Named integrations: the payment gateway, WhatsApp, email marketing tool, analytics, Google Business Profile.
- The content management arrangement and what you will be able to edit yourself.
- Admin users and roles.
- What is explicitly excluded: copywriting, photography, logo design, translation, migration of an old site, paid advertising.
The exclusion list is not the developer being defensive. It is the most useful paragraph in the document, because everything unlisted defaults to a dispute.
Content duties, revisions and technical standards
These three clauses decide whether the project finishes on time and to a standard you can hold someone to.
Content responsibilities. Write this clause as a table in the schedule: item, owner, due date.
- Page copy: who drafts, who approves, by when.
- Photographs: who supplies, at what resolution, and whether a shoot is needed.
- Logo and brand files: vector formats, colour codes, fonts.
- Product data for e-commerce: how many items, in what format.
- Legal pages: privacy policy, terms, refund policy, delivery policy.
Then agree what happens on both sides of a delay. A fair clause says that if you are late supplying content beyond an agreed number of working days, the timeline extends by the same period and the developer may issue a holding invoice; and that if the developer is late for reasons within their control, a defined remedy applies. Symmetry makes the clause acceptable to both parties and therefore enforceable in practice.
If you want the site launched with placeholder content and the real text added later, say so in the contract, because it changes the launch criteria.
Design revisions and approval. Specify:
- The number of revision rounds included per design deliverable, commonly two or three.
- The definition of a round: one consolidated set of written feedback, not a stream of individual messages.
- Who on your side gives final approval. One named person. Design by committee is the single fastest way to exhaust a revision allowance.
- The response window: if you do not respond within a defined number of working days, the design is deemed approved.
- The hourly or per-round rate for additional revisions.
Approval should be in writing, even if that means a one-line email confirming a WhatsApp decision.
Technical standards. This clause is often missing and is where quality is quietly negotiated. Include:
- The browsers and versions supported, and the mobile devices the site will be tested on. Given how much Nigerian traffic arrives on mid-range Android phones, specify at least one such device by name.
- A performance expectation for mobile connections, for example a target page weight and a load-time goal on a typical mobile data connection.
- Accessibility basics: readable contrast, alternative text on images, keyboard navigation for forms.
- SSL installed and enforced.
- Basic search-engine requirements: editable page titles and meta descriptions, clean URLs, an XML sitemap, Google Search Console and analytics configured.
Add an explicit statement that no party guarantees search rankings. If a developer offers such a guarantee, do not accept a contract that repeats it; it cannot be delivered.
Domain, hosting and third-party accounts
The clause to insist on: all domain, hosting, email, analytics, payment gateway and third-party service accounts relating to the website shall be registered in the client's business name, with the client as owner or primary account holder, and the developer granted administrative access as required.
Practical points:
- Register the domain yourself where you can, through a registrar or a NiRA-accredited registrar for .ng addresses, and keep the renewal in your calendar.
- The contract should list every account created for the project, with the login email used.
- Credentials should be transferred at launch through a secure method, and the contract should require removal of the developer's access on request after handover.
- If the developer resells hosting, ask what happens to your site if their reseller account lapses.
How to Own Your Website After Development.
Ownership, licences and stock assets
Two different mechanisms apply, and conflating them causes trouble.
Assignment. On final payment, the developer assigns to you the intellectual property in the design files, the custom code written for your project, and the content they created for you. State that the developer will deliver the source files, not just the live site.
Licence. Themes, plugins, fonts, stock photographs, icons and libraries are owned by third parties. The contract should:
- List premium components used and their annual cost.
- Confirm the licences are purchased in your name, or transferable to you.
- Warrant that open-source components are used in line with their licences.
- Confirm that stock images and fonts are properly licensed for commercial use, and state who bears the cost if they are not.
Also agree the credit line. Many developers place "Designed by" in the footer. That is normal and often negotiable; decide now rather than after launch.
Payment schedule and change requests
Tie payments to deliverables you can inspect.
| Milestone | Deliverable | Indicative share |
|---|---|---|
| Kick-off | Signed contract, approved sitemap, project plan | 25–35% |
| Design approved | Desktop and mobile designs for all unique templates | 20–25% |
| Build complete | Staging site you can browse on your own phone | 25–30% |
| Launch and handover | Live site, credentials, training, documentation | 15–25% |
Indicative structure; adjust to the size of the project.
For change requests, the contract should require: a written request, a written estimate of cost and schedule impact within a stated period, no work until you approve in writing, and appending approved changes to the scope schedule. State the hourly or daily rate for changes in the contract so it is not negotiated when you have no leverage.
Acceptance, warranty and maintenance
Acceptance should be objective. Define it as: the delivered site matches the scope schedule, passes the agreed device and browser tests, forms deliver to the stated destination, and payment flows complete a real test transaction.
Then define:
- A user acceptance testing window, commonly 5 to 10 working days, during which you raise defects in a single written list.
- Defect severity levels and turnaround for each.
- The difference between a defect (does not match the agreed scope) and a change request (something new). This boundary decides who pays.
- Launch criteria and who presses the button.
- A warranty period after launch, typically 30 to 90 days, during which defects in the delivered work are fixed at no charge. Warranty should not be confused with maintenance.
Even if you do not buy maintenance, the contract should state the price of it, so that the rate is known while you still have alternatives. A maintenance clause should cover:
- What is included: software and plugin updates, backups, uptime monitoring, security patching, a defined allowance of small content changes.
- What is excluded: new pages, new features, redesigns.
- Response times by severity.
- The rate: indicatively ₦20,000–₦150,000 per month for a business website in 2026, varying with size and service level, or an annual retainer.
- The hourly rate for work beyond the retainer.
- Notice period on either side.
Data protection, security and legal pages
If your website collects names, phone numbers, email addresses, payment details or customer records, the Nigeria Data Protection Act 2023 applies to your business. In most website builds, you are the data controller and the developer acts as a processor in respect of any data they handle.
The contract should therefore:
- Require the developer to process personal data only on your instructions.
- Require reasonable security measures: SSL, secure credential handling, access limited to those who need it.
- Require prompt notification to you of any suspected data breach.
- State backup frequency, retention and where backups are stored.
- Confirm who drafts the privacy policy, cookie notice and terms of use, and that you approve them.
- Address deletion or return of data at the end of the engagement.
This is not legal advice. Confirm your specific obligations with the Nigeria Data Protection Commission or a qualified adviser.
Termination, handover and dispute resolution
Assume, for drafting purposes, that the relationship may end early.
- Termination for convenience. Either party may terminate on written notice; you pay for work completed to date; you receive all files produced.
- Termination for cause. Defined breaches, a cure period, and what follows.
- Handover on termination. Design files in editable formats, all source code and database exports, content, credentials for every account, and documentation. List these items explicitly.
- Deposit treatment. What portion, if any, is refundable at each stage.
- Confidentiality. Surviving termination, with a defined period.
- Liability. A cap, commonly linked to fees paid, with carve-outs both sides accept.
- Indemnity. You indemnify the developer for content you supply; the developer indemnifies you for infringing components they introduce.
- Force majeure. In Nigeria it is worth naming extended power failure and network outages, though not as an excuse for ordinary delay.
- Governing law and disputes. Nigerian law, a named state for jurisdiction, and a step before litigation: negotiation, then mediation or arbitration. Court should be the last resort, not the first clause you rely on.
What changes for Nigerian website contracts
- Exchange-rate movement. Hosting, premium plugins and some services are USD-priced. Say whether the quoted naira figure is fixed, and for how long, and who bears movement afterwards.
- Payment method and evidence. Pay a company into a corporate account and keep the transfer confirmations. Payments to a personal account weaken your position.
- Corporate identity. Confirm the developer's CAC registration and use the registered name in the contract.
- Informality. Much of the negotiation will happen on WhatsApp. That is fine, provided every decision with cost or schedule effect is confirmed in writing and appended to the contract.
- Enforcement reality. Litigation is slow, so structure the deal so you rarely need it: milestone payments, staged file delivery, and accounts in your own name from day one.
- Stamp duties and tax. Contracts may attract stamp duty, and invoices have VAT and withholding tax implications. Confirm the current position with your accountant, the Federal Inland Revenue Service or the relevant state authority.
Example (hypothetical): one clause that saved a Port Harcourt project
This is a hypothetical illustration, not a Linestech client project.
A Port Harcourt equipment-hire company commissions a ₦1,400,000 website with a quote-request system. The contract includes a clause requiring the developer to push code to a repository in the company's account at each milestone, and registering the domain and hosting in the company's name.
Nine weeks in, the developer's lead engineer leaves and the firm stops responding. Because the company already holds the domain, the hosting account and the code produced to date, its replacement developer picks up the build rather than restarting it. The company pays for the completed milestones, withholds the remainder, and loses about three weeks instead of the whole project.
The clause cost nothing to include. Without it, the company would have owned an invoice and nothing else.
Contract review checklist
- The developer's registered entity name and number appear correctly
- A scope schedule lists every page, template and feature
- Exclusions are listed explicitly
- Content duties and due dates are assigned to named parties
- Revision rounds and the approval process are defined
- Device, browser and mobile performance standards are stated
- No search-ranking guarantees appear anywhere
- Domain, hosting, analytics and gateway accounts are in your business name
- Design files and custom code are assigned to you on final payment
- Third-party licences are listed with annual costs and holders
- Payments are tied to inspectable milestones
- The change-request process and rate are defined
- Acceptance criteria and a UAT window are specified
- A warranty period is stated, separate from maintenance
- Maintenance scope and rates are stated even if not purchased
- Data protection duties, breach notification and backups are covered
- Termination, handover deliverables and deposit treatment are clear
- Liability, indemnity, governing law and dispute steps are included
Conclusion
The clauses that protect a Nigerian business in a website project are not the intimidating legal ones. They are the practical ones: a scope schedule with exclusions, content duties with dates, a defined revision process, accounts registered in your own name, assignment of files and code on payment, objective acceptance criteria, a warranty period, and a handover list that applies whether the project ends well or badly.
Get those into the document, keep decisions in writing, and pay against things you can look at. Then the contract can sit in a drawer, which is where a good one belongs.
If you are about to commission a website and want the scope, deliverables and handover terms set out clearly before anyone starts building, Linestech can help you define the project and what should be documented.
Frequently asked questions
Do I need a contract for a small ₦250,000 website?
Yes, though it can be short. A two- to three-page agreement covering scope, content duties, revisions, payment, accounts and ownership is enough for a small brochure site. The clauses that matter most at low budgets are account ownership and file handover, because those are what you lose if the relationship ends badly.
Who should draft the contract?
Either side may draft it, but you should read every clause and have a lawyer review anything above a modest budget. Developers usually work from a template written to protect themselves, which is normal. The negotiation is in the ownership, acceptance, warranty and termination clauses, not in the price alone.
Can the developer keep the website if I stop paying?
A contract may provide that intellectual property transfers only on full payment, which is common and reasonable. What should not happen is the developer holding the domain, hosting or your content hostage. Keep those accounts in your name from day one and settle payment disputes through the contract's dispute clause.
How many revision rounds are normal?
Two or three rounds per design deliverable is typical in Nigeria. What matters more is the definition of a round and the naming of a single approver on your side. Unlimited revisions sound generous and usually mean the price already includes a buffer, or the project will stall.
Should the contract mention SEO?
It should list concrete technical deliverables such as clean URLs, editable page titles and meta descriptions, an XML sitemap and analytics setup, and should state clearly that no ranking position is guaranteed. Ongoing search optimisation is a separate service with its own scope and should not sit inside a build contract.
What if the developer wants full payment upfront?
For very small projects this is sometimes accepted because the exposure is low. Above roughly ₦300,000, insist on a milestone structure with a deposit of 25–35%. If a firm cannot fund the work between milestones, that is a commercial signal worth weighing.
Does the contract need to be stamped or registered?
Requirements vary and change. Contracts may attract stamp duty, and there are tax implications on invoices. Do not rely on a developer's view of this; confirm the current position with your accountant or the Federal Inland Revenue Service.
Sources and further reading
Figures, platform rules and regulations change. These are the primary references behind this article and the places to check before you act on it.


