Table of contents11
The client seemed lovely. Quick replies, clear brief, paid the deposit on time. We built her WooCommerce store in four weeks, she was thrilled, and then the final invoice sat unpaid for 47 days. Every follow-up got a warm reply — “so sorry, processing this week!” — and nothing else. I had no late-fee clause. No pause-of-work clause. No contract at all, really, just an email thread and my optimism. I eventually got paid, but I also learned the most expensive lesson of my freelance career: the contract you sign when everyone is happy is the only thing that protects you when they’re not.
I’m Aisha Khan, and I’ve been freelancing as a WordPress developer for six years. In that time I’ve had clients cancel mid-project, request entire second websites disguised as “small tweaks,” disappear with unpaid invoices, and once — memorably — try to claim ownership of code before paying for it. Every one of those situations taught me a clause. This guide is the collection: the contract clauses that actually protect WordPress freelancers, written in plain English, with the exact language I use.
If you’re freelancing without a real contract, or with a one-page template you downloaded and never customized, this is for you. You don’t need a law degree. You need nine clauses, thirty minutes, and the willingness to send them before the work starts. Ready? Let’s get started.
One thing before we begin: I’m a developer, not a lawyer. These clauses come from real experience and from studying what works for freelancers — but have a legal professional in your area review your contract before you depend on it. A thirty-minute legal review costs far less than one unpaid invoice.

Table of Contents: What You’ll Learn Here
- Why a handshake deal is the most expensive contract you’ll ever sign
- The scope-of-work clause that kills scope creep before it starts
- Payment clauses that actually get you paid on time
- Revision limits: the clause that protects your calendar
- The kill fee: what happens when a client cancels mid-project
- IP ownership: who owns the work, and when
- The clauses everyone forgets (timeline, confidentiality, termination)
- FAQs and my contract checklist
Ready? Let’s get started.
Why a Handshake Deal Is the Most Expensive Contract You’ll Ever Sign
Here’s the deal: most freelancer payment problems don’t start when the invoice goes overdue. They start months earlier, when the agreement was vague. If you only think about getting paid after the work is done, you’re negotiating from the back foot — and the client knows it.
Early in my career I treated contracts as something corporate and unfriendly, like I was accusing the client of being dishonest before we’d even started. So I worked on email agreements and good vibes. What I didn’t understand is that a contract isn’t a weapon — it’s a shared map. It tells both of you where you’re going, what it costs, and what happens if the road changes. Good clients love contracts. It signals that you’re a professional who takes their business seriously.
The vague-deal trap works like this. You agree to “build a WordPress site” for “$2,000.” Three weeks in, the client asks for a booking system. “I thought that was included,” they say. Was it? Nobody wrote it down. Now you’re choosing between unpaid work and an awkward argument — and either way, the relationship is damaged. A written scope would have made this a 30-second conversation instead of a week of tension.
Think of each clause as closing one specific loophole. The scope clause closes the “I thought that was included” loophole. The payment clause closes the “I’ll pay you next month” loophole. The kill fee closes the “we’re pausing the project” loophole. You don’t need all of them because you distrust people. You need them because memory is unreliable and enthusiasm fades, and the contract remembers what everyone agreed to when everyone was excited.
Clause 1: Scope of Work (The Scope-Creep Killer)
This is the most important clause in your entire contract. Everything else protects the edges; the scope of work protects the middle — the actual work, where most disputes live.
Write it with specific quantities and descriptions. Not “design a website.” Instead: “Design a 5-page WordPress website including: homepage, about page, services page, blog page, and contact page. Each page includes one design mockup round and one revision round. Includes contact form setup and basic on-page SEO configuration.” See how there’s nowhere to hide in that sentence? A client reading it knows exactly what they’re getting — and, just as importantly, what they’re not.
Then add the sentence that does the real work: “Work beyond the items listed above will be quoted separately and requires written approval before it begins.” That last part — written approval — exists because of a real scar. A client once said “yeah, go ahead” on a phone call about extra work, then disputed the invoice for that exact work two weeks later. Verbal approval evaporates. Written approval endures.
I also list explicit exclusions, because exclusions prevent the most common misunderstandings: “Not included: logo design, copywriting, product photography, premium plugin licenses, ongoing maintenance.” Every exclusion is a future argument you just prevented. When a client asks “can you also write the homepage text?”, you don’t say no — you say “that’s outside the scope, and I’d be happy to quote it.” The clause turns a confrontation into a transaction.
One freelancer’s data I came across put it bluntly: after adding a single clear scope sentence to his contracts, extra work requests dropped dramatically — because the line was visible before the asking started. Clients actually like knowing where the line is. It removes the social awkwardness of wondering whether they’re asking too much. Your scope clause is a kindness disguised as a boundary.

Clause 2: Payment Terms That Actually Get You Paid
Cash flow is the lifeblood of a freelance business, and payment terms are the heartbeat. Most freelancers get this wrong in one of two ways: they keep it too vague (“payment upon completion”) or they write a two-page billing essay nobody reads. You need a few clear lines covering three things: deposit, schedule, and consequences.
The deposit. Always require one — 30 to 50% upfront before any work begins. The deposit does two jobs: it proves the client is serious, and it reduces your downside if the project drifts. For new clients, I’d rather lose the project than fund it myself. In my experience, the clients who push hardest against paying a deposit are disproportionately the ones who later push back on invoices too. The deposit is a filter disguised as a payment.
The schedule. For projects longer than a couple of weeks, split the risk with milestone billing: 50% upfront, 25% at design approval, 25% on launch. Milestones keep cash flowing and stop one giant final invoice from becoming one giant problem. And don’t just write “Net 14” — write the term and the actual calendar due date on every invoice. That removes ambiguity and makes follow-up dramatically easier later.
The consequences. Include a late-payment term: “Invoices unpaid after 14 days incur a 1.5% monthly late fee.” You’ll rarely enforce it — but its existence changes the tone. It tells the client your payment terms are real, not decorative. One freelancer reported that late invoices dropped by more than half in the year after he started requiring deposits and stating late terms clearly. Structure signals seriousness, and clients respond to it.
The clause most freelancers skip: pause of work. “If any invoice remains unpaid 14 days past its due date, I reserve the right to pause all work until the account is brought current.” This protects your time and stops a bad situation from getting worse. Without it, you can end up doing week five of a project while week two’s invoice is still “being processed.” With it, you have a professional, non-emotional lever. I’ve used it twice. Both times the invoice was paid within 48 hours, and both client relationships survived — because the clause made it about the process, not about me being difficult.
Clause 3: Revision Limits (Protect Your Calendar, Not Just Your Wallet)
Unlimited revisions are how a profitable project quietly becomes a volunteer project. This clause is short, but it carries enormous weight: “This project includes two rounds of revisions per deliverable. Additional revisions will be billed at $X per round.”
Without this clause, clients can request unlimited changes — and many will, not from malice but because there’s no reason not to. Every tweak feels free to them. The revision limit doesn’t just protect your time; it changes client behavior. When feedback costs something, clients consolidate it. They think before they send. They prioritize. The work gets better and your calendar survives.
Be precise about what counts. I write: “Revisions include changes to text, color palettes, and minor layout adjustments within the approved design. Complete redesigns, new pages, or new functionality are not revisions and will be quoted separately.” Precision here prevents the “but you said revisions were included” argument — because yes, revisions are included, and this isn’t one.
I use two rounds for smaller projects and three for larger builds. The number matters less than the fact that the number exists and the price of exceeding it is stated upfront. A client who knows the fourth round costs $300 will think very carefully about whether they need it. That’s not being harsh — that’s being honest about the value of your time. If you want the full system for managing revisions gracefully, my colleague’s guide on handling client revisions pairs perfectly with this clause.
Bonus Tip: State the revision policy in your proposal too, not just the contract. When clients see it twice — once while deciding, once while signing — it feels like a standard professional practice rather than a surprise buried in legal text.
Clause 4: The Kill Fee (For When Projects Die Midway)
Nobody signs a contract expecting the project to be cancelled. That’s exactly why you need this clause — it’s insurance for the scenario nobody plans for. “We’re pausing the project” sounds temporary. Without a kill fee, it can mean weeks of your reserved time evaporating with nothing to show for it.
My kill fee is tied to the project phase, because fairness matters: cancel before work starts, and the client forfeits the deposit. Cancel after work begins but before delivery, and the client pays for all completed work plus a percentage of the remaining value — I use 25% if we’re past the halfway mark. This isn’t punitive. It’s compensation for time I reserved for this client and turned down other work to protect. That reserved time can’t be un-reserved retroactively.
Here’s the language I use: “If the client cancels the project after work has commenced, the client shall pay for all work completed to date plus 25% of the remaining project fee as a cancellation fee.” Clean, specific, and — in my experience — never actually invoked. Like the late fee, the kill fee’s real power is preventive. Clients who know cancellation has a defined cost don’t cancel casually, and they don’t “pause” indefinitely while you wait.
The conversation to have: mention the kill fee briefly on the kickoff call, in one sentence, with a smile: “Just so you know, the contract includes a standard cancellation clause — it’s there to protect both of us if plans change.” Framing it as mutual protection is honest (it does protect the client from me vanishing too, via the termination terms) and it removes any awkwardness. In six years, no client has ever objected.

Clause 5: IP Ownership (Who Owns the Work, and When)
This is the clause that sounds boring until the day it saves you. Intellectual property — who owns the website, the code, the design — needs to be spelled out, because the default assumptions of freelancers and clients are often opposite.
My rule, written plainly in every contract: “All intellectual property rights transfer to the client upon receipt of final payment in full.” Until that final invoice is paid, I retain ownership. This is standard professional practice, and it’s the single strongest lever you have against non-payment. A client who hasn’t paid doesn’t fully own the work yet — and that fact, stated calmly, resolves most “the check is in the mail” situations.
I also include a portfolio right: “The freelancer retains the right to display the completed work in their portfolio.” Most clients agree instantly. If one doesn’t, that’s a negotiation — sometimes worth a small discount, sometimes a dealbreaker. But get it in writing either way, because “can you take my site off your portfolio” is a miserable conversation to have two years later without a clause.
One more IP detail specific to WordPress work: clarify who owns custom code versus licensed components. “Custom-developed code transfers to the client upon final payment. Third-party themes, plugins, and licenses remain the property of their respective owners and are subject to their license terms.” This prevents the client from assuming they own a premium plugin license you purchased — and prevents you from being blamed when that license needs renewing. If you’re unsure how plugin licensing works on the delivery side, my guide on [how to install WordPress plugins safely](https://hyperdaf.com/how-to-install-wordpress-plugins-safely) covers the license hygiene I follow on every project.
The Clauses Everyone Forgets (Until They Need Them)
The big five above handle 90% of disputes. These four handle the rest — and they’re the ones freelancers most often leave out.
Timeline with two-sided deadlines. Define the start date, milestone dates, and delivery date — and include the client’s obligations: “The project timeline extends by one business day for each business day of delayed client feedback.” This single sentence prevents the classic injustice: the client takes three weeks to review your work, then blames you for missing the deadline. Deadlines cut both ways, and writing that down keeps everyone honest.
Confidentiality. A simple mutual NDA line: “Both parties agree not to disclose the other’s confidential business information.” You don’t need ten pages. You need the sentence, especially when clients share customer data, business plans, or login credentials with you. It also signals that you treat their business seriously.
Termination terms. Beyond the kill fee, spell out how either party can end the agreement: how much notice (I use 14 days for retainers), what happens to work in progress, and what gets paid. Clean exits preserve relationships. Messy exits destroy them.
Limitation of liability. “The freelancer’s total liability under this agreement shall not exceed the total fees paid under this agreement.” This caps your worst-case exposure at what the client paid you — which is the only sane ratio for freelance work. Without it, a theoretical claim could exceed the entire value of the project many times over.
None of these are exciting. All of them are the difference between a disagreement and a disaster. Add them once to your template and you’ll never think about them again — until the day you’re very glad they’re there.

My Contract Checklist (Before Every Project)
Here’s the pre-signing checklist I run through before any work begins. It takes five minutes and it has never failed me:
- ☐ Parties named with full legal names and contact details
- ☐ Scope of work with specific deliverables and quantities
- ☐ Explicit exclusions listed (what’s NOT included)
- ☐ Total price, currency, and payment method stated
- ☐ Deposit of 30–50% required before work starts
- ☐ Milestone schedule with calendar due dates
- ☐ Late fee and pause-of-work clause included
- ☐ Revision rounds defined (number + what counts)
- ☐ Timeline with client-side feedback deadlines
- ☐ Kill fee / cancellation terms tied to project phase
- ☐ IP transfers only upon final payment
- ☐ Portfolio display rights confirmed
- ☐ Termination notice period stated
- ☐ Both parties signed and dated (digital signatures count)
I keep this as a template and reuse it for every project. The first time you build it takes an hour. Every time after that takes five minutes. That’s the cheapest insurance in freelancing.
One last thing about presenting the contract: send it promptly, walk through it briefly on a call, and never apologize for having one. “Here’s my standard agreement — it protects both of us” is the entire pitch. Professionals have contracts. You’re a professional. Act like one and clients will treat you like one.
Frequently Asked Questions
Do I really need a contract for small projects? Yes — especially for small projects. A $500 project without a contract can cost you $500 of unpaid work and a week of stress. A one-page agreement with scope, price, deposit, and revision limits takes 20 minutes to prepare and prevents almost every small-project dispute I’ve ever seen.
Where can I get a freelance contract template? Start with a reputable freelancer contract template and customize it with the clauses in this guide — particularly the scope detail, kill fee, and pause-of-work clause, which generic templates often miss. Then have a local lawyer review it once. That single review upgrades a downloaded template into a real legal shield.
What should I do if a client won’t sign a contract? Walk away. I say this with love and from experience: a client who refuses a fair, standard contract is telling you exactly how the project will go. Every freelancer I know who skipped the contract “just this once” has a horror story. The project you decline is never the one you regret.
Can I use the same contract for every client? Use the same template, but customize the scope, price, timeline, and revision numbers for each project. The template is the skeleton; the project details are the muscle. Never send a contract with another client’s name or old numbers in it — I check with find-and-replace and a careful read every time.
What if a client wants to change my contract terms? Negotiation is normal and healthy. What’s not normal is a client stripping out all your protections. I’ll negotiate numbers — deposit percentage, revision rounds, timelines. I won’t negotiate away the scope clause, the IP-on-final-payment clause, or the kill fee. Know your non-negotiables before the conversation starts.
Final Thoughts
I think about that unpaid invoice sometimes — 47 days, all those warm “processing this week!” messages. What stings isn’t the waiting. It’s that I had no one to blame but myself. I chose the handshake. I chose the vague email agreement. The client didn’t trick me; I just never gave either of us a map.
A contract won’t make you a better developer. It won’t make clients love your work more. What it does is quieter and more valuable: it removes an entire category of worry from your working life. When the scope is written, you stop dreading “can you just…” When the payment terms are clear, you stop checking your bank account with anxiety. When the kill fee exists, you stop fearing the pause email.
You’re already doing the hard part — the actual work, the late nights, the craft. Give that work the protection it deserves. Build your template this week, get it reviewed, and send it with your next proposal without apology. Future you — the one who gets paid on time, every time — will be grateful. And if a clause here saved you from a disaster, or if you’ve got a horror story of your own, drop it in the comments. Freelancers learn best from each other’s scars.










