How to Use Claude as an SEO Workflow Instead of a Chatbot

Chris Alarcon Chris Alarcon

Direct Answer

Use Claude as one step inside a defined workflow, not as a chatbot you re-prompt every week.

A chatbot has no memory of your site, no schema rules, no internal-link map, and no approval gate. A workflow has a trigger, inputs, a decision rule, an artifact, and a review step. Claude only sees the inputs you load. The output is the same shape every time. The system improves because you fix the workflow, not the prompt.

The smallest version: pull Search Console data on a schedule, score the query, brief the page in a file in your repo, draft in Claude Code with the repo as context, edit against a checklist, build, QA, publish. Same path every run.

Use This When And When To Skip It

Use thisSkip this
You publish 2+ pages a month and they keep drifting in voiceYou are writing one-off pages with no cluster
You have a repo with existing posts, voice notes, schema, and an internal-link mapYou have fewer than five existing posts
GSC is connected and showing impressions you are not convertingYou have no GSC data yet. Fix that first
You want the same shape every week without re-explaining toneYou enjoy the chat-window flow and only ship monthly

Tradeoff: a workflow takes one weekend to wire. A chat window takes zero. The workflow pays back the second week.

The System

Trigger      -> weekly cron or new GSC opportunity
Inputs       -> GSC query, target page, internal-link map, schema rules, voice profile
Decision     -> answer page, comparison, workflow, tool, or refresh?
Claude step  -> draft against the brief with the repo as context
Artifact     -> markdown file, frontmatter, internal links, FAQ schema
Approval     -> human read for voice, claims, and receipts
Output       -> commit, build, deploy, ping IndexNow
Feedback     -> GSC impressions, CTR, position at 14/30/50 days

Claude owns: writing the draft, expanding the brief, drafting the FAQ, proposing internal links.

Claude does not own: deciding what to publish, approving claims, hitting publish, measuring results.

That split is the whole point. The model is one node. The workflow is the system.

Steal This Workflow

This is the actual shape that runs on this site. Copy the file paths, swap your repo.

1. Pull the data weekly.

npm run gsc:refresh
npm run reddit:aeo-scout
npm run aeo:weekly

Output: a ranked list of real questions and queries with enough signal to become an answer page.

2. Pick the page type by query shape.

Query shapeAsset
”what is X”Answer page + FAQ schema
”X vs Y”Comparison page
”how to X”Tutorial or workflow page
”X calculator / template / planner”Free tool
”best X for Y”List or stack page

3. Write the brief as a file in the repo, not a chat message.

outputs/aeo-page-briefs/<run>/briefs.md

The brief must contain the source query, the exact source language, the direct-answer angle, the artifact the page will ship, and the internal links it should hit.

4. Hand the brief to Claude with the repo as context.

claude --model opus -p "Read the brief at outputs/aeo-page-briefs/<run>/briefs.md. Read the voice profile. Read existing posts in src/content/posts/ so you do not duplicate angles. Draft the page per the AEO standard. Return markdown only."

Claude reads voice, existing posts, schema rules, and the internal-link map from the repo. It does not re-negotiate tone.

5. Run the deterministic QA gate before you touch the build.

python3 /Users/chrisalarcon/Documents/Productivity/.claude/skills/ship-lean-aeo-page-factory/scripts/score_aeo_page.py path/to/draft.md

If it returns below 8.5, revise. If any category scores 0, the page fails even at a high total.

6. Build, QA, deploy.

npm run build
npm run qa:search

Check: title and meta unique, sitemap includes the URL, canonical correct, schema present, no broken internal links.

7. Ship and inspect.

After deploy, submit the URL to IndexNow and inspect it in GSC:

node scripts/gsc-inspect.mjs https://yourdomain.com/blog/<slug>

8. Measure at 14, 30, and 50 days. Refresh the pages with impressions but weak CTR before writing new ones.

Every step has an owner, an input, an output, and a gate. The Claude step is one row in that table.

What This Looked Like For This Page

This page did not start with “write me an SEO post about Claude.”

It started as a recent Reddit source signal, then moved through the same page-factory path:

npm run reddit:aeo-scout -- --run-name 2026-05-14-weekly-aeo
npm run aeo:weekly -- --run 2026-05-14-weekly-aeo --run-name 2026-05-14-weekly-aeo

That run pulled 936 raw Reddit RSS entries, scored 314 candidates, generated 25 AEO briefs, and marked 9 as publish_now.

This topic won because it had the three things a real AEO page needs:

GateWhy it passed
Source languageThe question was not abstract. People were talking about using Claude for SEO work, not “AI content strategy” as a vague category
ArtifactThe answer could become a workflow map with commands, repo paths, QA gates, and a skip rule
Cluster fitIt naturally links into Claude Code, n8n, GSC, AEO pages, and Ship Lean’s content system

The draft then went through an Opus pass, a Codex QA pass, and this local gate:

python3 /Users/chrisalarcon/Documents/Productivity/.claude/skills/ship-lean-aeo-page-factory/scripts/score_aeo_page.py src/content/posts/how-to-use-claude-as-an-seo-workflow/index.md

That is the part most “AI SEO” content skips. The model can write the page, but the workflow decides whether the page deserved to exist.

What Most People Get Wrong

The mistake is treating Claude like a search assistant.

Open a fresh chat. Paste a keyword. Ask for an outline. Ask for a draft. Ask it to rewrite the intro. Next week, do it again with a different keyword. The output is fine. Nothing compounds.

Three specific things break.

  1. No memory of your site. Claude does not know what you already published, what you internally link, or what your schema looks like. You end up with thin pages that compete with each other for the same query.

  2. No decision rule. Every chat is a fresh negotiation about angle, length, and tone. You re-explain your voice on Monday and again on Friday.

  3. No approval gate. A chat window encourages “looks good, ship it.” A workflow forces a checklist read: direct answer up top, no invented metrics, internal links present, schema correct.

The fix is not a better prompt. The fix is a workflow that uses the prompt as one step.

How I Would Build This In Ship Lean

The Ship Lean version uses Claude Code for judgment steps and n8n for routing.

Inputs live in the repo, not in chat.

  • Voice profile and brand rules as files Claude Code reads on every run.
  • A list of existing posts and their primary queries so the model does not propose duplicate angles.
  • A schema reference for BlogPosting and FAQPage so the FAQ block is always valid.
  • An internal-link map of tool, workflow, and pillar pages.

Claude Code as the draft step. Use the Claude Code n8n workflow planner to sketch where Claude sits in the pipeline. The model reads the brief and the repo. It writes one draft. It does not pick the topic.

n8n as the router. Use the n8n AI agent workflow pattern for triggers and routing. n8n pulls GSC data on a schedule, queues briefs, posts drafts to a review channel, pings IndexNow after deploy. The same approval pattern from the n8n AI agent tutorial keeps a human in the loop before anything goes live.

Importing community workflow JSON safely. If you grab community n8n workflows for SEO tasks, run them through the n8n Workflow JSON Auditor before activating. Unknown JSON can include credentials, webhooks, and code nodes you did not write.

The stack stays small. Claude Code, n8n, GSC, the repo. That is enough. The full AI stack for solo founders post goes deeper on what to keep and what to cut.

Next Step

If you are still pasting prompts into a Claude chat for SEO work, do one thing this week. Pick the next page you plan to write. Build the brief in a file in your repo. Open Claude Code in that repo. Run the draft step there instead of in a chat tab.

If you want the same routing layer Ship Lean uses, the Claude Code n8n workflow planner maps the trigger, brief, draft, approval, and publish nodes for you. The model did not change. The workflow did.

Source Signal

Research-inspired by a Reddit thread where an operator described moving SEO work out of Claude chat and into a defined workflow. Treat the thread as one builder’s note, not as proof of Chris’s results. Original: r/ClaudeCode: “Guys, I stopped using Claude as a chatbot for SEO work”.

The pattern matches the broader Ship Lean rule: the model is one step, the workflow is the system, and the approval gate is non-negotiable.

FAQ

What does it mean to use Claude as an SEO workflow? Treat Claude as one step in a defined pipeline: GSC query in, brief in, repo context in, one draft out, human approval before publish.

Do I need Claude Code or will Claude.ai work? Claude.ai is fine for one-off drafts. Claude Code is stronger because it reads your repo, voice profile, and internal-link map on every run.

Where does n8n fit? n8n owns triggers and routing: pull GSC on a schedule, queue briefs, post drafts to review, ping IndexNow after deploy. Claude owns the judgment steps.

Can I automate the whole thing end to end? No. Keep a human approval gate. Automate the boring steps. Approve the taste calls.

When should I skip this entirely? Skip it if you publish under one page a month, have no existing cluster, or have no GSC data yet. Wire the data first.

Chris Alarcon

Written by

Chris Alarcon

Chris Alarcon builds Ship Lean: practical AI systems for solo builders who need their product work to turn into distribution and revenue. He shares the exact Claude Code, n8n, content, and workflow systems he uses in public.

Work With Me

Turn proof into distribution

If the article exposed a bottleneck, I can help map the system, build the assets, and route it into tools, workflows, AEO content, newsletters, and short-form distribution.

See the offer →

Want more workflows like this?

Every Saturday I send one automation workflow you can steal. Real systems, not theory. Join builders turning product work into distribution.

Get Saturday's Workflow →