What goes into a good web design contract?

Updated 2014.

In web design circles we never seem to get tired of talking about contracts. From the simplest startup to the most advanced agency there is always a contractual issue floating about.

In the seven years since I started my web design business my contract has gone through a lot of changes, but it has protected me and my business each and every time. Here is how I structure my web design contracts.  Your own contract should be a blend of advice like this, any regulations specific to where you live, and the experiences you will pick up along the way.

These guidelines do not deal with the specific “legalese” that should be in your contract, which can be individual to your country; rather, they list all the bases you should cover.

I should stress of course that I am not a lawyer, nor do I play one on TV, and you should have a solicitor in your local area review your contract.

  1. Authorisation. This opens the contract by stating the main fact, which is that the client is contracting with you to provide a service.  The client is therefore authorising you to perform these services on their behalf, which may include accessing their hosting account and disk space, creating databases and applications, and using third party services.
    You should also use this clause to state that the client is hiring you as an independent contractor, not as an employee, and the client has no right to define direction and control over you, nor the location where you will perform the work for them.
  2. Sole Agreement.  This declares that the work to be performed is limited to what is specifically set forth in the contract.  Any additional work will require a new contract.  This part of the contract can also state the time limit for the prices set forth in it – after all, you do not want a client coming back to you in 2015 holding you to 2009’s prices. Clearly state that you and the client have no mutuality of obligation to each other for future work.
  3. Confidentiality. Both the client and the designer agree that any business information discussed during the project will remain confidential, and neither of you will divulge any of it to outside parties.
  4. Project design specifications (Scope of Work).  Here is where you list and describe the services which you will be performing.  Personally, I prefer to reference the written proposal which would have gone to the client before they chose to hire me, and note in the contract that “The web site will be built to the specifications detailed in the proposal dated xx/xx/xx.”  If there was no formal written proposal, I cite “the specifications discussed and mutually agreed upon at our meeting on xx/xx/xx.”  This may not be permissible in your country, though, so please check with a solicitor.
  5. Content.  Note who will be providing the content (the text and images on the site): the client, yourself, or a copywriter/graphic designer.  You may also wish to state that time spent editing the text content in order to bring it up to a basic standard of literacy will incur extra charges.  This is in case you have one of those clients who thinks that submitting content written in text message speak, featuring multiple spellings of their own business name,  is cute.
    Additionally, I state that if the client has not submitted complete text and graphics content within six weeks after signing the contract, I apply a fee of 10% of the total contract price each month until the web site is published. After all, content comes before design, and there is only so much you can do with lorem ipsum.
  6. Assignment of Project.  Here you inform the client that you reserve the right to tap subcontractors as needed for certain areas of the project.  Always include this in case an unexpected development within the project requires you to call in the geeks.
  7. Web Hosting.  Clarify the web hosting arrangements for the web site.  I have two paragraph templates, and I delete one as needed.  One paragraph details the arrangements when I host the site myself on a third party account I have chosen, and one details the arrangements if the client already has a third party hosting account. You may also wish to clarify backups here – whether you are responsible for them and if so, how often you will create them.
  8. Domain name registration. Clarify who owns the domain and remind the client that you are not responsible for their failure to renew their domains on time.
  9. Completion date. State that you will work to launch the web site on or about the date that you have agreed with the client.  Note that the launch date presumes that the contract has been signed and returned, the deposit has been paid, and that there are no unforeseen technical issues with the site.
  10. Maintenance and hourly rate.  Clarify what maintenance you will perform after site launch within the costs of the contract and what maintenance will be performed based on your non-contracted hourly rate. If you have a “settling-in period”, which I grant the client for two weeks after launch, clarify that the settling-in period does not include massive structural changes which would fundamentally alter the site.  For example, they can ask you to make minor changes to a page, but they cannot ask you to add an e-commerce shop.
  11. Legal– this is the part where you cover your backside.
    • Note that you cannot guarantee that your work will always be completely perfect and error free (even though we like to think it is); and more important than that, note that you are not responsible for any damages or financial losses the company incurs.  In other words, if you give them a web site and they still go under in a year, it is not the fault of you or the web site.
    • You will, however, correct any clear and mutually agreed mistakes you have made while carrying out the contract on your own time and without incurring additional cost.
    • I also note here that “if the Client or an agent other than Idea15 Web Design attempts to update the site’s pages, infrastructure, or source files in a way that causes damage to individual pages or the site’s architecture, time to repair web pages will be assessed at triple the hourly rate, and is not included as part of the updating time or this contract.”  This is for clients who think they can reduce their web budget to £0 by letting their 14 year old nephew have a go at the SQL (sigh) and for those clients – like one colleague described in a genuine horror story – who insist on the right to log in and edit the site’s .php source files at the same time that the designer is working on them (!)
    • State the jurisdiction where any legal action pertaining to the project must be filed. For me, this is the Sheriff Court closest to where I live. What this means is that not only will you take the client to that particular court if they don’t pay, but any action they take against you must be filed in that location as well. A troublemaking client – and you will have them – would file a suit on the other end of the country just to be petty.
    • In your legal bit, you should note that nothing the client will give you to use on the web site should violate any of the laws of your country; and if you are using a host in another country, they agree that none of their material violates the laws of that country either.  If you are in the EU using a host outside the EU – particularly a US host – this can raise a ton of issues involving data protection, privacy, and even child protection, so it really is best to “buy local.”
  12. Copyrights and trademarks. Please read “The Twisted Thing” for the language you should use to clarify the fact that you are not liable if your client has given you stolen goods – someone else’s copywritten material – as their own content.  Discuss your Professional Indemnity Insurance policy if needed.
    This clause absolutely saved my bacon when a client received a bill for unauthorised use of a copywritten image from a stock library and tried to blame it on me. It turns out he thought taking an image off Google Images gave him license rights to it. I reminded him that when he gave me the image, and told me he had license rights to use it, I used that image in good faith. He had no one to blame but himself.
  13. Copyright of web site. More backside-covering in which you clarify who will own copyright of the finished site, the elements within it, and the source code and scripting.  I also use this part to note that I will add a link to my own web site in the footer of the client’s web site which cannot be removed, and that I reserve the right to display the site in my portfolio as well as use it as an example in any web design education that I do. “Education” includes conferences and presentations.
  14. Abandonment of Project. From time to time, a client will hire you, contract for work, pay for it…and then disappear off the face of the earth.  They will simply stop responding to all of your phoned, written, and emailed communications. Other times, a project meant to take four weeks drags out into three seasons, and the only time the client gets in touch is to provide you with yet another excuse for why they are “too busy, darling”. Running a business means structuring your time with military precision, and you simply cannot do that with unfinished projects clogging up your order book. For this reason, I have introduced an Abandonment of Project clause in which I note that if the client fails to respond to me for a period of 30 days or more, or to get in touch when they said they would, the project is considered abandoned and is closed.  If that comes to pass, I reserve the right to bill the client for the work done to date, which may take the form of returning their deposit minus the cost of the work done already.  Some designers also note here that if a client wishes to re-open an abandoned project, an administrative fee will be charged.
  15. Payment of fees.  This is where you very nicely state that if you do not have payment within X days of site launch, you will take the web site offline and the client will lose all rights to its use or duplication.  Note that the client is responsible for any debt collection fees which may come due.
    A client refused to pay their amount due – which was well into four figures – but felt that they still had the right to host their site on my server because they had paid the two-figure hosting fee for that year.  It was the equivalent of refusing to pay your mortgage but insisting that you still have the right to live in your house because you paid the electricity bill.  To make it clear that clients can’t have their cake and eat it too, I note that if they choose to host their sites with me, all outstanding fees must be paid regardless of payment of hosting fees, and failure to pay amounts due overrides hosting fees paid.
  16. Initial payment.  Note the full cost of the contract.  State that payment is due as follows: a percentage (I use 50%) upon the signing of the contract, and 50% upon site launch.  Some designers do not launch the site until the final payment has been received, but I prefer to launch and bill for the final payment on the same day – that gives the site some time to spider into search engines, and I can always switch the site off if payment is not forthcoming.  Clarify how your client should pay you (cheque, BACS, etc) and whom cheques should be written out to (your name or your company).  Stress that no work will be undertaken until both the signed contract and the 50% deposit are received and the deposit is in the bank. I and many other designers have been taken advantage of by clients who returned one but not the other.

Like mine, your contract should evolve over time to reflect your actual experiences.  Heed the contractual warnings that your fellow designers will describe as well.

If you live in the UK, here is a great post at Freelance Advisor on how to make your contracts IR35-proof. Regardless of where you live, if you suspect your client may regard you as an employee rather than an independent contractor, the post offers ways to protect yourself.

Here are some great resources on web design contracts.

Where can I get a template for a web design contract?

If you are just starting out or are on a tight budget, WebDevBiz has an excellent contract kit which you can download for just $30.  I started my web design business with this kit and owe Patty a great deal of thanks for it.

For $50 you can invest in the Web Design Business Kit from Sitepoint.  It contains a fantastic amount of templates and resources which will help you take your business forward very quickly.


  1. Great post! Thanks very much. Great timing too. Was just thinking about updating my contract and filling in a few holes before starting my next job.

  2. Very useful! Especially about the ongoing maintenance once a site is finished. It can be frustrating if a client wants a change which would involve changing the entire structure of a site which has taken a while to create.

    Off topic I know but i’ve been reading your blog for a while and I was wondering if you had any recommendations for free text editors to include on client sites to allow them to edit page content easily?

    At the moment i’ve been implementing the Yahoo text editor and have switched to using the FCKeditor but i’m still not entirely happy with them. Alot of the requests for the text editor want it to include image, video uploads, table inserts and especially source view. All of which FCKeditor includes but as well as i’d hope!

  3. A really useful article Heather, thanks.

    Interesting that you talk about a settling-in period of 2 weeks. I offer similar, but with a limit to the amount of work that will be supported as part of this (usually 5 hours max). Anything more is chargeable.

  4. Thanks James. For me the two week period is really me being there to hold the client’s hand (not in a bad way) while they get comfortable with the CMS. There is something very parental about watching the client adopt your “baby” as their own and get to the point where they don’t need you any more! :-)

  5. Very good guide, Heather. I’ve just updated my contract, but you have a couple of things here that I think I may add…

    Regarding the settling in period, I actually offer two hours’ tutoring as part of the development “package”. That spells out exactly what I’m willing to do – tutor. Not re-write, not re-design, not re-configure the database (although having read your article, I think that could be more explicit). The client can have me all to themselves for two hours or they can get their half-dozen staff who will be editing the site in the room for two one-hour sessions (plus travel expenses). I don’t care how they spend those two hours, but after that, I charge my hourly rate. I’m happy to do more than two hours, but they’re going to pay me for it.

    On Michelle’s question about text editors, I’ve used Flyspeck, and it’s relatively good at what it does, but there’s a learning curve. In the end I found that learning WordPress (an Open Source CMS) really well took less effort on my part, and gives the client much more flexibility and control, so they’re actually getting more for less.

    Thanks for another great post Heather!

  6. Hi Heather

    Thanks very much for this useful article. I’m in need of a contract template and looked at the site you suggested (Webdevbiz) but see that it’s a US site and wonder whether the template would still be useful to a UK-based business? What’s your view?


  7. my design firm always includes language for the client that they own the design, but we own our content legal management system. It’s important for the client and the vendor to be aware of their rights to the website design going in, this avoids potential problems later on!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s