What this workflow does
This n8n workflow audits your site every Monday at 7:00 for classic SEO, AI engine readiness (GEO) and answerability (AEO), compares every page with the previous week, and has OpenAI write a prioritized fix ticket for each page that dropped, sits under your floor or has a critical issue. It runs on SEO, GEO & AEO Audit - AI Search Readiness Checker ($0.008 per result) and the template itself is free.
๐ How it works
A score on its own does not tell a developer what to change. This workflow turns a weekly audit into a short backlog: it scores each page for SEO, GEO and AEO, reads last week's scores back from your sheet, and only opens a ticket where something actually needs work.
A page earns a ticket in three cases: its overall score fell by dropPoints or more, it sits under your minScore floor, or the audit found a critical issue. Everything else is left alone, and maxTickets caps how many tickets one run can open, which matters most on the first run when every page is new.
Every audited page goes to a Scoreboard tab, which becomes the history the next run compares against. Each ticket goes to a Tickets tab and to Telegram, with a priority, why it matters for answer engines and 3 to 6 steps built only from the checks that failed.
The 16 nodes, in order
- Schedule TriggerEvery Monday at 7am
- Edit FieldsSet your site
- ApifyAudit the site
- AggregateCollect the audited pages
- Google SheetsRead the last audit
- CodeDecide what needs fixing
- Edit FieldsFormat the scoreboard row
- FilterKeep what needs a fix
- Google SheetsSave this audit to the scoreboard
- LimitCap the tickets
- Basic LLM ChainWrite the fix ticket
- OpenAI Chat ModelOpenAI model
- Structured Output ParserTicket format
- Edit FieldsFormat the ticket row
- Google SheetsSave the ticket
- TelegramSend the ticket to Telegram
๐ฅ Get the workflow
Three ways to import it. They all give you the same workflow, published 2026-10-08.
- n8n.io: open the template and choose "Use for free". It opens in your n8n Cloud or self-hosted instance.
- Paste: copy the JSON, click an empty n8n canvas and press Ctrl+V (Cmd+V on a Mac).
- Import from URL: in the workflow menu choose "Import from URL" and paste
https://automationbyexperts.com/static/n8n/site-ai-search-audit-fix-tickets-google-sheets.json
โ๏ธ The settings you edit
Every value you change lives in one node, Set your site. These are the defaults the template ships with.
| Setting | Default | What it does |
|---|---|---|
websiteUrl | PASTE_THE_SITE_TO_AUDIT_HERE | The site to audit. |
maxPages | 10 | Pages audited per run, which is also what caps the Apify cost of a run. |
dropPoints | 5 | A fall in overall score this big or bigger counts as a regression and gets a ticket. |
minScore | 70 | Any page under this overall score gets a ticket, whether it moved or not. |
maxTickets | 5 | Most tickets one run opens. |
scoreTab | Scoreboard | The sheet tab that keeps one row per audited page, week after week. |
ticketTab | Tickets | The sheet tab the tickets are appended to. |
googleSheetUrl | PASTE_YOUR_GOOGLE_SHEET_URL_HERE | The URL of the Google Sheet that holds both tabs. |
telegramChatId | PASTE_YOUR_TELEGRAM_CHAT_ID_HERE | The Telegram chat each ticket is sent to. |
๐ What lands in your Google Sheet
One row per new page, with these 12 columns. The header row is written on the first run, so start with an empty sheet.
๐ How to set it up
- Get the workflow into n8n
Open it on n8n.io and choose "Use for free", or copy the workflow JSON from this page and paste it onto an empty n8n canvas.
- Connect Apify and OpenAI
Create a free Apify account and connect it in the Audit the site node, then connect an OpenAI account in the OpenAI model node.
- Prepare the sheet and Telegram
Create a Google Sheet with two empty tabs and name them in scoreTab and ticketTab. Create a bot with @BotFather, connect it, and paste your chat id into telegramChatId.
- Set your site, run once, activate
Put the site in websiteUrl and run the workflow once by hand. The first run has no history, so only the floor and critical rules apply. Then activate it.
No Apify account yet? Create one free โ
๐ต What it costs to run
maxPages to lower that ceiling.
The Apify free plan audits a few pages per run. OpenAI tokens are billed on your own OpenAI account.
โ Questions about this workflow
How do I audit my site for AI search every week?
Import this workflow into n8n, connect Apify, OpenAI, a Google Sheet and Telegram, and put your site in the Set your site node. Once active it audits the site every Monday and sends a ticket for each page that needs work.
What are SEO, GEO and AEO here?
SEO is the classic on-page checks. GEO scores how ready a page is for AI engines such as ChatGPT and Perplexity to read and cite. AEO scores how directly the page answers the question it targets. The audit returns each failed check with a recommendation.
Why did my first run open so many tickets?
The first run has nothing to compare against, so every page under minScore or with a critical issue qualifies. maxTickets caps it, and later runs only add pages that changed or still fail.
Can the tickets go to Jira, Linear or Notion?
Yes. Replace the Save the ticket node with a Jira, Linear or Notion node. The ticket already has a title, priority, reason and steps.
What does it cost to run?
The workflow is free. Each run bills the SEO, GEO and AEO Audit actor on your Apify account per page audited, capped by maxPages, plus a few OpenAI calls for the tickets on your own OpenAI account.
๐งช Run it once without n8n
To see the data before building a schedule around it, open one of these ready-made SEO, GEO & AEO Audit - AI Search Readiness Checker tasks on Apify.
๐ More n8n templates
Need this for a different site?
A workflow needs an actor for the site first. Tell me which one and what the alert should say.