Skip to main content

Agencies · SEO content

MixedMarketing agencies

An SEO content pipeline from keyword gap to ranking, per client

Most agency SEO work stalls between the keyword spreadsheet and the published page. This setup keeps one table from gap to ranking, with an editor approving every draft and a dashboard that shows output and positions together.

Valnora & Elric team6 min read

SEO content · Northleaf Coffee
Illustrative example
Last 12 weeksAll clustersSemrush positions
Open keyword gaps214+18 this week
Drafts waiting for editor62 older than 3 days
Published this quarter23Target 30
Pages in top 109+3 vs last month
Published pages and pages in top 10, by weekPublished (cumulative)In top 10
W1W2W3W4W5W6W7W8W9W10W11W12

Pipeline, latest keywords

KeywordVolumeStagePositionStatus
cold brew concentrate ratio2,900Published7Ranking
best coffee for moka pot1,600Published14Climbing
single origin vs blend880Draft–With editor
how to store coffee beans4,400Brief–In progress
decaf process explained720Published23Dropped
Illustrative

1 table

From keyword gap to ranking

Every stage is a status on the same row. Illustrative setup.

Illustrative

100%

Drafts approved by an editor

Nothing reaches the CMS without a person’s approval.

Illustrative

3 days

Example editor turnaround target

Illustrative; the tile turns amber after it.

Illustrative example. Figures show how the workflow is measured; they are not customer results.

Agency SEO work usually lives in four places. Keyword research in a spreadsheet, briefs in documents, drafts in someone’s editor, rankings in a tool the client never opens. Each hand-off loses something: the reason a keyword was chosen, the product fact the writer needed, the date the page went live.

This post walks through a setup in Agent Serve that keeps one row per keyword from the gap to the ranking, with an editor approving every draft and a dashboard that shows output and positions side by side. The client, keywords and figures are illustrative.

Keyword gaps go into a table

Workflow 1 runs every Monday on a schedule. It uses the Semrush or Ahrefs block, both read-only, to pull organic keywords for the client’s domain and for three competitors the client agreed on. An Agent block compares the lists and keeps keywords where competitors rank in the top 20 and the client does not rank at all.

Each gap becomes a row in a keyword table in Tables: keyword, monthly volume, difficulty, which competitor ranks and at what position, a topic cluster, and a stage that starts at New. Rows already in the table are updated rather than duplicated, so the table grows into a running list instead of a weekly dump.

The strategist reviews the new rows in the table, sets the stage of the ones worth writing to Brief, and leaves the rest. That choice stays with a person: volume alone does not tell you whether a keyword fits the client’s products.

Briefs and drafts come from the client’s own facts

From keyword gap to tracked ranking

A weekly workflow writes keyword gaps from Semrush or Ahrefs into a table. Briefs and drafts are written against the client knowledge base, an editor approves each one, and a dashboard tracks output and rankings.

Workflow 1 · Find gaps

  1. 01Weekly scheduleRuns each Monday for every client workspace.
  2. 02Semrush or AhrefsOrganic keywords for the client and three competitors, from read-only reports.
  3. 03Keyword tableKeywords competitors rank for and the client does not, with volume and difficulty.

Workflow 2 · Brief, draft, approve

  1. 04Client knowledge baseBrand guide, product facts, banned claims and existing pages.
  2. 05Brief then draftWrites a brief for the chosen keyword, then a draft that cites product facts.
  3. 06Editor approvalA Human in the loop step: approve, return with notes, or reject.
  4. 07WordPress or WebflowApproved drafts are created in the client’s CMS for a final look.

Dashboard · Output and rankings

  1. 08Rankings tableA weekly pull of positions for every published keyword.
  2. 09SEO dashboardPipeline counts, positions over time and pages that moved.
  3. 10Ranking drop monitorAlerts the strategist when a tracked page falls out of the top 10.

Workflow 2 starts when a row moves to Brief. It searches the client’s Knowledge Base for the brand guide, product facts, banned claims and the pages the client already has. Then an Agent block writes a brief: the search intent, what the top pages cover, the angle for this client, what must and must not be said, and which existing pages to link.

What the solution produces

Brief for one keyword (illustrative)

Record
Keyword
how to store coffee beans · 4,400 searches a month · difficulty 38
Who ranks
Two competitors in the top 5 with 1,200 to 1,600 word guides.
Angle
Storage by roast date and grind, using Northleaf’s valve bags as the example.
Must include
Roast date on every bag; no claim that beans "stay fresh for a year".
Internal links
Grinder guide, subscription page, moka pot guide
Source
Brand guide v3 and product sheet, client knowledge base
Briefs table · waiting for the strategist

When the strategist approves the brief, the same workflow writes a draft against it. The draft cites product facts from the knowledge base rather than inventing them, and it uses the client’s tone of voice notes. If the knowledge base has no answer for something the draft needs, such as a shelf-life figure, the draft marks a gap for the editor instead of filling it with a guess.

The editor approves before the CMS

A Human in the loop block pauses the run and sends the editor the brief, the draft and the banned-claims list. The editor can approve, return it with notes, or reject it. Returned drafts go back to the writer step with the notes attached; rejected ones move the row to Dropped with a reason.

Only an approved draft continues. The WordPress block creates a post, or the Webflow block creates a CMS item, on the client’s site. Most agencies create it as a draft or unpublished item, so the client can see it in their own CMS before it goes live. The row moves to Published with the URL and date.

Rankings close the loop

A second scheduled workflow pulls positions each week for every published keyword from Semrush or Ahrefs and writes them into a rankings table, one row per keyword per week. The dashboard panels read both tables, and update as new rows land:

  • Tiles for open gaps, drafts waiting for the editor, pages published this quarter, and pages in the top 10.
  • A trend line of published pages against pages in the top 10, by week. The gap between the lines is the lag between publishing and ranking.
  • A pipeline table with each keyword’s stage and latest position, so the client can see what is in progress, not only what ranked.

How to measure it

Illustrative

1 table

From keyword gap to ranking

Every stage is a status on the same row. Illustrative setup.

Illustrative

100%

Drafts approved by an editor

Nothing reaches the CMS without a person’s approval.

Illustrative

3 days

Example editor turnaround target

Illustrative; the tile turns amber after it.

Illustrative example. Figures show how the workflow is measured; they are not customer results.

Alerts and a weekly note

A monitor watches the rankings and alerts the strategist by email, in the app or in Slack when a tracked page falls out of the top 10. Monitors re-check as often as every 5 minutes, but rankings only change when the weekly pull lands.

For commentary, a Relay runs each Friday on a schedule. It reads the keyword and rankings tables, writes three or four lines on what moved and why it might have moved, and leaves them in the strategist’s chat. Relays read tables but do not write rows, and any email they draft needs approval, so the note reaches the client only after the strategist edits it into the scheduled report.

Per-client setup

Run each client in their own workspace, with their own Semrush or Ahrefs connection, knowledge base and CMS access. Workflows run from a deployed version, so a change to the brief template is reviewed before it reaches every client. For the wider reporting rhythm, see client reporting dashboards.

Controls and governance

Run logs

Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.

Deployed versions

Workflows run from a deployed version, so a change is reviewed before it reaches production runs.

Roles and permission groups

Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.

Row-level access

Row-level policies narrow what each person sees in tables, dashboards, exports and scheduled reports.

Audit trail

Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.

Bring your own keys

Use your organisation’s own model provider keys at organisation or workspace level.

More on how Agent Serve handles access, data and audit on the security page.

What you need

  • A Semrush or Ahrefs account with API access, connected in each client’s workspace
  • A list of three competitors per client, agreed with the client
  • A client knowledge base with the brand guide, product facts and a banned-claims page
  • WordPress or Webflow access for the client site, with a role that can create posts or CMS items
  • A named editor per client who approves every draft

Questions teams ask

Does the pipeline publish straight to the live site?

Only after an editor approves the draft in the Human in the loop step. Many agencies then create the post as a draft in WordPress or an unpublished CMS item in Webflow, so the client sees it in their own CMS before it goes live.

Can Semrush or Ahrefs change anything in the client’s accounts?

No. Both blocks read reports only: organic and paid keywords, competitors, backlinks and top pages.

How do clients see the dashboard?

Through a scheduled report sent weekly or monthly as a PDF, PNG or link. Row-level access keeps each client to their own rows if you run one dashboard across clients.

Written by the Valnora & Elric team.

Figures, dashboards and sample outputs in this article are illustrative examples, not customer results. This article is for information only and isn't legal or regulatory advice.

Enterprise access

Put AI agents to work across your team

Agent Serve is available to teams by invitation. Tell us what you want to build and we will set up your workspace with you.