If you run an SEO agency, you've written this document dozens of times. Same structure, same decisions, same "we should really standardise this" conversation that never quite lands.
The reason it still takes time isn't the writing — it's the assembly: deciding which deliverables apply, calculating hours, aligning exclusions, and making sure the scope matches what was actually discussed on the call.
This page gives you the structure, the variables, and the common mistakes — so you can build a repeatable SEO scope of work instead of starting from scratch every time.
Who this is for
- SEO agencies writing 5+ scopes per month
- Consultants who need defensible boundary documents
- Agency operators standardising scoping across a team
- Account managers assembling scopes without senior oversight
What an SEO scope of work should contain
A good SEO SOW defines what you'll do, what you won't do, and what has to be true for the scope to hold. Here's the baseline structure:
| Section | Purpose |
|---|---|
| Project overview | What you're doing and why — the strategic context |
| Deliverables | Specific outputs with quantities and completion criteria |
| Out of scope | What's explicitly excluded — silence is not exclusion |
| Timeline & milestones | Phases, checkpoints, and dependencies |
| Roles & responsibilities | Who does what — agency vs client obligations |
| Assumptions | Conditions that must be true for the scope to hold |
| Acceptance criteria | How "done" is defined for each deliverable |
| Commercials | Fees, payment terms, and change request process |
Every section matters, but deliverables and out of scope are where most disputes originate. Be specific in both.
Variables that change the shape of SEO work
These inputs determine what belongs in the scope — and what doesn't:
| Variable | What it changes |
|---|---|
| Engagement type | Audit-only vs audit + implementation vs ongoing retainer |
| Site size | Number of pages drives crawl scope, audit depth, and hours |
| CMS / platform | WordPress, Shopify, custom — affects implementation approach |
| Markets & languages | Single vs multi-market changes content, hreflang, and reporting |
| Content production | Agency creates content vs client provides vs excluded |
| Local SEO | Number of locations, GBP management, citation work |
| Link building | Included, excluded, or separate scope — affects risk language |
| Reporting cadence | Monthly vs quarterly changes deliverable frequency |
| Access readiness | GA4, GSC, CMS, staging — affects timeline assumptions |
When these variables are explicit, you can assemble scopes instead of rebuilding them.
Common scoping mistakes
Vague deliverables. "SEO optimisation" isn't a deliverable. "Optimise title tags and meta descriptions for 50 priority pages" is. Every deliverable needs a what, a quantity, and a completion trigger.
Missing exclusions. If link building isn't included, say so. If content writing is the client's responsibility, say so. Silence gets interpreted as inclusion.
Hours without boundaries. "Up to 20 hours per month" without defining what those hours cover invites scope creep. Tie hours to specific work categories.
No change request process. New URLs, algorithm updates, competitor moves — SEO scopes change. Define how changes are handled before they happen.
Pricing disconnected from scope. When pricing lives in a spreadsheet and deliverables live in a Google Doc, they drift apart. The SOW should be the single source of truth.
Use this as a starting framework. Adapt the deliverables to match your engagement type.
Project overview
- Client name and website URL
- Engagement type (audit / implementation / retainer)
- Primary objectives and KPIs
- Reporting period and review cadence
Deliverables
- Technical SEO audit (crawl analysis, indexation review, site architecture)
- On-page optimisation (title tags, meta descriptions, heading structure, internal linking)
- Content strategy and briefs (keyword mapping, content calendar, brief creation)
- Off-page / link building (outreach, digital PR, competitor gap analysis)
- Local SEO (GBP optimisation, citation management, local landing pages)
- Reporting and insights (monthly performance report, quarterly strategy review)
Out of scope
- Content writing and production (unless explicitly included)
- Paid search / PPC management
- Social media management
- Website redesign or development work
- CMS migration or platform changes
- Link building via paid placements or PBNs
Timeline & milestones
- Month 1: Audit and strategy
- Month 2–3: Implementation (technical fixes, on-page optimisation)
- Month 4+: Ongoing optimisation and reporting
Assumptions
- Client provides GA4 and GSC access within 5 business days
- Client CMS supports meta tag editing without developer involvement
- Client responds to content approvals within 5 business days
- No major site migration or redesign during engagement
Acceptance criteria
- Audit deliverable: Completed report with prioritised recommendations
- On-page work: Implemented changes verified via crawl tool
- Reporting: Delivered by agreed date with data from specified sources
How RuleDox helps
Instead of copying from old scopes and adjusting manually, RuleDox lets you:
- Define rules once — engagement type, site size, and CMS determine which sections appear
- Calculate automatically — hours and pricing update when variables change
- Exclude safely — conditional sections ensure exclusions match what's actually included
- Delegate confidently — juniors select inputs, rules enforce your scoping logic
The output is a Google Doc. Your team reviews and adjusts what's unique. The 80% that's repeatable is already assembled.
FAQ
How long should an SEO scope of work be? Most SEO SOWs run 3–6 pages. Audits tend to be shorter (focused deliverables). Retainers need more detail because they define ongoing boundaries. Length matters less than specificity — a 2-page scope with clear deliverables beats a 10-page scope full of vague promises.
Should pricing be in the SOW or a separate document? Include it. The SOW is a boundary document — if pricing lives elsewhere, it can drift out of alignment with deliverables. At minimum, include fee structure and payment terms. For formal proposals, the SOW section covers scope while the proposal wraps it in context.
How do I handle scope changes mid-engagement? Define a change request process in the SOW itself. Specify what constitutes a change (new URLs, additional markets, expanded deliverables), how changes are requested, and how they're priced. This prevents ad-hoc "can you also..." requests from eroding margins.