Skip to content
Back to Academia

AI in SEO: automating the boring work without spam

17.07AI in marketing
On this page

The online analytics school's website has about 60 pages: the course, the evening practicum, the guide for new students, the article "What you need to start learning analytics", an article on CAC and older blog posts. The marketer has exported three months of queries from Search Console, 212 of them. The owner is in a hurry: "Give it all to the AI. Let it sort the queries, write titles for every page and add the links. And let's make fifty pages, 'Analytics course in Astana', 'in Shymkent', 'in Karaganda'." The school's numbers are made up.

An AI model will speed up the first three jobs as long as a person checks its work. The fourth job nobody should take on.

What to give the model and what to keep

TaskWhat the model doesWhat a person checks
Sort 212 queries by taskProposes groups and the task behind eachThe search results for one or two queries in each group
Title and description drafts for the 14 main pagesWrites from the page textThat every word is on the page and no new promises appear
Internal linksSuggests where to place a link and with what textThat the address exists and the reader needs the link
Find pages with a service's old nameNot needed, a site search will doEvery page found
Fifty city pages with the same textNot done at all, it is spam under Google's rules-

Every row follows the same rule: the model writes a draft, and the person who checked it publishes. Google's guidance on generative AI content says plainly that AI-generated content is checked by hand before publishing, and that this applies to metadata too.

Grouping queries: the model proposes, the results page decides

The school already knows how a semantic core works: queries are sorted by what the person wants, and disputed pairs are settled by looking at the search results. By hand that is comfortable for twenty phrases. With 212, an AI model saves a couple of hours if it gets the right material. The marketer gave it the export from the Performance report (the "Queries" tab, the "Export" button) and a list of the site's pages with their addresses and titles:

Here are 212 queries from Search Console with impressions and clicks, and a list of the site's pages with their addresses. Sort the queries into groups by what the person wants: choose a course, prepare for the course, learn about the profession, study for free, and so on. For each group, write the task and the page from the list that answers it, or "no page". Take addresses only from the list. Put queries whose task you can't tell from the wording into an "unclear" group.

The model came back with 11 groups and 17 queries marked unclear. Then came the person's part: for one or two queries in each group, the marketer opened Google's results in an incognito window from Almaty. He agreed with eight groups. Three needed fixing:

  • the model put "analytics course in the evening" into "Choose a course", although the school has a separate page for the evening practicum with an 18:00 group, and in the semantic core these queries have a group of their own, "Study after work";
  • "data analyst salary" also landed in "Choose a course". The results for it are articles about the profession and job ads, not courses, so it belongs in "Learn about the profession", a group the school isn't targeting for now;
  • the model sent queries containing "looker studio" to an "understand a term" group it had invented itself, while the results for them are Google's own help pages for the service. The only school page that answers them is the guide, which says that Looker Studio is now called Data Studio, so the group went to it.

After the fixes, two groups have no page on the site, and the school is skipping both on purpose, as decided in the semantic core: "Learn about the profession" and "Study for free". Of the 17 unclear queries, 12 turned out to be misspellings of the school's name and joined the brand group; the other five were set aside. The model got eight groups out of eleven right, and that is exactly why every group gets checked: you can't know in advance which three will be wrong.

Two queries with the word "coffee machine": "How to clean a coffee machine" leads to instructions, "Coffee machine cleaning: book a technician" leads to a booking page.
Two queries with the word "coffee machine": "How to clean a coffee machine" leads to instructions, "Coffee machine cleaning: book a technician" leads to a booking page.

The picture shows the same principle in a different niche. The queries share words but not tasks, and a model that groups by words will put them together. Only the search results separate them: the first query brings up instructions, the second brings up services you can book.

Titles and descriptions: the draft from the model, the facts from the page

Google builds the title and snippet in the results itself and may ignore your text if it doesn't match the page, which is why titles and descriptions are written from the page content. The model gets to draft one for each of the 14 main pages. It is given the page text and one constraint: use only what that text contains.

Even with that constraint, five drafts out of 14 included something the page doesn't say. For the course page the model wrote "Data analytics course from scratch: a job after graduation". The page says nothing about jobs, and the school doesn't promise one. The marketer rewrote the title as "Data analytics course from scratch: 25,000 ₸ for the whole course" and moved the fact that a curator checks homework into the description. The other four contained "the best course", a duration of "2 months" that the syllabus doesn't mention, and the word "free" twice where only the consultation is free.

The riskiest additions are the ones that sound plausible. "2 months" looks like a fact and is easier to miss than "the best course". So the check isn't about the draft's style; for every number and every promise, you ask where the page says it.

For the CAC article, the marketer gave the model the article text and the list of site addresses with titles and asked for five places to add links: the sentence, the link text and an address from the list. He kept three as they were, rewrote one and dropped one. The dropped one pointed to /blog/unit-economics/, a page the site doesn't have: the model put together a plausible address even though it had been told to use only the list. The rewritten one used "here" as the link text, and the marketer replaced it with words that tell you where the link goes.

Every suggested link gets opened: does the page exist, and does it deliver what the link text promises? A link belongs where the reader's next question comes up. In the CAC article that is the course page, at the point where the reader realises they can't do the calculation on their own yet.

Outdated facts: no AI needed here

In April 2026 Looker Studio went back to being called Data Studio, and the school's guide has already been updated. The remaining pages that still say "Looker Studio" need finding. That is a job for an ordinary search, not for a model that will read 60 pages and miss something.

The marketer did it two ways. The website builder's site search found six pages. A Google search with the site: operator and the service's name found one more, an old blog post that the builder's search had missed. Google warns that site: doesn't always return every indexed address, so it is a safety net rather than a complete list. A full crawl that searches page code is what Screaming Frog SEO Spider does, but code search is only in the paid licence (custom search in Screaming Frog), which costs £199 a year (Screaming Frog pricing, as of 13 October 2026). For a 60-page site, the two free methods were enough.

How much time it saves

The marketer logged the time for the whole exercise with AI and estimated the manual route. He values his hour the same way the school values a curator hour in the guide's payback calculation, at 3,000 ₸:

WorkBy hand (estimate)With AI
Grouping 212 queries4 h0.5 h prompting + 1.5 h results and fixes
Titles and descriptions for 14 pages3 h0.5 h prompting + 1 h checking
Internal links2 h0.5 h prompting + 0.5 h checking
Total9 h, 27,000 ₸4.5 h, 13,500 ₸

A chat model subscription such as Claude Pro costs $20 a month on monthly billing (Claude pricing, as of 13 October 2026), about 9,000 ₸. If the school bought it just for this exercise, it would save around 4,500 ₸ and half a working day. If the subscription is already paid for other work, the saving is the full 13,500 ₸.

More than half the time in the "with AI" column goes on checking. It doesn't get cut to save money: without it, the site would have gained five titles with promises the school doesn't make, a link to a page that doesn't exist and an evening practicum merged into the main course.

What not to hand over: city pages

Fifty pages like "Analytics course in Shymkent" with the same text and a swapped city name came up before, when the school fact-checked an AI-written article. Under Google's spam policies such pages fit two violations at once: mass-producing pages, including with generative AI, with no value for people, and doorways, whose examples explicitly include pages aimed at specific cities and regions that funnel users to one page. The school's course is online, and a page with Shymkent in the title tells someone from Shymkent nothing new. If the school held in-person graduate meetups in Shymkent, the page would have something to say, and it would then be written like any other page.

Assignment: one pass on your own site

The main result of the assignment is the model's error rate on your site. For the school, the model was wrong in three groups out of eleven, five drafts out of fourteen and two links out of five. Your rates will differ, and they tell you how much checking this work needs. If you found no errors at all, open the results for a couple more queries from the largest groups: a mistake in a group of fifty queries sends more people to the wrong page than a mistake in a small one.

Log the time in full, including the checking. If checking took longer than prompting, that is a normal ratio. The saving is on the drafts, and no AI model will do the checking for you.

Need help applying this to your analytics? Discuss your project with Goodlabs →