In short
- Alone, a coding agent can audit your code and write metadata, canonicals, JSON-LD, sitemaps, robots.txt and redirects.
- It can't see search demand, rankings over time, Search Console, AI Overview citations, or whether a fix worked 14 to 28 days later.
- For a new or pre-launch site, or a one-off cleanup, the agent alone is usually enough. A Search Console API script, an SEO.md log and a CI diff close part of the gap yourself.
- Serpkin adds search data, a ranked next mission with files to change, preview regression checks, and results at 14 and 28 days vs untouched pages, over MCP on every plan, Free included.
A coding agent on its own can do most of the on-page and technical SEO work on a site: audit the code, write titles and descriptions, add canonicals, JSON-LD, a sitemap and robots.txt, fix content that only renders in the browser, and add redirects. What it can't do by itself is see outside your repo: how many people search for what, where you rank, what Search Console says, who Google's AI Overviews cite, whether last month's fix moved anything, or whether a preview deploy broke a canonical. Serpkin supplies that missing context and memory. This applies the same way to Claude Code, Codex and Cursor.
We make Serpkin, so we have a stake in the answer. That is why this page also says when the agent alone is enough, and shows a do-it-yourself setup that closes part of the gap for free.
The verdict
Your agent alone can fix almost anything in your code; add Serpkin when you want it to know what to fix next, checked on the preview and measured after.
- Your agent aloneA new or pre-launch site that needs its technical foundation, or a single cleanup PR you brief yourself.$0 plus your time
- Agent with SerpkinOngoing SEO from search data, rankings and Search Console, with every change checked and measured at 14 and 28 days.Free; paid plans at $29 and $79Start free
Agent alone vs agent with Serpkin at a glance
"Partly" means the agent can do it, but only when you ask, or only with data you wire up yourself.
| Task | Agent alone | Agent + Serpkin | Note |
|---|---|---|---|
| Fix metadata, canonicals, schema, sitemap | Yes | Yes | The agent writes the code either way. Serpkin missions add snippets and done-when checks. |
| Audit the codebase | Yes | Yes | Serpkin also crawls the live site (25 to 500 pages per scan by plan) and maps URLs to files. |
| Core Web Vitals | Partly | Yes | Alone: local Lighthouse (lab data). Serpkin labels field or lab data in each scan. |
| Search demand (volume, difficulty, intent) | No | Yes | Keyword research costs 2 credits per seed. |
| Rankings over time | No | Yes | Tracked keywords: 10 weekly on Free, 100 or 300 daily on paid plans. |
| Search Console data | Partly | Yes | Alone: only if you wire the API yourself. Serpkin: optional read-only connection. |
| AI Overview citations | No | Yes | Alone: Search Console's AI report shows impressions by page, not by query. Serpkin: monthly check of important queries, on demand at 1 credit per query. |
| Which fix to do first | Partly | Yes | Alone: a reasonable guess from the code. Serpkin ranks missions using search data, foundation first. |
| Preview regression check | Partly | Yes | Alone: when asked. Serpkin: npx serpkin check, also as a GitHub Action. |
| Competitors' new pages | Partly | Yes | Alone: only when you ask it to read a competitor's site. Serpkin: weekly, from public sitemaps, free; topics you don't cover can become missions. |
| Independent review of new pages | Partly | Yes | Alone: the agent reviews its own work. Serpkin: after the page ships, an AI review checks it against what searchers ask. Advisory. |
| SEO work without anyone starting it | Partly | Yes | Alone: if you build a scheduled workflow yourself. Serpkin: npx serpkin weekly writes one that opens a pull request a week for you to review. |
| Result at 14 and 28 days | No | Yes | Baseline, then 14 and 28 days, compared with similar pages you didn't change. Correlation, not proof. |
| Cost | $0 plus your time | Free plan; paid plans at $29 and $79 | Both need the agent subscription you already pay for. |
| Memory across sessions | Partly | Yes | Alone: notes in CLAUDE.md or AGENTS.md. Serpkin keeps missions, history and results. |
What your agent can do alone
Quite a lot. Everything that lives in your code or in the HTML your server returns is within reach of an agent that can read files and run commands:
- Audit the codebase for missing metadata, duplicate titles, missing canonicals, client-only content and pages nothing links to.
- Write metadata per route: titles, descriptions, Open Graph tags and canonicals, from the page content.
- Add structured data (Organization, Article, Product, FAQPage, BreadcrumbList) that matches what is visible on the page.
- Generate a sitemap and robots.txt from your routes, and add permanent redirects when URLs change.
- Check the live HTML with
curl, and run Lighthouse locally for performance hints. - Draft content for pages you describe, with headings and internal links to your other pages.
- Analyze data you hand it. Given Search Console CSV exports, it can find queries in positions 4 to 20, pages with many impressions and a low CTR, and two pages competing for the same queries, then map each URL to the file that renders it.
- Review diffs for SEO regressions before you merge: removed canonicals, a new
noindex, renamed routes without redirects.
A single prompt gets you a useful first pass. For example:
Audit this site for technical SEO. For every public route:
1. Check the server HTML (curl the production URL) has the H1 and main copy.
2. Make sure it has a unique title, a 140–160 character description
and a self-referencing canonical.
3. Add JSON-LD that matches the visible content.
4. Generate app/sitemap.ts and app/robots.ts from the routes.
List what you changed, file by file, and anything you couldn't check.For a brand-new site, this foundation pass is most of what matters. Google says there are no extra requirements to appear in AI Overviews beyond being indexed and eligible for a snippet, so the same basics cover AI search too. Our Next.js SEO checklist is a good reference to hand your agent.
What your agent can do alone
- Good: Audit the code for missing metadata, duplicate titles and client-only content
- Good: Write titles, descriptions, canonicals and structured data
- Good: Generate a sitemap and robots.txt, and add redirects
- Good: Check the live HTML with
curl - Good: Review diffs for SEO regressions, when you ask
What it can't see
- Problem: How many people search for a query, and how hard it is
- Problem: Where you rank, over time
- Problem: Your Search Console queries and clicks, unless you wire up the API
- Problem: Which sites an AI Overview cites for a query
- Problem: Whether last month's fix moved anything
What it can't see
The limits aren't about skill. They are about data the agent doesn't have and time it doesn't span. A session starts, works on your repo and ends.
Search demand
The agent can guess what people search for, but it has no search volume, difficulty or intent data. It can write a great page for a query nobody types, or pick "project management software" over the "kanban board for freelancers" query you could actually win. Ask it for search volumes anyway and it may produce plausible-looking numbers. Treat any metric without a named source as made up.
Rankings and SERPs
Some agents can search the web, but a web search tool is not a rank tracker. It has no fixed country, language or device, and no history, so "we're on page two" one day can't be compared with the next.
Search Console
Your real queries, clicks, impressions and positions live in Google Search Console. An agent can call the Search Console API only if you set up OAuth or a service account and give it the credentials. Most setups don't, so the agent never sees which pages already get impressions and are close to page one.
AI Overview citations
Search Console counts traffic from AI features inside the normal Web search type. Its newer generative AI performance report shows how often links to your site appeared in AI Overviews and AI Mode, by page, country, date and device, but not by query, and not which other sites were cited instead. Knowing whether an AI Overview appears for a given query, and who it cites, takes SERP data for each query.
Whether a fix worked
Search impact shows up over weeks. Answering "did the new title help?" needs a baseline before the change and measurements 14 and 28 days later, ideally compared with pages you didn't change. The agent won't remember the change, let alone come back to check.
Regressions on preview deploys
A stray noindex, a removed canonical or a sitemap that stops validating usually ships in an unrelated PR. The agent only checks if someone asks, on that branch, every time.
When the agent alone is enough
Skip extra tools when:
- The site isn't live yet, or just launched. There is no search data to read. Do the foundation pass, submit the sitemap in Search Console, and wait for pages to be indexed.
- Search isn't how people find you. An internal tool, a product sold through sales calls, or a site that lives on referrals needs clean basics, not a research loop.
- You want a one-off cleanup. One audit, one PR, done. The prompt above plus a
curlcheck covers it. - You already read Search Console weekly and are happy to paste the interesting queries into your agent yourself.
The do-it-yourself middle ground
Between "agent alone" and a dedicated tool there is a setup many developers build themselves. It closes three of the gaps above with an afternoon of work:
1. Pull Search Console data with a script
Create a Google Cloud service account, add its email as a user on your Search Console property, and call the Search Analytics API with the read-only scope (webmasters.readonly). Each request returns up to 25,000 rows; page with startRow. Write the result to a git-ignored seo-data/ folder and the agent can read fresh data any time, without the 1,000-row limit of the web interface.
2. Keep a change log the agent maintains
## SEO log
After any SEO change, append a line to SEO.md:
date | URL | what changed | target query | clicks, impressions, CTR, position (last 28 days, from seo-data/)
When asked "did it work?", compare the same 28-day metrics now, and say that the result is a correlation.3. Check previews in CI
#!/usr/bin/env bash
# Usage: scripts/seo-diff.sh https://preview.example.app https://example.com /pricing /blog
set -uo pipefail
preview=$1; prod=$2; shift 2; status=0
tags() { curl -s -m 20 "$1$2" | grep -oiE '<(title|link[^>]*canonical|meta[^>]*(robots|description))[^>]*>' | sed "s#$1#HOST#g"; }
for path in "$@"; do
if ! diff <(tags "$preview" "$path") <(tags "$prod" "$path"); then
echo "SEO tags differ on $path"; status=1
fi
done
exit $statusThat is crude (it flags every intentional change too, and preview hosts often send a header-level noindex this won't see), but it catches the removed canonical. What the DIY route still lacks is search demand, rankings over time, AI Overview citations and a ranking of what to do next.
What Serpkin adds to the agent
Serpkin connects over MCP and gives the agent the outside view and the follow-through. The loop, as the agent runs it:
serpkin_next_missionreturns one mission: why now, target pages and queries, the files to change, ordered steps with snippets, and acceptance checks.- The agent implements it in your repo and runs your tests.
npx serpkin check <preview-url>compares the preview with production and fails on regressions (errors, a new noindex, removed titles or canonicals, a broken sitemap or robots.txt).serpkin_submit_resultandserpkin_verify_missionrecord the change and verify it, in preview and again in production after you deploy.serpkin_get_resultslater shows the baseline and the 14- and 28-day measurements.
npx serpkin # sign in, detect framework and agent, map routes, connect MCP,
# run the first scan and print your first mission
# then in Claude Code (with the Serpkin plugin):
/serpkin:next # get the next mission and implement itThe MCP server has 28 tools and 5 prompts on every plan, so Codex and Cursor get the same loop without the Claude Code plugin. Missions go beyond the foundation pass the agent can do alone:
- Fix the basics: small title, description, canonical, H1, Open Graph and JSON-LD fixes bundled into one mission instead of six.
- Free tool pages when the top results for a query are calculators, checkers or generators.
- Comparison and alternatives pages for competitors you name or "x vs y" queries.
- Backlink recovery (links pointing at broken pages, lost links) and directory listings that fit your site. You submit listings yourself.
- AI Overview citations: pages where an AI Overview cites competitors but not you.
If a mission doesn't fit, dismiss it with a reason ("not relevant", "disagree") and similar missions rank lower. Serpkin never edits, merges or deploys your site.
What it costs, compared with doing it alone
The agent alone costs nothing beyond the subscription you already pay for, plus your time: an afternoon for the DIY setup above, then reading Search Console and briefing the agent each week. Serpkin Free covers 1 site, 3 missions a month and 25 research credits. The Builder plan is $29 a month (or $290 a year) for 3 sites, 30 missions and 500 credits; Pro is $79 for 15 sites. Research uses credits (a keyword seed is 2); missions, scans, checks, verification and results don't.
Which setup fits you?
- Your site is new or pre-launch and needs the technical foundation.
- Search is not a meaningful channel for you.
- You want a single cleanup PR, not ongoing work.
- You'll read Search Console yourself and brief the agent.
- You want the agent to know what to work on next, based on search data.
- You want rankings, Search Console and AI Overview citations in the agent's context.
- You want every SEO change checked on the preview and measured at 14 and 28 days.
- You don't want to become an SEO expert to keep doing this.
Whichever you choose, check these before you call the work done:
- The production HTML (via
curl) has each page's H1, title, description and canonical. /sitemap.xmllists only 200, canonical, indexable URLs, and robots.txt points to it.- No page you want found has
noindexin its robots meta tag. - The sitemap is submitted in Search Console.
- You wrote down what changed and when, so you can look at the result in 4 weeks.
For setup details see Serpkin with Claude Code, or start free.
Questions
Can Claude Code do SEO?
Yes, for everything in your code: metadata, canonicals, structured data, sitemaps, robots.txt, redirects, rendering fixes and internal links. It can't see search volume, rankings, Search Console or AI Overview citations unless a tool gives it that data.
Is Claude Code good enough for SEO without another tool?
For a new site or a one-off cleanup, usually yes: it can do the whole technical foundation. Once the site gets impressions, the gaps are data and follow-through: search demand, rankings over time, which fix to do next and whether it worked. You can close part of that yourself with a Search Console script, an SEO log and a CI diff, or connect a tool such as Serpkin.
Does Cursor or Codex work the same way for SEO?
Yes. The limits come from missing data, not the agent. Codex and Cursor can make the same code changes as Claude Code, and Serpkin connects to all three over MCP.
Can my coding agent read Google Search Console?
Only if you give it a way in: CSV exports in the repo, a script that calls the Search Console API with a service account (up to 25,000 rows per request), or a tool that does this for it. Serpkin offers an optional read-only Search Console connection and passes the data to the agent.
Do I need an SEO tool for a brand-new site?
Usually not at first. With no traffic there is little search data to act on. Have your agent do the technical foundation, submit the sitemap in Search Console, and add a tool once pages are indexed and getting impressions.
Sources
- Google Search Central: AI features and your website (checked October 28, 2026)
- Google Search Console API: Search Analytics query (checked October 28, 2026)
- Search Console Help: Performance report (checked October 28, 2026)
- Search Console Help: Generative AI performance report (standard 1,000-row table limit) (checked October 28, 2026)