A Comprehensive Guide to Creating an Ironclad WordPress Development Contract

Posted on May 20, 2015 by in Resources | 20 comments

A Comprehensive Guide to Creating an Ironclad WordPress Development Contract

Many WordPress developers avoid contracts for a variety of reasons, the biggest of which is the misconception that contracts need to be large, complicated documents full of fancy legal terms that will most assuredly scare away at least 50% of their prospects.

That couldn’t be further from the truth. In reality, the more simple your contract, the better off you’ll be. The words used, the intricacy and the length of a contract have no bearing on its validity.

Truth be told, if you really get down to the nitty-gritty details, there are only two crucial aspects that you need to focus on in order to create a rock-solid, iron-clad contract.

If you spend a little time researching WordPress development contracts online, you’ll notice an emphasis on the terms and conditions. Very little is said about what’s actually required to form a contract between two parties. In reality, both an understanding of contract law and clear terms and conditions are required if you want to create a contract that has any chance of standing up in court.

Why Having a Valid Contract Matters

I can already hear the grumbles emanating from the blogosphere!

“Why do I need to know anything about contract law?” you ask. “I just want to know what should go in the contract.”

Most developers skip this step for that exact reason, despite it being the most important element. They paste a few terms and conditions into an email and ask their client to agree, or they draw up an incomplete contract. Either way, they’re left with a false sense of security because the “contract” in hand is actually unenforceable.

Although I could post a basic contract template and say “here you go, use this”, it’s not really the responsible way to approach things. You’ll be a much better developer and business person if you take the time to garner a basic understanding of what you are sending your clients.

This is about the point that people’s eyes start to glaze over. “Law and contracts, blah, blah, blah. Do I even need to bother?”

Please do!

If you’re developing WordPress websites as part of your business, take ten minutes to read this article. It just might save your bacon. Seriously. Anytime a business relationship exists between two parties, you need to protect yourself. If you have a family, a proper contract will help protect them too!

Since we’re on the topic of legal matters today, we should start with a disclaimer:

As the author of this article, I have a basic understanding of what you might consider including in a WordPress development contract. I also have some knowledge of WordPress development. However, I am not a lawyer or notary, nor am I likely to be familiar with the individual laws of your state or country. If you take the information in this article and develop a basic contract for your business, it’s strongly recommended that you take your draft agreement to a lawyer in your jurisdiction and have them review it. Most of what you’ll read in this article applies to countries where the legal system is based on common law, also referred to as case or precedent law.

With that little issue out of the way, we can get into the more interesting details! Yes, that’s right, I said interesting!

Why You Should Care About Contract Law

Things don’t go wrong very often, but when they do, you’ll be thankful you have a contract in place. At the beginning of a business relationship, things always seem good – kind of like a first date. You’re excited to have landed a new client and your client is excited to have finally clicked with a developer who seems capable of getting their project off the ground. Rainbows and unicorns are abound!

However, things change; sometimes for the worse. When they do, you’ll want to have a backup plan in place to protect both parties.

Let’s look at a few real-life scenarios:

  • In 2008, the National Federation of the Blind successfully sued Target for $6 million because their website was not accessible. Imagine if you had been the developer and as a result of the lawsuit, Target decided you were partly to blame.
  • In 2013, Fisker Automotive was sued for $535,000 by Ignited, the company responsible for designing and developing their website. Even if you are only trying to recover $2,500 from a client, that’s real money we’re talking about!

Consider this scenario: your client emails you an image that they claim is theirs. Without asking for more information, you then use the image on their website in several locations. For years there is no problem until one day you, as the developer, are served by Getty images for alleged unauthorized use of their image and copyright infringement. Damages are to be determined by the courts.

Alternatively, imagine you land a dream client. You do a great job developing their website and they decide to hire you to manage the ongoing maintenance. One day, your client’s website is hacked. As if cleaning up the mess wasn’t bad enough, you are shocked to find out they are holding you accountable and have filed a lawsuit against your small WordPress development company.

As you can see from the situations above, there are innumerable scenarios that could leave you facing damages far greater that anything you want to imagine. That’s why it’s a good idea to understand how contracts are formed and to put one in place.

Important Things To Know About Contract Law

Without getting into legalese or in-depth contract law, we should take a few minutes to cover the basics. Like I mentioned earlier, you’ll find variations or outright differences in the law depending where you’re located. Make sure that anything you create is reviewed by a legal professional.

The Law Is One Giant Gray Area

The first thing you need to understand is that the law is never black and white. With almost every aspect of the law being open to interpretation, at best, you’ll find contract law to be a pleasant shade of gray. While you may interpret your contract one way, your client may interpret it another way entirely. If at some point in time you decide to disagree, you could both end up in front of a judge who will provide his/her own interpretation and eventual ruling.

A Written Contract Is Not Required

In most cases, you don’t need a written contract. A verbal contract is perfectly acceptable; just be aware that enforcing your contract is more difficult when it’s verbal. You are better off removing as many doubts as possible by putting everything in writing.

Supporting Documents Are Key

When you have something important to say, put it in writing. Make sure you’re keeping copies of all relevant correspondence including emails, texts and archives of third party services like Basecamp.

If you’re maintaining a client’s website and it’s the target of a hacker, you want to be able to demonstrate that you acted with prudence and adhered to a “duty of care”. By demonstrating to a judge that you made your client aware of risks and solutions which they chose to ignore, you’ll have a fighting chance.

Contracts Should Be Descriptive

Remember how we discussed the law being gray? That is why you want to remove as much subjective language as possible from your contract. You can do this by being descriptive. It’s better to go overboard and remove all doubt than to leave something open to interpretation.

As an example, if your deliverables include securing WordPress, outline exactly what that entails:

  • Will you use a specific plugin?
  • Will you set up the .htaccess file and what will it include?
  • Will you move wp-config to the directory above your install?

You get the general idea – it’s detailed and specific. It’s also good practice to point out potential problems. If you harden WordPress as described in your contract, their website may still be hacked through no fault of yours (more on this later).

Legalese Is Not a Requirement

There is no requirement for specific language to be included in a legally binding agreement. You are perfectly welcome to write your contract in plain English. In fact, using words like herein, wherefore and herewith might just cause your clients to look for a less confusing developer. Keep things clear, simple and easy to understand.

On more than one occasion, I’ve run across developers who simply email clients a summary of conditions that need to be met or followed. Their list might include the following:

  • Scope of work
  • Description of the relationship
  • What’s expected of the client
  • A project timeline
  • Payment terms

These are all important items to discuss, but by themselves, they do not constitute a legally binding contract.

The 6 Essential Components of a Valid WordPress Development Contract

1. Two Parties Who Voluntarily Intend to Create a Legal Obligation

You need to be clear about who is choosing to enter the contract (developer and client). Describe and spell out each individual party using their legal name and include a city and address as well.

In the event that you will be referring to one of the parties with an abbreviation later in the contract, make it clear at the beginning. For example:

  • In legalese: “Bright Light WP Development hereinafter referred to as ‘BLWPD’.”
  • In plain English: “Bright Light WP Development who from this point forward will be referred to as ‘BLWPD’.”

2. An Offer

A legally binding contract starts with a time sensitive offer. That means you or your company as the WordPress developer are responsible for presenting an offer to your client. The offer should contain all of your terms and conditions, which are of course open to negotiation before the contract is finalized.

Your offer does not need to be complicated. It can be as simple as this:

XYZ WordPress Development agrees to develop a website for ABC Company for $5000 subject to the terms and condition outlined in this contract.

It’s always possible that the company hiring you will present their own offer, in which case the tables will be turned. You’ll then be in the position of reviewing their offer and negotiating for the terms you feel are relevant.

Imagine a potential client is referred to you. They’re excited to get their new website rolling, and based upon the amazing referral you received, they’re not concerned with the little details. If you haphazardly jump into the project, complete a bunch of work and forget to send them your contract until you are ten hours in, you’ve got a problem. Anything you completed prior to the offer will not be bound by the terms in your contract.

3. Acceptance

Acceptance cannot happen before an offer is made.

Once an offer has been presented it’s up to the other party to either accept, counter or reject. There is no “in-between” when it comes to acceptance. If your client “accepts” your offer with conditions attached, there is no contract. You are still in negotiation.

Acceptance of your offer must also occur on or before a time specified by you and in a manner of your choosing. If you require a client to electronically accept your offer and they instead send you an email saying “Sure, sounds good”, you do not have a binding contract.

4. Consideration

Consideration is an essential part of any binding contract. It’s an odd choice of wording but essentially, consideration refers to the fact that you have made a promise to develop your client’s website in exchange for something of value. In most cases, that will mean the payment of money.

If you have a client that refuses to pay you, you’ll need to have consideration detailed in your contract. The amount of consideration is not really relevant; its inclusion is.

5. Capacity To Contract

There are some obvious and some not so obvious examples of situations where a signed contract might not be considered valid. Capacity to contract is definitely an area where you’ll want to review your local laws. Here are some of the rules surrounding capacity that might affect WordPress developers:

  • You can’t enter into a contract with a minor. And yes, that includes minors who are successful entrepreneurs. If you are approached by a minor to develop a website for their business, do so with an ounce of caution and legal advice. If something goes wrong, you may have no recourse.
  • This sounds obvious but it’s often overlooked: if you meet a potential client in a social situation, like a restaurant or a pub, never sign a contract when alcohol is present. If either party indicates that they were impaired, they will have an opportunity to repudiate the contract as soon as they sober up.

6. Legality

The likelihood of legality being an issue is slim, but it’s good to know you that cannot enter a binding contract for the purpose of doing anything that is illegal. If you ever find yourself questioning the legality of a client’s business while developing their website and feel the need to distance yourself, speak to a lawyer. Getting out of your contract may be easier than you think.

Defining Your Terms and Conditions

Now that you have a basic understanding of contract law, we can safely move on to the second most important part of your contract: the terms and conditions. While the elements of a binding contract are non-negotiable, the terms and conditions are highly subjective and always negotiable.

As the developer, you can present your client with terms and conditions that are important to you. They can either accept, reject or counter your offer.

Ideally, your terms should be fair to both you and your client. While you are certainly entitled to present a one-sided offer, doing so greatly increases the odds of a counter or, even worse, having your client decide to look for a different, more reasonable developer.

Deciding what terms and conditions to included in your contract is a personal choice. I like to break terms and conditions into two categories:

  1. Liability Terms. In any contract you present, make sure you include clauses that limit your liability in case something goes wrong. If you are going to have a lawyer review your contract, this is probably the most important area to look at because the potential for disastrous impact is greatest.
  2. Convenience Terms. These terms represent the things you’d like to see included. They are rarely deal breakers and often where the bulk of negotiation occurs. A little give and take with these terms and conditions will help seal the deal.

Now, let’s look at some of the more common terms, both liability and convenience, that you might want to consider putting in your contract. We’ll start with those which are most important and then move into some that are more negotiable:

Warranties and Representation

In your contract, you should stipulate that your client owns or has the right to use any content they send you including written text, pictures and logos. In fairness, you should also warranty that to the best of your knowledge anything supplied by you will not infringe upon the rights of a third party. You should also stipulate that deliverables will be your (or your company’s) original work.

Indemnification

Indemnification is a critical part of your contract – at the risk of being blunt, it’s all about covering your ass. You want to eliminate current and future liability in the event that something should go wrong. If your client’s website is hacked despite your best efforts, you don’t want to be the one left holding the bag!

In friendly legalese, it might look like this:

ABC company agrees to indemnify, save and hold harmless XYZ Web Development from any and all damages, losses, lawsuits, expenses or costs that might arise as a result of claim or action by a third party. This includes any action that involves hacking or other malicious activity by a third party resulting in damage to a clients website, reputation, goodwill or revenue. If your website is hacked, it’s not our fault. We’ll do everything in our power to rectify the situation but we are not responsible for any damages or actions that may occur.

You get the point, right? What you’re trying to do is avoid a lawsuit where you are held responsible for paying back lost revenue that far exceeds your original development fee.

Payment Terms

Don’t get cheap with the details when it comes to outlining your payment terms. Be clear and concise, leaving no room for interpretation:

  • What is your total fee?
  • Will you be paid according to milestones?
  • What percentage at each milestone?
  • Will there be a bonus and under what conditions?
  • Are there ongoing maintenance fees?
  • Will you charge separately for graphics, photos and content?
  • What is your hourly rate for overages and when would they kick in?

Termination of the Contract

Situations can change and there are times when it becomes necessary to get out of a contract. Make sure you outline the conditions under which you or your client can end the relationship. What (if any) compensation will each of you receive in the event that the contract is terminated?

Breach of Contract

It’s worth detailing what might constitute a breach of contract. A breach occurs when either party fails to meet one of the conditions outlined within the contract. A breach can be immaterial or material, also defined within the contract. In the event of a breach, the affected party may decide to seek damages or possibly terminate the contract.

You can choose to detail the damages resulting from a breach in your contract. You can also specify how a breach will be dealt with – via arbitration, mediation or the courts.

To illustrate how this could work, assume you are scheduled to have a client’s website go live first thing Monday morning. For whatever reason, you are not able to launch the website until seven days later and your client misses out on a critical sales opportunity. It’s possible that this action could be interpreted as a material breach of contract and result in termination of the contract and/or your client seeking damages.

On the other hand, if the website is scheduled to go live on Monday morning and is only delayed 10 hours due to an unforeseen compatibility issue, it’s highly likely that the breach will be seen as immaterial.

The Relationship Between the Developer and Client

You should clearly indicate that you are working in the capacity of an independent contractor and not an employee. The work you are doing is bound by the terms and conditions of your contract and nothing else.

Ownership Upon Completion

Who will own the website upon completion? Is the client entitled to make changes to your design once the terms of the contract are fulfilled? What if they only pay you two thirds of your fee and then a dispute arises? Do you retain ownership of the items already delivered until full payment is received?

Failure to Pay

We’ve all been in this scenario. A project is moving along nicely and you’re getting paid every Friday just like the contract stipulates. Then one week it happens: your payment doesn’t arrive and your client seems unresponsive.

With the above in mind, it’s a good idea to clearly outline the different situations that might arise:

  • What happens if a payment is late?
  • Is there a grace period?
  • Will you charge interest at some point in time and at what rate?
  • Will you defer to a collection agency after 60 days?
  • If you’re maintaining a client’s website and they stop paying, do you have the right to put their site in maintenance mode and change passwords?

Limited Liability Regarding WordPress’ Open Source Status

Personally, I feel that this is an important clause to include in any contract that involves WordPress development. Many people are not aware that WordPress is open source software and that you are not responsible for the development of its core files. It’s entirely possible that bugs, security flaws and compatibility issues which are out of your control may arise with future releases of WordPress.

Deliverables

Your client is going to want something in return for their consideration and it will come in the form of your deliverables. Providing your client with detailed information is always a good idea. Your specific deliverables will vary based upon your business model and the list could be very long.

It’s tempting to shorten up your list of deliverables and skimp on the descriptions, but put yourself in your client’s shoes. Imagine how they will feel when they see how much effort and value you’ll be delivering. Look at the deliverables as a bit of a hidden sales pitch!

Conclusion

If you’ve made it this far, give yourself a pat on the back. Seriously – most WordPress developers never take the time to learn how contracts work, and many don’t even use one.

You might work with 20 or more clients and never have a serious issue to deal with. But the day a problem arises, you’ll thank your lucky stars that you covered your bases.

Have you ever had a situation arise while developing a website for a client that made you thankful a contract was in place? What about being in a situation where you wished you had a contract? Let us know in the comments!

Image by Seamartini venimo / shutterstock.com

20 Comments

  1. Can you please add a link to a sample contract with names removed?

    • Dido… would make it easier to have a sample contract in Word for easy editing…

  2. This is a great article, Tom. Being a lawyer myself (and a “self made” WP developer and webmaster) I can appreciate that not everyone is familiar with such really distant areas of expertise and many developers will find your post extremely useful.

  3. Well done, fantastic overview. Thanks for the post! Very helpful indeed.

  4. Uhhhh . . . ok . . . so . . . I’m all in. Can you recommend a template/example that we can use to create our contracts?

    = 8< o

  5. I’ve been a big fan of contracts for a while, but this covers some WordPress specific information I will be including in mine in the future. Thanks for this helpful post!

  6. I also am the head of a tech user group that got charged with copyright violation last year over an image in a slide a past speaker had used that was posted on our website. Even though we had nothing to do with the slide creation, we ended up having to pay the fees requested because there was no clause in our speaking contract about responsibility for images used.

    And one more essential any developer should have is business insurance for professional liability to cover those potential legal issues.

    • Thanks Wally, Great site for docs.

  7. “the more simple your contract, the better off you’ll be”
    Everything you’ve listed in this article results in a complicated contract. In fact, there are no simple contracts for website development. Ever. If there are, they result in the developer getting burned by the client. Repeatedly. Clients will attempt to snake their way into and out of everything to get every last dime’s worth of work that they can and then some.
    You absolutely NEED everything you will be doing (and NOT doing) in your contract for it to be iron clad.
    And, believe me on this one, a written contract IS required, if you want to get paid.

  8. Just as Tom mentioned…I am NOT an attorney, but we have had all of our contracts reviewed by one.

    Here are two points I did not see Tom mention that are absolutely critical to a successful contract.

    In the general/miscellaneous terms we include the following:

    – does not project require travel outside of our “home area” and which party is responsible for which related travel expenses.

    – What State/County has jurisdiction for the agreement

    – how will disputes be handled (we have chosen arbitration rather than courts).

    Jason Ansley
    ansleyRDgroup – a href=”http://www.ansleyrdgroup.com/start-here”>Business Development Concierge

  9. There is a useful plain english contract I found that someone else turned into an automatic generator based on an open source document.

    http://labs.siamkreative.com/contract-killer-generator/

    There are some inclusions and amendments in the comments of the original document on GitHub and recommend reviewing the text prior to using.

  10. It’s like you’re following me around! (LOL.) This article came at a perfect time. I’ve been a contractor for another company (that I love, and will continue to work with and for), but I want to also look for local clients as part of a freelance business. I’ve registered my business name, I’ve networked with the local chamber of commerce, I’ve updated my website with new information… and now, bit by bit, as clients hopefully start to contact me, I need to have some organizational things in place, like how I’m going to organize my projects and — as this article talks about — how I’m going to come to proper legal agreements with my clients. It’s important, and I have no idea about stuff like that, it’s just so beyond my scope. So this is a very helpful article, and I thank you for the excellent timing! 🙂

  11. Hi Tom,
    Thanks for the info, burnt once that was enough, everyone should protect them selves and their clients alike.

  12. Thanks – that was about the best article I’ve read for a long time – and easily the best one covering this subject ever. Gave me some much needed clarity about this subject.

  13. Thanks – Very useful reading, even for someone overseas

  14. Great article. Having a contract is so important. I created a simple contract last year when I got hosed by a guy that didn’t pay me, this was only the second time that it happened to me in all these years. I’ve been building websites since 2004 and I don’t use it for clients that have been with me for many years – I’m in my 3rd redesign on some of them but I do for all my new clients and it saved my bacon the first time I used it. A woman hired me and was in a huge hurry to get her site up and running, so we met, she signed the contract and then 3 days later after I’d done a ton of work, she wanted out of the contract! I agreed to let her out of it but kept a chunk of the deposit for the work that I’d done. She called me up wanting the entire deposit back, threatened me with her lawyer and I promptly said, “I’d be happy to talk to your lawyer.” She did talk to her lawyer and he told her I was within my rights because she had signed the contract. She cashed my refund check and I never heard from her again. It’s worth its weight in gold when you have something like that happen. Or any of the scenarios in the blog post!!! Good work Tom.

  15. If your working on an hourly rate then that’s simple. Invoice periodically and if you’re not paid, stop work (voice of experience).

    Project work is more difficult. We tend to take 50% up front then, based on how long the project is expected to take, scheduled payments to cover the outstanding. That way, if a client stalls on deliverable, you still get paid and it works as an incentive for them not to stall.

    Obviously that’s not a hard and fast rule, because unforeseen issues arise but in general we try to stick to that.

  16. Great article! Other interesting aspects of development – as I’ve had to face problems on these fronts: is to

    Make sure which laws – local and international – cover the scope of your work/plugins/3rd party add-ins. I have used an eCommerce payment gateway solution in the past that is based in a different country …luckily I picked up on it by reading the fine print of their contract with me. I added clauses to my contracts revealing this and that in the case of disputes that run to legal issues, the client would be responsible for related costs.This could be a very expensive exercise if it should ever happen.

    Another one is to make sure you indemnify yourself against site availability … I tell my clients where where our hosting servers are based. I had local domains hosted on offshore servers and ran into availability issues on sites when offshore cables or services went down and you can’t reach support desks or staff … Clients don’t care about these issues unless you can fall back on your contracts …

    Last one, agree in writing who you will take written instructions from. Had a few clubs/organisations in the past and this can degenerate into a circus with everybody suddenly becoming web experts with instructions pouring in from all and sundry …

437,821 Customers Are Already Building Amazing Websites With Divi. Join The Most Empowered WordPress Community On The Web

We offer a 30 Day Money Back Guarantee, so joining is Risk-Free!

Sign Up Today

Pin It on Pinterest