The short version
  • Automate the checks, the schedule and the deploy. Those are deterministic, repetitive, and a machine does them better than a person at 6am.
  • Validate the query before you commit to it. Google's own autocomplete will tell you in seconds whether a phrase is one people actually type.
  • An on-page score measures structure, not demand. A page can score in the nineties and still target something nobody searches.
  • Publishing needs an explicit opt-in, not just a date. A date-only rule will eventually publish something nobody approved.
  • Nothing here decides what to say. That is the line we draw, and it is the reason the rest can run unattended.

Most of the work around search is not writing. It is checking the same things over and over — whether a page's title is a sensible length, whether it links to anything, whether the phrase it targets is one a person would type, whether it went live when it was supposed to. That work is repetitive, unambiguous, and easy to get wrong at the end of a long day.

So we automated it on our own site. This is what the system does, where we deliberately stopped, and the one guardrail that matters most.

4
stages worth automating
1
opt-in flag between draft and live
0
judgement calls delegated

What is actually worth automating

audit scores every page validate is the query real? schedule date + opt-in flag publish flips and deploys verify live check The judgement calls sit outside this diagram on purpose.
The four things worth automating, and the order they run in. Every step is deterministic and auditable — none of them decides what to say.

Four stages, in order. Each is deterministic: given the same input it produces the same output, and a human can check its working.

The audit reads every published page and scores the mechanical things — title length, meta description length, heading structure, internal link count, word count, whether the page declares its sources. None of that requires judgement. All of it is tedious and all of it drifts.

Validation checks that the phrase a page targets is real before anyone invests in it. More on this below, because it is the step most content processes skip entirely.

Scheduling holds a finished page until its date arrives.

Publishing flips the page live and triggers the deploy, then verifies the live URL actually changed. The deploy underneath ours is described in WordPress to static site.

Validate the query before you commit to it

This is the cheapest high-value check in search, it takes seconds, and almost nobody runs it.

Google exposes its autocomplete suggestions publicly. If you ask it to complete a phrase and it returns nothing — while happily completing comparable phrases eight to ten suggestions deep — that is strong evidence the phrase is not how people search. It is Google's own data about its own users, and it costs nothing.

Run against Canadian localisation, the difference is stark:

Phrase Autocomplete suggestions
edge security hosting 0
marketing stack integration 0
dedicated VPN for business 0
managed web hosting 0
wordpress development 10
law firm website design 10
shopify custom development 10
webflow development 10

The first four read like plausible service categories. A marketing team could put any of them on a slide and nobody would blink. But Google will not complete them, which means they are industry vocabulary rather than search vocabulary — the words a company uses about itself, not the words a buyer types.

The controls complete instantly. That is the difference between a phrase people search and a phrase people don't, and it is visible in about thirty seconds per keyword.

Two further checks are worth adding before anything gets written:

  • Who currently ranks? If the first page is entirely major vendors, directories and national publishers with no independent site among them, a small site will not break in regardless of how good the page is.
  • What is the searcher trying to do? Hire, learn, or buy software. These want completely different pages, and a mismatch between the intent and the format is the most common reason a well-written page earns nothing. A term that autocompletes to course, meaning and jobs has an audience of students, not buyers.

Three checks, five minutes, run before a word is written rather than after.

What an on-page score does and does not tell you

Our audit produces a number out of 100. It is genuinely useful and it is also routinely over-trusted, so it is worth being precise about what it measures.

The score measures The score cannot see
Title and description length Whether anyone searches the target phrase
Heading structure and hierarchy Whether the page matches searcher intent
Internal link count Whether the linked pages are the right ones
Word count Whether the words are worth reading
Presence of sources Whether the sources are any good

Every column on the left is real and worth fixing. None of it is evidence that a page will earn anything, because structure and demand are independent. A page can be immaculately structured around a phrase nobody types — which is exactly why validation has to happen before the writing, not after the scoring.

Treat the score as a hygiene check. It catches drift, it is cheap, and it should never be the thing that decides what to publish.

Scheduling and publishing, without the accidents

Automating publication is where this gets genuinely risky, because the failure mode is public.

The obvious design is to give each page a date and publish anything whose date has passed. That design is wrong, and the reason is worth stating plainly: a repository routinely holds unfinished pages with dates already in the past. A date-only rule sweeps those up on its first run and publishes work nobody approved.

So the rule is two conditions, not one. A page goes live only when it is both dated on or before today and explicitly marked for scheduled release. Marking it is a deliberate edit somebody makes. Without that flag a page can sit past-dated indefinitely and never publish itself.

We rehearsed it against a copy of the repository before trusting it: on a simulated date, exactly the two pages due that day flipped, and the past-dated unapproved pages were untouched. That test is the difference between a schedule you can leave running and one you have to watch.

Two smaller details that matter in practice:

  • Catch-up is deliberate. If a run is missed or fails, the next one publishes everything due rather than silently skipping a day.
  • A commit made by automation does not always trigger the next workflow. Most CI systems guard against recursion this way, which means a publish step that commits a change often has to dispatch the deploy explicitly. Discovering that after a page fails to appear is a bad afternoon.

Where we stopped, deliberately

The system does not decide what to write about, and it does not write.

That is not squeamishness about the tooling. It is that the two hardest parts of search are choosing what deserves a page and saying something on it worth a reader's time, and both depend on things a scoring loop has no access to: what clients actually ask on calls, what went wrong on a project last month, what we know that nobody else has written down.

A machine can tell you a page is 2,300 words with a well-formed heading structure and two internal links. It cannot tell you whether the page is worth publishing. Those are different questions, and only one of them is automatable.

The practical split we settled on:

Automate Keep human
Structural scoring and drift detection Choosing the subject
Keyword and intent validation Deciding the argument
Scheduling and release Writing and editing
Deploy and live verification Judging whether it is worth publishing at all

If you are building something similar

Start with the audit — it is the easiest to build, the safest to run, and it pays back immediately by catching drift nobody would otherwise notice.

Add validation next, because it is the step that prevents the most wasted effort. It is the same principle behind our vertical pages — law firm website design examples and contractor website examples both start from what people actually search rather than from a service menu. A phrase that fails the autocomplete check has cost you thirty seconds. The same phrase discovered after a page is written has cost you a day.

Add scheduling last, and put the opt-in flag in from the start rather than retrofitting it. The version without the flag works fine right up until the morning it publishes something nobody approved, and by then it is on the internet.

And keep the line where we kept it. The value in automating search work is that it frees the hours you would have spent checking title lengths — so you can spend them on the part that actually decides whether any of it lands.

Related: Google Ads conversions vs GA4 covers the measurement audit that sits underneath all of this, what 4,739 runs taught us about site speed variance is what happens when you measure the same thing enough times to distrust a single reading, and the 1,000-page site that barely links to itself is the structural problem an audit is best at catching. If you want this running on your own site, that is what our SEO and search work is.

Common questions

What is an AI SEO agent?

In practice it is an automated pipeline that performs the repetitive, checkable parts of search work on a schedule — scoring pages against on-page rules, validating that a target phrase is one people actually search, holding finished pages until their publish date, then releasing them and confirming the live URL changed. The useful ones are deterministic: given the same input they produce the same output, and a person can check their working. They do not decide what to write about.

How do I check whether a keyword is worth targeting?

Three checks, about five minutes, run before anything is written. First, ask Google's autocomplete to complete the phrase — if it returns nothing while completing comparable phrases eight to ten deep, that phrase is not how people search. Second, look at who currently ranks: if the first page is entirely major vendors, directories and national publishers, a small site will not break in. Third, identify whether the searcher wants to hire, to learn, or to buy software, and check your page format matches.

Can Google autocomplete be used as keyword research?

As a validity check rather than a volume estimate, yes, and it is free and instant. Autocomplete reflects real queries Google's users type, so an empty completion is strong evidence a phrase is industry vocabulary rather than search vocabulary. What it will not give you is search volume or competitiveness, so treat it as the gate that kills bad candidates early, not as the tool that ranks the survivors.

What does an SEO score out of 100 actually measure?

Structure, almost always: title length, meta description length, heading hierarchy, internal link counts, word count, whether sources are declared. All of that is real and worth fixing, and none of it is evidence anybody wants the page. Structure and demand are independent, which is why a page can score in the nineties while targeting a phrase nobody types. Use the score as a hygiene check that catches drift, never as the thing that decides what to publish.

Should blog publishing be automated?

The release can be, safely, provided publication requires an explicit opt-in and not just a date. A repository routinely holds unfinished pages whose dates have already passed, so a date-only rule publishes work nobody approved on its first run. Require two conditions — dated on or before today AND explicitly marked for release — and rehearse it against a copy before trusting it.

What should not be automated in SEO?

Choosing the subject, deciding the argument, writing, and judging whether a page is worth publishing at all. Those depend on what clients ask on calls, what went wrong on a project, and what you know that nobody else has written down — none of which a scoring loop can see. A machine can tell you a page is well structured. It cannot tell you whether it is worth reading.

Why did my automated content system produce no results?

The most common cause is an objective that points inward. If topics are selected to fill gaps in a coverage matrix, a content calendar or a service menu, nothing in that process consulted demand, and the system will optimise that target sincerely and successfully while producing pages nobody searches for. Derive the targets from evidence instead — validated queries, sales-call questions, the searches that already earn impressions — and let the automation fill that in.