Deterministic vs. agentic controlled Ai workflows
I moved my SEO workflow from a script I control to an agent using deterministic tools, because I'm not an SEO expert. Here's what changed.
When I started working on SEO, I focused on the workflow aspect.
I figured out the different steps, e.g., finding keywords that rank highly, creating an article, linking to others, etc.
All of that went into a simple UI. Click a button for keyword research. Click another to check click-through rates. Tell the agent exactly what to look for, then let it run the path I’d already decided.

This was great and saved me a lot of time, but left blind spots.
Setting a predefined pathway doesn’t allow for the creative exploration that the latest models excel at. I had agentic steps, but the workflow was controlled by a script.
If the path is deterministic, you have to already know what matters. You have to be the expert who designed the checklist. I’m not an SEO expert.
So instead of following my script, I had more and more cases where I went off script to ask an agent on the side to fix or review an issue.
I’d drop into the command line and just ask the agent, sidestepping my own process, because the agent is better at SEO than I am.
Letting the expert take over
The problem with starting from the agent is that it can create a lot of mess. Just try to prompt your way to a solution without bringing in some structure; it’s guaranteed to be a chaotic dumpster fire.
So the tradeoff is clear. Mess or blind spots from not being an expert at what you're doing. I’m not an expert.
I always jumped to the conclusion that I need to create more articles targeting more keywords.
But letting the agent lead, it quickly realized that I’ve got a ton of these keywords already and suggested not going broader but deeper. Stop cannibalizing my own content.
Many articles on the same topic, all compete for the same top slots on Google.
So I went and merged those individual articles into stronger ones with a stronger proposition, helping be improve clicks and impressions of my sites.
Toolbox and structure
Here’s where my thinking shifted: the tools weren't the problem, but how I controlled them was. Instead of running a rigid script myself, I built structure directly into the tools and skills, then gave the agent autonomy.

Article writing is a great example of how this works:
Tools handle the deterministic bits: Pull keyword candidates, package content briefs, run structural checks (headings, link validation, word count), and separate publishing into a deliberate step.
Skills handle the writing structure: Differentiate from existing content, ensure brand voice, drop real internal links, and cut out filler.
The agent still writes, but the skill is what keeps it from turning into a chaotic dumpster fire.
By exposing these tools via MCP or CLI, the workflow shifts from step-by-step commands to goal-oriented delegation: “Improve the site’s SEO.” The agent uses deterministic tools to execute, while taking on the creative job of exploring unknown unknowns.
Incorporate blindspots into the workflow
This process will occasionally uncover issues such as cannibalisation or a missing llm.txt to target AI-SEO.
You can now do a one time fix, but my general approach is to then make this part of the tool and skill workflow. I create a check and a pathway to keep it under control as part of the workflow.
This is where the agent isn’t as good. It will go and get creative and explore but will also get overwhelmed and forget stuff.

That keeps creativitiy and process in balance. It has tools to check for cannibalization directly, but keeps the door open to uncover other things.
Whether codified checks become the next set of blind spots is honestly still something to monitor long term.
One approach could be two separate agent tasks so you don’t bloat the context: first go through the known deterministic steps and clean everything, then a second, looser, non-deterministic pass.
Autopilot
With tools and skills a lot of this runs automatically, scheduled via cron job, so I only need to jump in if a decision is needed.

Like this things easily scale and I can run 5 or more projects at the same time.
Everything I add to the CLI, then scales. If I figure out a new way to promote pages to agents, the next scheduled run will take care of that.
At this stage, because I’m really not an expert on this, I mostly go with the agent’s guidelines. My human-in-the-loop step across the projects is checking Google Search Console and how impressions and clicks are improving over time.
Of course that’s quite lagging. Weeks, if not months, until you see results. But that’s kind of the only way SEO works.
No human in the loop? I don’t give up anything by running it like this.
Yeah I could read up and take more control, but I have other things to do. So without the agent I wouldn’t have been successful with SEO at all. I’ve grown it up to around 600,000 impressions for multiple sites. I get thousands of clicks. To some degree what I’m doing has proven to work. And without running it this way I wouldn’t have been able to run it at all, because I don’t know how this works.
I watched one video once where a guy was talking about automating SEO workflows.

Using Ahrefs to find low keyword difficulty, high search volume long-tail keywords and target them in an article (here’s my breakdown).
Everything else I figured out on my own. Interlinking. Not cannibalizing articles. All of that through agentic discovery.
Not all is perfect yet. Days to Expiry has been flatlining on impressions, but I’ve learned to focus more on click and you can see the blue line slowly grinding up.

Brewedlate grinding upwards in a rather short timeframe too.

Setting up agentic workflow can be done either way. Controlled by an agent or controlled by a script. For this creative process here, where I’m not an expert, agentic is the way to go for me.
Get the next entry
New essays by email. No schedule, no spam. You confirm once.