This is one real client month run in Claude Code with DataForSEO: October 2026, for an ecommerce brand I work with directly. Clicks fell about 20%, so the job was to explain a decline correctly and decide what to do next. Below is what each stage produced, what had to be corrected along the way, and what is still unproven.
Disclosure: links marked “affiliate link” in this post go to DataForSEO and SE Ranking. If you sign up through them, I may earn a commission on every successful sale, at no extra cost to you. The client is anonymized: name, category, market, competitors and prices are left out.
What does an SEO month look like in Claude Code?
An SEO month in Claude Code is a loop of four stages in one project folder: audit, plan, execute and report. Each stage writes a file the next one reads, and a person approves the work between stages. Items left open in the report become the next month’s starting list.

The four stages match the skills in my free starter pack: seo-audit, seo-task-plan, seo-execution and seo-report, plus seo-system-setup to tailor them. This client’s version is further along, with its own product facts, voice rules and record of past corrections. The pack is the generic starting point for that.
DataForSEO was one of three data sources this month:
| Source | What it answered |
|---|---|
| Search Console and GA4, through SEOcrawl | Clicks, impressions, queries, branded split, sessions by channel |
| SE Ranking (affiliate link) | Site audit, tracked positions, AI share of voice |
| DataForSEO (affiliate link) | Live search results, competitor keyword counts, AI answer mentions |
What did the audit find?
The audit found three separate causes behind a 19.5% drop in clicks, while impressions rose 22.4%. It compared 1 to 29 October with 1 to 29 September, because Search Console data arrives a few days late and unequal windows distort the result.
| Finding | Evidence | Where DataForSEO came in |
|---|---|---|
| Fewer brand searchers clicked through | Brand impressions flat, brand click-through rate down from 29.5% to 23.1%, position unchanged | The live results page now showed an AI Overview, a video and a retailer beside the client’s links |
| The main category term stopped sending clicks | Weekly clicks on the head term fell to low single digits by late October | The live results page led with an AI Overview and product grids, with the client’s page out of the top 10 |
| Informational posts softened | Fewer impressions and lower click-through, mostly at the same positions | Not needed. Search Console answered this one |
The most useful check was whether a drop belongs to the client or the whole category. DataForSEO Labs showed the client’s ranked keywords down about 8%, and a leading competitor down about 9%. So part of the drop was the market, which changes the conversation with a client. Search Console alone could not have shown that.
What had to be corrected?
Four first reads needed correcting: an hreflang error, a brand count, a month filter and a Black Friday number. Each surfaced because something outside the first tool contradicted it.

- The largest audit error was not a site problem. The audit flagged 653 pages for hreflang errors, and the plan and client report treated it as a theme fix. A live check on 5 October showed the platform generates those tags and the ones that mattered were correct. I reclassified it as noise and sent the client a correction.
- The brand count was too low. The tracker matched one spelling of the client’s name, and ChatGPT often writes another. Counting all the spellings moved share of voice from 9.7% to 11.2%. That is now the baseline.
- A month filter returned the same number twice. A DataForSEO LLM Mentions pull gave the same figure with a September filter as it did for October, so I quoted no month-over-month change from it. The endpoint also refused a country filter for ChatGPT, so those figures carry a label saying which market they cover.
- A Black Friday number was overstated. The sale page had about 167,000 impressions and one click, and my first message to the client called those views. They were impressions, and most did not look like real shoppers. I told the client the opportunity was smaller than I had first made it sound.
How did the audit become a plan?
The plan gave every task an owner, a week and a definition of done. October’s list held 50 tasks across five owners, including me, the client’s developer and outreach help. A checkable end point lets Claude verify that a task shipped instead of assuming it did.
Here is one of those tasks:
| Task | Merge two overlapping collections into the URL that holds the rankings and the AI Overview citation |
|---|---|
| Depends on | Client approval of the merge |
| Done when | One URL remains, the old one redirects in one hop, navigation points to the survivor, and no outdated warranty claim is left on the page |
| Outcome | Shipped and verified. A rescan of 564 URLs found no links left to the old page |
What shipped during the month?
October’s delivery log shows 61 posts fact-checked, 28 product descriptions rewritten and 563 internal links fixed, plus metadata, schema, feed and tracking repairs. The full list:
- 61 blog posts fact-checked and optimized for AI search
- 28 product descriptions rewritten
- 563 internal links to redirected URLs fixed
- 123 long titles, 275 long descriptions and 104 duplicate titles cleaned up
- New and merged collection pages, redirects, schema fixes and product feed corrections
- Conversion tracking repaired, with 26 key events cut to 3, so revenue can be read from 20 October onward
Shipping this much created new problems. November’s audit found errors from October’s own work, including more duplicate H1s (74 to 90) and pages loading many more script files, probably from a new app. Those went straight into the next plan.
To test whether refresh work actually moves clicks, I also set up a controlled experiment: 27 refreshed posts against 27 matched posts left alone, with the method written down before anything shipped. It reads out after 29 January 2027, so I am making no claim about it yet. Until then the 54 posts are frozen apart from factual corrections, and every plan works around that.
What did the client report say?
The client’s team got a short message: clicks were down about 20%, here are the three causes, part of it is the market, and here is the decision we need from you. The full review sat behind it for anyone who wanted the detail.
The report carried good news with its limits stated. ChatGPT citations in the tracker rose from 28 to 208 between the 19 October and 2 November readings. In a sample of 60 citing prompts, 51 pointed to one buyer’s guide, and ChatGPT was citing it at the wrong URL. The report named that as a fix for November.
The report closed with November’s plan and targets to check on 1 to 3 December, including clicks back to September’s level. Last year’s search volumes put November demand 17% above October, so part of any recovery will be seasonal. I will update this post when that read is in.
What did DataForSEO cost for this month?
DataForSEO’s cost for this one client cannot be isolated, because my usage export breaks spend down by API and by day, not by project. My whole account, across every client and study, came to $34.42 for the 30 days to 26 October, and the pricing post has that breakdown. DataForSEO’s usage report also covers child accounts, which should separate clients, though I have not tested that.
How do you run this on your own client?
Run it on your own client by installing the five skills, completing the setup interview, and feeding the audit a Search Console export and a crawl. Connect DataForSEO (affiliate link) when you need the market view, using the setup guide. Each time you correct something, add the correction to the skill.
Get the free starter skill pack. To see how this compares with other approaches, read the Claude SEO guide.



