---
title: SEO Harness: Let an AI Agent Do SEO Safely | Torke
url: https://torke.tech/resources/seo-harness
description: An SEO harness is the code, rules and approval steps around an AI coding agent. Answer five questions and get one built for your stack, free.
---

# Build your SEO harness

An SEO harness is the code, the rules and the approval steps that sit around an AI coding agent such as Claude Code or Codex, so it can work on your real website without anyone checking every keystroke. Answer five questions and we email you one built for your business model, your stack and the data you already have.

Diagram: An SEO harness around an AI agent

A code window in which every line is checked by a rule before it can go further, and a panel at the bottom where a named person releases the change to the live site.

## What is an SEO harness?

An SEO harness is the code around an AI agent that does SEO work. The crawler, the checks and the regression guard run as code and give the same answer on every run. The agent reads their output, picks what to fix and drafts the change, and a person approves anything that reaches the live site. The harness also decides what the agent may touch, what evidence each change needs and where every change is recorded.

## Why does an AI agent need a harness for SEO?

Claude Code, Codex and Cursor can open a pull request on your site as easily as they draft a paragraph, and that includes the lines that decide whether a page can be found at all: the robots rules, the canonical tag and the noindex directive. A model's answer can differ from one run to the next, so the same agent that fixed a title correctly on Monday can set a template's canonical to the wrong URL on Tuesday. A wrong value on a shared template takes every page built from it out of search, and the drop only shows once search engines recrawl those pages, usually after the change is forgotten.

A harness keeps those decisions out of the model's hands by writing them as code. If you paste the agent's suggestions in by hand, you are the harness yourself, and a written one starts to matter the day the agent opens pull requests or writes to your CMS.

**The same audit on every run**

Twenty checks on titles, canonicals, robots, headings, sitemaps and structured data run as code, plus the pack for your business model, so two runs on the same crawl give the same findings and a reviewer can verify each one.

**Regressions stopped before merge**

The guard crawls production and the build of each pull request, and blocks a merge that adds a noindex, moves a canonical or drops pages from the sitemap, unless a person labels it as intended.

**Evidence on every change**

Each proposed change cites the rule or the Search Console rows behind it and lands in a ledger, so four weeks later you can see what shipped and what moved on those pages.

## Who does what inside the harness

Each step sits where it fails least. The routing file in every harness lists all of them.

### Code

Crawls the site, runs every rule, does the Search Console arithmetic and guards each pull request, with the same input always giving the same answer.

### The agent

Groups findings by cause, picks from the lists the code produced and drafts titles, copy and links, citing the file each number comes from.

### A person

Approves what reaches the live site, and is the only one who can accept a noindex, a canonical change, a redirect or a new URL.

## Answer five questions

Every question has a default, so skip any you're unsure of. The plan and the file list follow your answers, and the code arrives by email as a private download link.

## What every harness holds

- A crawler and an HTML reader that need nothing but Node 20, honour robots.txt and stop at a page budget you set
- Twenty core checks plus the pack for your business model, each with a severity and the evidence it found
- A regression guard for pull requests, with a GitHub workflow that posts its result on the pull request
- Search Console and GA4 connectors and the opportunity arithmetic, when you have the data
- An adapter for your stack, and for WordPress, Shopify and headless CMSs an apply step that writes only approved changes, as a dry run until told otherwise
- AGENTS.md, ROUTING.md and step-by-step procedures the agent follows, plus four slash commands for Claude Code
- A change ledger, a weekly report, and a test suite you run before the harness touches your site

## Who the harness is for

For the marketing engineer, SEO lead or agency team that already uses Claude Code, Codex or Cursor and wants the agent to work on a real site, through pull requests or a CMS, with every change reviewable.

### Who it's not for

If you want a hosted dashboard, or an agent that publishes without review, the harness won't suit you: it runs in your own repository and keeps a person on every change to the live site. It also assumes someone on the team is comfortable running commands in a terminal.

## Questions about the SEO harness

### Is the SEO harness free?

Yes. The code is published under the MIT licence, so you can use and change it for your own sites or your clients'. We ask for an email address because each harness is built from your answers and sent as a private download link.

### Does the harness send any data to Torke?

No. It runs on your machine and in your repository and sends nothing to us: no usage data, crawl results or credentials. The only trace is the user agent its crawler shows to the sites it visits, which links to this page and which you can change in the configuration.

### Which AI agents does the harness work with?

Any agent that reads files and runs commands in a repository, including Claude Code, Codex and Cursor. AGENTS.md holds the operating rules they read first, and Claude Code also gets four slash commands for auditing, opportunities, fixes and the weekly report.

### What if my website stack isn't listed?

Choose Other. The harness then works from your rendered pages, which is what search engines read whatever produced them, and writes proposed changes as files your team applies by hand. An adapter for your platform can sit beside the existing ones once you know what it needs.

### Will the harness improve my rankings?

Nobody can promise that, and we don't. What changes is how the SEO work gets done: every change carries its evidence, passes the same checks and is compared with its own earlier period in the weekly report, so you can see which changes moved anything.

### How was the harness tested?

We built every combination of the five answers, 900 harnesses, and ran each one's test suite, a configuration check and an audit of a sample crawl before publishing. None of that ran against your site, which is why the first step in your plan is running the tests and, where your stack has one, a dry run.

## More free tools

Calculators and worksheets for the rest of the team.

[See every free tool and guide](https://torke.tech/resources)

### You run every first sales call yourself

List last month's first calls, test each against five written facts and see how many of your hours went to accounts that could buy. You finish with one line for your next board meeting.

[Open the first-call audit](https://torke.tech/resources/first-call-audit)

### You own a target on a long sales cycle

Work back from the revenue target and the close date to the accepted leads you need each month, and the last date a new lead can still close this period.

[Open the pipeline calculator](https://torke.tech/resources/pipeline-coverage-calculator)

### You are the only marketer and the list is short

Check whether LinkedIn ads can serve your named account list, what a month of reach costs at your CPM, and what to report to your founder in place of a lead count.

[Open the audience arithmetic](https://torke.tech/resources/linkedin-ads-small-audience-calculator)

## Terms of use and privacy

The two texts that apply to the harness and to this form, in full.

### Terms of use

**What you receive**

A folder of source code, configuration and written procedures, generated from your five answers. The code is published under the MIT licence, so you may use, change and share it, including for clients, as long as the licence notice stays with it.

**What the harness does**

It runs on your machines and in your own repository, and sends nothing to Torke. When it crawls a website, its requests carry a user agent that names the harness and links to this page.

**Your responsibilities**

Crawl only websites you own or may crawl, at the pace set in the configuration or slower, and respect each site's robots.txt and terms. Keep your credentials for Google, WordPress, Shopify, your CMS or any SEO platform in your own secret store, and note that the terms of those services apply to your use of their APIs. Review every change before it reaches a live website, and run the apply step as a dry run before the first real write.

**No warranty, no promised results**

The harness is provided as it is, without warranty of any kind, as the MIT licence states. Torke does not promise any ranking, traffic or revenue result. To the extent Swiss law allows, Torke is not liable for losses arising from the use of the harness or from changes made to a website with it.

**Changes and law**

Torke may update these terms for later versions, and the version you received stays covered by the terms sent with it, in TERMS.md. Swiss law applies. Version of 25 October 2026.

### Privacy notice for this form

**Who is responsible**

Vincent Quero, trading as Torke, Zurich, Switzerland, reachable at [vincent@torke.tech](mailto:vincent@torke.tech).

**What we store**

Your email address, your first name if you give it, your five answers, the boxes you ticked and the version of their wording, the time of the request, the pages you read on torke.tech before asking and how you arrived (search, a link, a campaign tag), and how often the download link is used. Like every visit to torke.tech, those page views are recorded with your IP address, browser and approximate location, and the IP address is deleted after 90 days.

**Why, and on what basis**

To build and send the harness you asked for, which is the reason you gave us the data (GDPR Art. 6(1)(b), and the Swiss Federal Act on Data Protection). If you tick the second box, to send Torke's notes at most once a month, on the basis of that consent (GDPR Art. 6(1)(a)), which you can withdraw at any time without affecting what was sent before.

**Where it is kept, and for how long**

In a Cloudflare D1 database in the EU jurisdiction, deleted automatically 395 days after the request. Emails are sent through Infomaniak in Switzerland. Cloudflare and Infomaniak process the data on our behalf. Nobody else receives it, and it is never sold.

**Your rights**

You can ask to see, correct, delete or receive a copy of your data, restrict or object to its use, and withdraw consent, by writing to [vincent@torke.tech](mailto:vincent@torke.tech), and we answer within one month, as the GDPR requires. You can also complain to the Swiss Federal Data Protection and Information Commissioner or to the data protection authority where you live.

**Measurement**

Google Analytics loads only if you say yes in the visit panel at the bottom of the page. No decision about you is made automatically.
