Five areas, and why the cadence column matters more than the list
Every agency can recite the categories. Technical, content, off-page, local, reporting. The list is not the useful part — it's on every pitch deck in India and it tells you nothing about whether the work happens.
What separates a real scope from a nice deck is frequency. "We do technical SEO" can mean a full crawl every quarter with a fix queue, or one audit in month one that nobody opens again. Same words, wildly different invoice.
So each table below carries a cadence label. Once means setup work that shouldn't recur unless something changes. Weekly and monthly mean it belongs in a standing calendar. Quarterly means it's cheap to skip and expensive to have skipped.
Technical SEO: twelve activities
This is the plumbing. It rarely wins you a ranking on its own, and it caps everything else when it's broken. On a site older than three years it's usually where the first genuine gains hide.
| Activity | What it means in practice | Cadence |
|---|---|---|
| Full site crawl | Screaming Frog or Sitebulb across every URL, producing a prioritised fix list | Once, then quarterly |
| Indexation review | Search Console Pages report — what's indexed, what's excluded and why | Monthly |
| robots.txt and XML sitemap | Correct directives, clean sitemap with only canonical, indexable URLs | Once, then after any site change |
| Redirect audit | Finding chains, loops and 301s pointing at 404s | Once, then per migration |
| Core Web Vitals | LCP, INP and CLS measured on field data, not just lab scores | Monthly monitoring |
| Schema markup | Organisation, Product, FAQ, LocalBusiness, Article — per template, not per page | Once per template |
| Canonical and duplicate handling | Parameters, pagination, filtered URLs, http/https and www variants | Once, then monthly spot-check |
| JavaScript rendering check | Confirming Googlebot sees the content your users see | Once, then per framework change |
| Server response time | Time to first byte from your host, under real load | Quarterly |
| Log file analysis | Which URLs Googlebot actually fetches and how often. Large sites only | Quarterly |
| Hreflang and international setup | Only if you serve multiple countries or languages | Once, if applicable |
| Mobile rendering check | Layout, tap targets and content parity on a real device | Quarterly |
Content and on-page: eleven activities
The largest line in almost every retainer, and the one most often reduced to "four blogs a month". Writing is one of eleven things here. The other ten are what decide whether the writing earns anything.
| Activity | What it means in practice | Cadence |
|---|---|---|
| Keyword research and mapping | Query set built, deduplicated and assigned to specific URLs | Once, refreshed quarterly |
| Intent audit of existing pages | Checking each page answers the query it targets, not an adjacent one | Once, then quarterly |
| Title tags and meta descriptions | Written per page, revisited when CTR slips | Per page, then on decay |
| Heading structure and body copy | One H1, logical H2s, the answer near the top | Per page |
| New page production | Pillars first, then clusters. Volume matters less than consistency | Weekly or monthly cadence |
| Content refresh | Updating pages that used to rank and are sliding | Monthly |
| Internal linking | Wiring new pages into the cluster and back to money pages | Weekly, as pages ship |
| Cannibalisation audit | Finding two pages competing for one query and merging or differentiating them | Quarterly |
| Content pruning | Removing or consolidating pages that have never earned an impression | Twice a year |
| Image alt text and compression | Accessibility, image search, and page weight | Per page |
| Snippet and FAQ formatting | Structuring answers so they can be lifted into a featured snippet or AI answer | Per page |
Links and digital PR: eight activities
The area with the widest quality gap between agencies, because the cheap version and the expensive version look identical on a report. Both produce a number of new referring domains. Only one of them survives a spam update.
| Activity | What it means in practice | Cadence |
|---|---|---|
| Backlink profile audit | What you already have, what's toxic, what's been lost | Once, then quarterly |
| Competitor link gap analysis | Domains linking to three competitors but not to you | Quarterly |
| Digital PR asset production | Original data, surveys, tools or commentary worth citing | Quarterly |
| Outreach and placement | Pitching journalists and site owners, tracking replies | Weekly |
| Lost and broken link reclamation | Fixing links that used to point at you and now 404 | Monthly |
| Unlinked mention outreach | Finding places your brand is named without a link, and asking | Monthly |
| Partner and supplier links | Distributors, associations, sponsorships, customer case pages | Twice a year |
| Disavow review | Only on real evidence of a manual action or a paid-link legacy | Rare, on evidence only |
Local SEO: seven activities, if you have an address
Skip this section entirely if you're a pure-play SaaS or a national e-commerce brand with no physical presence. If you have clinics, stores, branches or a service area, this is often the fastest-returning work on the whole list — and it barely touches your website.
| Activity | What it means in practice | Cadence |
|---|---|---|
| Business Profile setup | Correct primary category, services, hours, attributes, photos | Once, review quarterly |
| Profile posts and photos | Fresh images and updates — the profile is a live surface, not a listing | Weekly |
| Review generation and response | A repeatable ask built into your delivery, plus replies to every review | Weekly |
| NAP and citation cleanup | Consistent name, address and phone across directories and aggregators | Once, then twice a year |
| Location landing pages | One real page per branch with unique content, not a list of eleven addresses | Once per location |
| Local link building | Sponsorships, associations, local press, community listings | Monthly |
| Grid-based rank tracking | Map pack position measured across a geographic grid, not one point | Monthly |
Measurement and reporting: eight activities
The area clients cut first and regret last. Without the first row on this table, nothing else on this page can be proved to have worked.
| Activity | What it means in practice | Cadence |
|---|---|---|
| Baseline capture | Freezing the trailing-90-day number you'll be judged against, on day one | Once, before work starts |
| Analytics and conversion setup | GA4 events, forms, calls and CRM lead source actually firing | Once, verify quarterly |
| Search Console monitoring | Impressions, position and coverage for the query set in the plan | Weekly |
| Rank tracking | The keywords in your plan, not a vanity average across everything | Weekly |
| Reporting | What moved, why, and what happens next month. Two pages, not twenty | Monthly |
| CRM reconciliation | Matching organic leads in analytics to real deals in the CRM | Monthly |
| Algorithm update watch | Checking whether a drop was you, Google, or seasonality | As updates land |
| Strategy review | Reallocating hours based on what the last quarter proved | Quarterly |
What's genuinely one-time — and how to turn this into a scope
Twelve of the activities above are setup: the first crawl, robots and sitemap, the redirect audit, schema per template, the JS rendering check, hreflang, keyword mapping, the intent audit, the backlink audit, Business Profile setup, location pages, and analytics and baseline setup. They should be finished inside the first quarter and never billed as recurring work again.
Everything else repeats. That's the honest reason SEO is sold as a retainer rather than a project — not because agencies like recurring revenue, though they do, but because roughly thirty-three of these forty-five items have no finish line. The retainer versus project comparison goes deeper on where that line should sit.
To use this as a scope: delete the rows that don't apply, put a name against every remaining row, and ask what happens to the cadence if hours run short in a busy month. The answer to that last question is where most retainers quietly fail.