How I generate a complete SEO Pre-Audit report in 7 minutes (Tutorial)
You spend hours doing SEO audits for your prospects? Me too.
Until I automated the whole thing.
Now: 7 minutes flat for a complete pre-audit covering all 3 SEO pillars.
This pre-audit is superficial.It does NOT replace a deep audit from a professional SEO consultant.
But It analyzes on the surface:
• Content and keywords
• Technical SEO (crawl, performance, errors)
• Authority and backlinks
What is it useful for ?
To get a quick first overview of any website.
To open a discussion about SEO during a sales call.
To convince internal stakeholders to dig deeper into search optimization with real data.
In short: a pre-qualification and sales enablement tool.
🛠️ Prerequisites
Before you start you’ll need:
Now let’s dive into the step-by-step process.
🎯 Step 1: Technical Audit via N8N
This is the automation’s core.
We use the DataForSEO API, not the MCP for the technical audit.
Why?
Because several API features aren’t available on the MCP.
The N8N Workflow Breakdown

How the Automation Starts
First things first: the input.
The workflow starts with a simple form. You only need to fill in:
- The domain to audit
- 4 specific URLs for Lighthouse analysis

Why only 4 URLs for Lighthouse? Because Lighthouse audits can get expensive fast.
So I pick 4 different page templates:
- The homepage
- A category page
- A product page
- A blog article
Why does this work?
Because pages built on the same template generally have the same performance. They share the same structure, same scripts, same loading behavior.
Audit one blog post → you’ve got a good idea of how ALL blog posts perform.
Smart sampling. Cost effective.
The Crawl & Wait Loop
Once the form is submitted, here’s what happens:
Step 1: First API call to DataForSEO to launch the crawl.
This tells DataForSEO: « Hey, go crawl this domain. »
Step 2: The crawl takes time. Could be 2 minutes. Could be 5.
So I built a loop.
Here’s how it works:
- A Wait node pauses the workflow for 1 minute
- Then a DataForSEO node checks the crawl status
Good news: this status check call is completely free. You can run it as many times as needed. No extra cost.
The loop keeps running until the crawl is complete.
Once the crawl is finished, My workflow automates calls to several DataForSEO endpoints:
1. OnPage Instant Pages
- Instant analysis of site pages
- Retrieves OnPage scores, meta tags, H1s
- Detects duplicate titles and descriptions
- Input: URL of the site to audit
- Output: Average OnPage score, list of crawled pages
2. OnPage Content Parsing
- Parses text content from each page
- Extracts headings (H1, H2, H3…)
- Analyzes content structure
- Input: URLs to analyze
- Output: Structured content and heading hierarchy
3. OnPage Lighthouse
- Runs Lighthouse audits on 4 key URLs
- Measures Performance, Accessibility, SEO, Best Practices
- Input: Priority URLs (homepage, main service pages)
- Output: Lighthouse scores by category
4. Broken Link Detection
- Crawls internal links
- Identifies 404 errors
- Input: Sitemap or full crawl
- Output: List of broken links with source page
5. Redirect Analysis
- Detects redirect chains
- Identifies 301 and 302 redirects
- Input: Crawled URLs
- Output: Redirect chain mapping
6. Technical Checks
- Verifies sitemap.xml presence
- Tests robots.txt
- Validates SSL certificate
- Checks HTTP/2
- Input: Root domain
- Output: Technical elements checklist
The Output: A Clean Markdown File
At the end of the workflow, N8N generates a complete markdown file.
Here’s what it looks like:
# 🔍 Audit Technique SEO - empirik.fr
**Date :** 24/11/2025
---
## 📊 Vue d'ensemble
| Métrique | Valeur |
|----------|--------|
| **Pages crawlées** | 100 |
| **Score OnPage moyen** | 92.17/100 |
| **Liens cassés** | 3 |
| **Titles dupliqués** | 2 |
| **Meta descriptions dupliquées** | 10 |
---
## 🔴 Distribution des Codes HTTP
| Code | Nombre de pages |
|------|----------------|
| ✅ 200 OK | 100 |
| 🔄 Redirections (301/302) | 11 |
| ❌ Erreurs 4xx | 3 |
| ⚠️ Erreurs 5xx | 0 |
---
## 📝 Balises Dupliquées
### Titles dupliqués
**Total :** 0 groups de titles dupliqués
*Aucun title dupliqué détecté*
---
## 🔗 Liens Cassés
**Total :** 3 liens cassés trouvés
- **Page source :** [https://www.empirik.fr/agence-analytics/google-analytics-4/](https://www.empirik.fr/agence-analytics/google-analytics-4/)
**Lien cassé :** https://www.empirik.fr/?page_id=8642&preview=true (Code 404)
- **Page source :** [https://www.empirik.fr/agence-sea-social-ads/agence-sea-google-ads-lyon/](https://www.empirik.fr/agence-sea-social-ads/agence-sea-google-ads-lyon/)
**Lien cassé :** https://www.empirik.fr/agence-sea-social-ads/agence-sea-google-ads-lyon/agence-google-ads-partner-data-driven (Code 404)
- **Page source :** [https://www.empirik.fr/agence-sea-social-ads/agence-sea-google-ads-paris/](https://www.empirik.fr/agence-sea-social-ads/agence-sea-google-ads-paris/)
**Lien cassé :** https://www.empirik.fr/agence-sea-social-ads/agence-sea-google-ads-paris/agence-google-ads-partner-data-driven (Code 404)
And so on ...
With sections for:
- HTTP status code distribution
- Duplicate tags
- Broken links with source pages
- Redirect chains
- Non-indexable pages
- Detailed Lighthouse scores
- Detected SEO issues
🔗 Step 2: Backlink Analysis & Opportunities via Claude Desktop
Now we move to authority and keywords.
For this we use Claude Desktop with the DataForSEO MCP.
Setting Up the DataForSEO MCP
Open Claude Desktop and go to settings.

In the menu, click « Developer ».

Then click « Edit Config ».

Add this JSON code:
{
"mcpServers": {
"data-for-seo": {
"command": "npx",
"args": [
"-y",
"dataforseo-mcp-server"
],
"env": {
"DATAFORSEO_USERNAME": "your login email",
"DATAFORSEO_PASSWORD": "your password"
}
}
}
}
Important: Make sure to quit Claude Desktop completely then restart it for the MCP to activate.
Then test in a new chat that everything is connected properly.
Comparative Backlink Analysis
Once the MCP is active, I ask Claude:
« Analyze the authority and backlinks of [my-site.com] comparing with [competitor1.com], [competitor2.com] and [competitor3.com]. Generate a PDF presentation with key metrics. »
Claude calls these endpoints via the MCP:
- Bulk Ranks: to compare Domain Ranks
- Bulk Referring Domains: for referring domain counts
- Backlinks Summary: for detailed backlink metrics
It outputs a PDF with:
- Comparative table of authority metrics
- Gap with competitors
- Strengths and weaknesses

Quick Win Opportunities
Then I ask:
« Give me 15 keywords where [my-site.com] ranks between position 5 and 15. Output as PDF with keywords, current position and search volume. »

Claude uses the Ranked Keywords endpoint from the DataForSEO MCP. It filters on positions 5-15.
And outputs a clean PDF with a table that shows quick improvement potential if you work on the site’s SEO.
🎨 Step 3: Sales Presentation via Gemini
Now you have:
- The markdown file with the technical audit
- The PDF with backlink analysis
- The PDF with keyword opportunities
Last step: the branded sales presentation.
Prompt for Gemini
I send all 3 files to Gemini Pro with this prompt:
« You are an expert at creating sales presentations for SEO audits.
I’m providing 3 documents: – A technical audit in markdown format – A comparative backlink analysis PDF – A keyword opportunities PDF
Create a professional Google Slides presentation that:
1. Uses my brand colors: [#COLOR1], [#COLOR2] 2. Adds [COMPANY NAME] logo on every slide (fetch it from Google Images) 3. Structures the presentation pillar by pillar:
- Slide 1: Cover*Slides 2 : Keyword opportunities (positions 5-15)
- Slides 3-4: Technical audit (errors, performance, optimizations)*Slides 5 : Backlink and authority analysis*
- Slide 6 : About us with my photo (search [FIRST NAME LAST NAME] on Google Images if no namesake)* 4. Add charts and visuals for each section 5. End with a clear CTA: « Let’s discuss your SEO strategy »
Stay factual, professional, business-oriented. »
The Result
Gemini generates a fully branded presentation on Google Slides with your Google account.
💡 Use Cases
For pre-sales: You send the pre-audit before the meeting. The prospect comes with specific questions. The conversation is 10x more valuable.
For internal buy-in: You need to convince leadership to invest in SEO? Send them this. With numbers. Competitor comparisons. Quantified potential gains.
To prioritize prospects: You can audit 20 sites in a morning. And only keep those with the most potential.
PS: Yes it’s a superficial pre-audit. Yes you need to dig deeper after. But for qualifying leads, opening discussions and showing value fast? Unbeatable.
Ian Sorin is an SEO consultant at Empirik, a digital marketing agency based in Lyon, France. He’s increasingly automating time-consuming daily tasks but he’s careful never to fall into the « 100% automated » trap where human judgment disappears entirely. Because the point of automation isn’t to remove humans from the equation; it’s to remove the busywork so humans can focus on strategy and insights. Passionate about understanding how search engines truly work, he builds tools to automate analysis, runs experiments on his own projects, and constantly digs into the numbers to uncover new growth opportunities.
