← Blog

Programmatic SEO with Claude: Pick Pages Before Writing

Programmatic SEO with Claude works best when Claude decides which pages should exist before it writes any of them. Give it a keyword pattern, have it pull real search data for every variation through an SEO MCP server, and let that data cut the list down: variations with no measurable demand go, and variations that return the same search results get merged into one page. Only then does Claude draft the template and the copy. The writing is the easy part. The page list is where programmatic projects succeed or quietly fail.

Last updated: October 2026

Everyone knows Claude can write 500 pages. That’s the problem

Ask Claude for a “[service] in [city]” page for 500 cities and it’ll happily produce 500 pages. Fluent, formatted, on-brief. And most of them shouldn’t exist.

That’s the part of programmatic SEO with Claude that’s widely known and poorly understood. People assume the bottleneck was writing, so a model that writes fast must solve the whole thing. It doesn’t. If a past programmatic build of yours flopped, odds are you were right to suspect the page list rather than the copy. The bottleneck was always deciding what deserves a page, and Claude without data can’t make that call. It’ll guess at search volumes from training data (our post on how to use Claude for SEO: what it does well and where it guesses covers why), and a guessed volume is a terrible reason to publish a page.

So the workflow below spends most of its effort, and most of its credits, before the first word of page copy. If you haven’t connected Claude to The SEO MCP yet, the Claude MCP SEO: setup, prompts and credit costs post covers it. I won’t repeat it here.

For the broader picture (what programmatic SEO is, which patterns work, the risks of thin scaled content) start with our programmatic SEO guide. This post is narrower: how to use Claude as the filter.

Step 1: Expand the pattern with real numbers

Start with one pattern and a seed list. Then ask for data, not ideas:

“Get keyword ideas and suggestions for ‘invoicing software for [trade]’. Keep every variation that names a specific trade. Then get monthly search volume for the full list and return it as a table sorted by volume.”

Claude will reach for the Labs keyword tools and a search volume call. At the Growth Engine rates on our tools page, keyword ideas and suggestions cost 35 credits per started block of 100 results, and a search volume call costs 130 credits for up to 1,000 keywords. Batch the whole list into one request.

Cut anything with no recorded volume unless you have a business reason to keep it. Every variation you keep costs credits in the next step.

Step 2: Group by search results, not by wording

This is the step most guides skip, and it’s the one I’d never skip.

Two keywords that look different can return almost the same top ten. “Invoicing software for plumbers” and “plumbing invoice software” are probably one search intent with two phrasings. Publish a page for each and they compete with each other for the same results. Two keywords that look similar can also return completely different results, which means they need different pages, or different page types.

Wording can’t tell you which case you’re in. The live results can:

“For each keyword in this table, pull the top 10 Google organic results. Group keywords whose top 10 share four or more URLs. For each group, pick the highest-volume keyword as the page target and list the rest as secondary terms.”

The organic SERP tool costs 8 credits per keyword for the first 10 results at Growth Engine rates. Pair it with the search intent tool (35 credits per started block of 100 keywords) when your pattern mixes “buy” and “learn” queries, because those rarely belong on the same template.

The four-URL threshold is my own rule of thumb, not a standard. Adjust it. What matters is that a real overlap check decides the merge, not a hunch about phrasing.

My opinion, for what it’s worth: thirty pages that each own a distinct set of results will beat three hundred that split the same results between them. Every time.

Step 3: Build a data sheet for every surviving page

A programmatic page earns its place with information the template alone can’t supply. So before Claude writes, have it assemble a row of real data per page:

Data for each page Where it comes from
Target and secondary keywords, volume Steps 1 and 2
People Also Ask questions, with their source pages Google organic SERP tool
Related searches Google organic SERP tool
Local pack businesses (location patterns) Google organic SERP or Maps tools
Business profile details (location patterns) Google Business Profile tool
App ratings and reviews (app patterns) App Store and Google Play tools

The People Also Ask questions are especially useful: they’re questions real searchers ask about that exact variation, so they make natural FAQ material that differs page to page.

In Claude Code, ask it to write the sheet to a file (one JSON object per page) so the template build reads from it directly. In the Claude apps, ask for a CSV you can paste into your CMS importer. Either way, The SEO MCP supplies data, not hosting: you still need a CMS or static site generator to publish the pages.

Step 4: Price the run before you start it

Credit costs are easy to estimate, so do it before you kick off a batch. Here’s a rough example at the Growth Engine rates published on the tools page, for a pattern that starts with 150 candidate variations:

  • Keyword ideas, 200 results: about 70 credits
  • Search volume for 150 keywords, one call: 130 credits
  • Organic SERPs for 150 keywords: 1,200 credits
  • Search intent for 150 keywords: 70 credits

That’s about 1,470 credits before Step 3’s per-page lookups. The SERP step dominates. That’s why cutting hard in Step 1 pays off. Rates differ by plan (Local Dominator charges fewer credits per call, Full Stack more), so read the pricing resource for your own plan once you’re connected. Our cheap seo tools post prices a whole month of SEO jobs the same way, and low cost SEO API turns these credit costs into dollars per call.

If you’re testing on the free tier, you get 1,000 credits once you verify your email, and there are no credit top-ups: more credits come from a paid plan. That’s enough to prove the method on one small pattern of 20 or 30 variations, which is how I’d start anyway.

Step 5: Write, publish, then check a sample

Now Claude writes. Give it the template, one row of the data sheet, and a short rule list: answer the target query in the first two sentences, use the page’s own PAA questions for the FAQ, never pad with copy that would read the same on every page.

After publishing, pick five pages, including your weakest data rows, and run an on-page audit on each (44 credits per page at Growth Engine rates). Our AI SEO audit tool post shows what that check returns. Re-pull the SERPs a few weeks later to see which pages are moving, and save the results somewhere you can compare them.

One honest caveat about the whole method. The data is live, but the grouping and the writing are still Claude’s judgment. It can merge two keywords that deserved separate pages, or misread an intent. Read the groups from Step 2 yourself before anything gets written. It’s the cheapest review in the whole project and the one that saves the most rework.

Frequently asked questions

Can Claude do programmatic SEO on its own?

Claude can draft templates and page copy for a programmatic build, but on its own it estimates search data from training rather than measuring it. Connected to an SEO MCP server, it can pull live keyword volumes, Google results and People Also Ask questions, then use them to decide which pages to build. You still need a CMS or static site generator to publish the pages.

How many pages should a programmatic SEO project start with?

Start small. Pick one keyword pattern, test 20 or 30 variations, and only build pages for variations with measurable demand and their own distinct search results. A small set tells you whether the template ranks before you commit to hundreds of pages, and it keeps credit costs low while you’re still checking that the method works for your niche.

How do I stop programmatic pages competing with each other?

Group keywords by their live search results, not by how they’re worded. Pull the top 10 Google results for each variation and merge keywords whose results overlap heavily into one page, with the extra phrasings as secondary terms. Variations whose results differ get their own pages. The SEO MCP’s organic SERP tool costs 8 credits per keyword at Growth Engine rates.

Does The SEO MCP publish the pages for me?

No. The SEO MCP gives Claude live SEO data: keywords, search results, backlinks, audits and more across 93 tools. Publishing is up to you. Claude Code can write the page data to files for a static site build, or Claude can produce a CSV for your CMS importer. You start with 1,000 free credits once you verify your email, with no credit card required.

Try it on your own site

1,000 free credits, no credit card. One URL, OAuth sign-in.

Install guides