Skip to content

AI agents for SEO: the workflow we publish with (and where a person is still needed)

Author: Matteo Pellegrini

Since August 2026 much of Visilay's blog has been written by an AI agent. It runs three times a day, at 3am, 6am and noon Italian time (2am, 5am and 11am in the UK). Each run, it picks a topic, checks the topic isn't already covered, writes the article and publishes it. In August the Italian blog published 56 articles, in September 168, plus 250 English translations.

This article explains how the system is built, what it does well, where it went wrong and what a person still checks. We're writing it because almost everything you read about agentic SEO is either theory or advertising for a tool.

Why we automated

The blog's editorial plan is a spreadsheet of around 350 rows. Each row is a planned article, with its final slug, its topic cluster and the person responsible for it. By hand, with one writer and one reviewer, you publish a few articles a week. At that pace the plan would have taken years.

The aim wasn't to write more for the sake of it. It was to cover the topics clients search for quickly, and then spend people's time on articles with first-hand data, like this one.

How the agent is built

It has four parts.

  1. The editorial plan. A Google Sheet with one row per article. The agent reads it on every run and takes the first unassigned row.
  2. The site. WordPress, connected to the agent through an MCP server. The agent can read and write articles, set the SEO fields and check what's already published. We explain how the connection works in WebMCP and MCP.
  3. The rules. A document with about ten fixed instructions: how to write, which client data can be shown, how to end the title tag, which internal links to add.
  4. The sources. Web search for facts, DataForSEO for volumes and SERPs, internal archives for first-hand data.

What happens in one run

  1. It picks the row. It takes the first row in the sheet with no person assigned and no published article.
  2. It checks WordPress. The sheet's "Status" column often lags behind the site, so WordPress is the source of truth: if the slug already exists as a published article, the agent moves on to the next row.
  3. It sets a lock. It writes a hidden field, _visilay_lock, on the article it's preparing. This stops two runs close together from working on the same piece.
  4. It studies the SERP. It looks at the top results, the subheadings they share and the related questions, and builds the outline from there.
  5. It writes. In Gutenberg, with short paragraphs, tables where they're needed, linked sources and an FAQ section.
  6. It sets up the SEO. Focus keyword, title tag ending in " | Visilay", meta description, category, author.
  7. It publishes. One article per run.

The one-article limit is deliberate. With several articles per run, errors multiply before anyone sees them.

What it does well on its own

  • Articles with a repeatable structure. The "SEO by sector" and "Google Ads by sector" series is the best example: same framework, different data. In September we completed a map of 39 articles across three channels, 37 of them live.
  • Mechanical checks. Slugs already in use, internal links pointing to URLs that exist, title and description length.
  • Finding sources. Tracking down the original study behind a number everyone quotes without a link.
  • Translations. English versions linked to the Italian ones, adapted with examples from the British market when the article deals with Italian data.

One result we didn't expect so soon: on 27 September 2026, asked (in Italian) "which SEO agency should a manufacturing company in Lombardy choose?", ChatGPT cited our article on SEO for manufacturing, published on 22 August. Five weeks. The full test is in AI search engines.

Where a person steps in

  • The plan. Which articles to write, in what order, which to drop. The agent carries out the plan; it doesn't decide it. For new series, Mirko Rotelli, Visilay's founder, signs off an action plan before the agent starts.
  • Client data. The rule is simple: data that isn't already public gets anonymised. The exceptions are clients who have agreed to let us use their data, such as Macropix, whom we name openly.
  • Images and video. Infographics and YouTube videos added to articles are previewed and approved before publication.
  • Spot-check reviews. A person reads a share of the published articles and flags what needs fixing. The fixes become new rules.

The mistakes we had to fix

Cannibalisation. Two articles in the plan were dropped because they would have taken traffic from existing pages: "SEO for gyms", folded into the article on gym marketing, and "SEO for local businesses", already covered by the guide to local SEO. Since then, checking the keywords we already rank for has been a rule, not an option.

Backdated articles. Some empty placeholders had been created months earlier. When the agent filled them, the article went out with the old date and ended up at the bottom of the archive. The fix is technical: update the publication date when a placeholder is filled.

Thin content. A draft on SEO for insurance stalled: generic text and keywords with no search volume. The agent had written it correctly, but it wasn't worth publishing. Recognising that is still a human job.

Sheet and site out of step. The sheet's "Status" column wasn't always updated. We stopped trusting the sheet and made WordPress the single source of truth.

The numbers after two months

August 2026September 2026
Articles published on the Italian blog56168
English translations published2250
Scheduled agent runs per day33
Articles per run11

At the end of September the Italian blog had 288 published articles. Not all of them are the agent's: some were written or rewritten with a person, including the articles with our own tests and data.

Organic traffic to articles published only a few weeks ago doesn't tell us much yet, and we're not reporting it so as not to give a number that will change completely over the next few months. We'll update it here six months after launch.

What we'd do differently

  • We'd write the rules first. Half of the current rules came from a mistake. They could have been foreseen.
  • We'd use the site as the source of truth from day one, not the sheet.
  • We'd separate "agent" articles from "human" articles straight away. Articles with experiments, client data and strong opinions don't belong in the agent's queue.
  • We'd measure review time. An agent that publishes a lot but needs a lot of reviewing has only moved the work somewhere else.

Is it for everyone?

No. An editorial agent makes sense when there's a long plan, with many articles of a similar structure, and someone checking the output. For a company that publishes two articles a month it's more sensible to use AI as a writing assistant and keep the process manual.

Before automating, it's worth having a solid editorial plan. Our method is described in content marketing plan and keyword research. The tools we use are in our guide to the best AI tools for SEO.

Further reading: AI agents: what they are, how they work and examples for businesses.

FAQs

Can an AI agent handle a site's SEO on its own?

It can carry out many tasks on its own, such as writing articles with a repeatable structure, setting the SEO fields and checking links. It isn't good at deciding what to publish, what to drop and which client data to show: those choices stay with a person.

How do you stop an agent publishing the same article twice?

With two checks: verify on the site itself, not in an external sheet, whether the slug already exists, and lock the article being worked on with a hidden field until the run has finished.

Do articles written by an AI agent rank?

They can, if they answer the question well and bring verifiable facts. One of our articles published on 22 August 2026 was cited by ChatGPT five weeks later. Google judges the quality of the content, not the way it was produced.

How many articles a day can an agent publish?

Technically, a lot. We publish one article per run, three runs a day, to keep errors under control and leave time for review.

Matteo Pellegrini

Matteo Pellegrini

I'm a Business Developer, and at Visilay I focus on developing data-driven SEO, Google Ads, and CRO strategies. I love historical museums, have been practicing Karate for as long as I can remember, and on weekends I enjoy exploring Italian villages in search of authentic local food.