Send on-page SEO audit reports with GPT-4o-mini, Gmail, and Google Sheets

Go to Workflow
0 views
Built by Ziad Karim Ziad Karim
Created on August 12, 2026

Description

Quick overview
Submit any URL through a form and get a scored on-page SEO audit in your inbox. Twelve deterministic checks (title and meta lengths, H1s, alt text, canonical, robots.txt, sitemap) compute a real baseline score — then AI writes the consultant narrative, rewrites and five quick wins on top.

How it works
Anyone pastes a URL and their email into a shareable form.
The workflow fetches the page's real HTML — and if the site is down or blocks the request, the requester gets a polite failure email instead of silence.
It extracts the signals that matter (title, meta description, headings, image alt text, canonical URL, body copy) and checks robots.txt for a declared sitemap.
Twelve deterministic checks run in plain code first, producing a pass/warn/fail table and a baseline score out of 100 that can't be hallucinated.
AI writes the consultant-grade narrative on top of the verified numbers: rewritten title and meta, heading and content review, and the five highest-impact quick wins.
The report lands as clean HTML email, and every delivered audit is appended to a Google Sheets history.

Setup
Connect an OpenAI (or compatible) credential in SEO Audit AI Model.
Connect your Gmail account in Email the Audit Report and Email the Failure Notice — one click each on n8n Cloud.
Create a spreadsheet with columns Date, Page URL, Score, Failed checks, Sent to and select it in Log the Audit History.
Activate the workflow, open Request an SEO Audit → Test URL, and submit a page with the email address the report should go to.

Requirements
OpenAI (or compatible) API key; Gmail account; a Google Sheet for the audit history with columns Date, Page URL, Score, Failed checks, Sent to.

Customization
The twelve checks live in one Code node — add Open Graph, structured-data or agency-framework checks and the score adapts; add your branding to the report; batch-audit a URL list from Sheets; deliver to Slack instead of email.

Additional info
The score can't be hallucinated — lengths and counts are computed in code and the AI is instructed to trust the table, not re-count. Unreachable sites email the requester a failure notice, and every audit is logged to a Sheets history. The form is shareable — embed it as a lead magnet and every submission captures an email address.

Nodes Used (7)

Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
Code
n8n-nodes-base.code
Gmail
n8n-nodes-base.gmail
Google Sheets
n8n-nodes-base.googleSheets
HTML
n8n-nodes-base.html
HTTP Request
n8n-nodes-base.httpRequest
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi