Insights · Build Log
I did not write a prompt. I wrote a job description.
Most golf operations that come to you with a search problem do not have a golf problem.
This one ranked fine for golf. What it could not do was get found for the restaurant, for the events and outings business, or for the members club. Those are the lines that add revenue without adding tee times, and in search they were close to invisible.
I have been around SEO for years. I have never had to do it at the depth this needed: eleven pages, three lines of business the client wanted to grow, and a measurement layer nobody had ever checked.
The obvious move is to bring in an agency. Instead I did the thing I now do for every gap in this business.
I hired.
The pattern
I build AI employees. Not chat sessions. Employees: a defined role, a stated standard of work, and one place the work accumulates so that month three knows what month one found.
Each of them started the same way, with a capability I could name and could not staff. Not enough work to justify a hire, too much judgment involved to fake, and too central to the client relationship to get wrong. That describes most of the specialist work a small firm needs, which is why the pattern keeps repeating.
The SEO specialist is one of those. The instinct with AI is to ask it something. The pattern I keep coming back to is to hire it, which means writing down what the job is before asking it to do any of the job.
What I asked for
Not a task. A role, with the same things a real hire gets on day one.
Seniority, stated plainly: senior strategist, hands on, does the work rather than describing what should be done. Three practice areas with actual scope under each: content and on-page, technical, local. House output formats, so an audit always comes back as issue, impact, priority, and fix, with a prioritization matrix attached. Working principles, including one I care about more than any capability on the list: prioritize ruthlessly, because clients have limited developer and content hours and the job is helping them spend those hours on what moves the number.
Then the two sections that turned out to matter most, and that almost nobody writes.
What to ask before starting. Business, URL, industry, target geography, top three competitors, CMS, current goals, prior work. A specialist who begins without those is guessing, and a confident guess is worse than a question.
What it does not do. No paid advertising, that goes to a different team. No guaranteed rankings, ever. No private blog networks, no bought links, no cloaking. No hosting or DNS.
Those refusals are not safety theater. They are the difference between a tool that agrees with you and a colleague who tells you the tactic you just suggested will get the client penalized.
What got built
A persistent project rather than a conversation. The role definition sits at the top of every session, and the work accumulates underneath it in the same place.
Three months in, that place holds four things: a full site assessment from early June, an analytics migration and conversion tracking plan from late July, a period-over-period search performance analysis from August 19, and a decision record for the data pipeline that came out of it. Cycle two started where cycle one ended, because the findings were still sitting there.
The outputs are the ordinary artifacts of the discipline. Copy-paste JSON-LD. Title and meta rewrites. A three-URL redirect map. A P1, P2, P3 list a developer can work from without a meeting.
What changed once I could see it
The recommendations were never the hard part. The measurement was, and each cycle exposed the layer underneath the last one.
The June assessment said fix these pages. That produced the immediate follow-up question: how would we know if it worked? Analytics was live but hard-coded into the site template, reporting pageviews and nothing else. No booking clicks, no event inquiry submissions, no click-to-call. Plenty of traffic reporting and no line at all from a visit to a booking or an outing inquiry, which is the exact connection you need to prove search work pays for itself.
So July was a tag manager migration and eight conversion events, ordered by revenue rather than by how easy they were to wire up.
Then August measured the page work, and the measurement itself turned out to be the constraint.
What broke
Four errors and a deadline. None of them were the specialist being wrong about SEO. All of them were the specialist being right about SEO on top of numbers that did not mean what they appeared to mean.
1. The comparison window was rolling, not fixed. The search console interface exports a trailing three-month window. The July pull and the August pull overlapped by 44 days. Every improvement in the report was therefore understated, and had the work gone badly it would have been flattered by exactly the same amount. The short-term fix was to state the overlap at the top of the report. The real fix was fixed date windows, which is a different system.
2. The export caps at 1,000 rows. The first draft of the analysis reported new queries won and old queries lost. Both were artifacts of the cap rather than facts about the site. A query that fell from rank 900 to rank 1,100 reads as a query the site lost. It did not. Those two findings came out.
3. The denominator was wrong. Non-brand search was reported at 5.5 percent of clicks. Measured against the correct total, the one that accounts for the row cap, it was 7.8 percent. The conclusion held either way, which is precisely why this one is dangerous. A number that supports the right answer does not get re-checked.
4. Headroom was an upper bound wearing a target’s clothes. Several pages ranked inside the top ten with click-through rates far under the site average, which reads as free money. Most of their impressions came from one query: the client’s own name. On that query the click usually goes to the homepage or a sitelink, not to the members club page sitting at position four. Real headroom, much smaller than the arithmetic suggested. The report now labels it a ceiling.
And the deadline. Moving to the bulk data export solves the window, the cap, and the sixteen manual downloads a report currently takes. It also does not backfill. It starts collecting the day you enable it, and search console discards anything older than sixteen months. Every week the export stays off is history that is gone permanently. Fifteen minutes per property, and it should have been the first thing done rather than the thing the third cycle argued its way into.
One more of the same species, kept here because it is the kind of error that produces confidently wrong reporting: in the exported data, average position is not a position. It is a zero-based positional sum, and computing it as a simple average gives you a number that looks plausible and is off by one.
The part I did not expect
The findings that mattered most were not insights. They were plumbing, and every one of them sat directly on top of the lines of business the client was trying to grow.
The restaurant was the biggest win of the cycle. That page went from 1 click to 104, with impressions moving from 1,686 to 18,249. The demand had always been there. The reason nobody found it was that the same menu existed at four separate URLs, quietly competing with each other for the same searches.
The events business was the worst page on the site. It drew 10,857 impressions and converted 16 of them. That is not a demand problem. Ten thousand people a quarter are looking for somewhere to hold an outing, they are being shown this page, and almost none of them click. The title, the description, and the top of that page were not answering the question being asked.
And a block of boilerplate on two pages named a city the club does not serve. Sixty-four queries containing that city produced 4,592 impressions and zero clicks, sitting at positions twenty through forty-three. On the second page that block accounted for three quarters of everything the page attracted. Somewhere there is an instructor bio nobody has looked at since it was written, actively pulling two pages toward the wrong county.
Then the finding that made the whole thing worth building. Total clicks were up 9.1 percent, which is a good headline. Non-brand impressions had actually fallen. All of the growth came from people who already knew the client’s name and were searching for it.
For a business trying to be discovered by people who have never heard of it, that is a materially different story from the headline, and it is the story the client needed. A specialist optimizing for a happy report would have led with the 9.1 percent. The line in the role definition that says do not over-promise, and frame results in terms of what improved signals can reasonably achieve, is what put the uncomfortable version in the document.
If you are thinking about building something similar
Write the boundaries, not just the capabilities. Everyone writes what the thing should be able to do. The most useful lines in mine are the refusals, because they are what make the output trustworthy when it agrees with me.
Give it a fixed output format on day one. Every audit coming back in the same shape is what makes cycle three comparable to cycle one. That is not a formatting preference, it is what turns a series of answers into a series.
Keep it somewhere that accumulates. A brilliant answer in a chat window you will never find again is worth less than a decent answer filed next to the last four.
And verify the inputs yourself. Every item in the list above was caught by checking numbers against their source, not by the specialist noticing on its own. It reasoned correctly from data it had no way to know was misleading, which is exactly what a competent new hire does in week one.
Here is what the pattern has taught me. The constraint on specialist work was never that the knowledge was unavailable. It has been a search away for twenty years. The constraint was standing: someone accountable for the output, working to a stated standard, who declines the things outside the brief and tells you when the good number is hiding a bad one.
That is a hiring problem, and it always has been. What changed is that I can now solve it in an afternoon, for a discipline I could never have justified a headcount in.
A prompt gets you an answer. A role gets you a colleague.
The difference shows up in month threeThe difference does not show up on day one. It shows up in month three, which is roughly when most people have already given up and gone back to the chat window.
Michael DeLucia is the founder of Bantam Digital LLC, a Business Services Technology Partner in Pasadena, California, working with growing businesses on data foundations, workflow automation, and practical AI. Reach him at michael.delucia@bantam-digital.com.