π Run automated SEO audits with Screaming Frog CLI, PageSpeed, PDF and Excel fixes
β‘ 418 views Β· π Market Research & Insights
Description
π‘ What this workflow does
Type #Audit https://clientsite.com in Slack. Walk away. Get a professional PDF report and a structured Excel fix sheet delivered to Google Drive and posted back in your Slack thread β fully automated, zero manual work.
Built for SEO agencies and freelancers who deliver technical audits at scale.
π Check out the deliverables: π View Sample PDF Report π View Sample Excel Fix Sheet
π¦ What You Get
- 20β50 page PDF report: Includes a health score, Core Web Vitals, broken links, On-Page SEO, issue cards with fix explanations, a priority action plan, and an SEO glossary.
- Excel fix sheet: 18 tabs (one per issue type), containing every URL and exact fix instructions β ready to hand off to a developer.
- Cloud Storage: Both files are saved to your Google Drive
/SEO Auditsfolder automatically. - Slack Delivery: Links to the generated files are posted directly back into your original Slack thread.
βοΈ How It Works
- A Slack message containing
#Auditand a URL triggers the workflow. - A POST request starts the crawl via your self-hosted Screaming Frog CLI API (built with Python + FastAPI, exposed publicly through a Cloudflare Tunnel β no static IP needed).
- The workflow polls the API every 2 minutes until the status is
done,timeout, orfailed. - The crawl ZIP is downloaded and decompressed, triggering two simultaneous branches:
- Branch A (Executive Report): SEO Audit Parser β PageSpeed Insights β PSI Parser β Report Builder β HTML to PDF β Google Drive.
- Branch B (Developer Sheet): Full Data Parser β Tab Builder β Excel File Builder β Google Drive.
- Both Google Drive links are merged, logged to a Google Sheet, and posted back into the Slack thread.
π οΈ Key Technical Features
- Streaming CSV Parser: Easily handles large crawl files up to 500MB without causing timeouts or memory crashes.
- Smart File Optimization: Auto-skips massive
all_inlinks.csvandall_anchor_text.csvfiles (reduces the unzipped payload from ~450MB to ~15MB). - Advanced 403 Error Logic: Splits 403 errors into three actionable categories:
- Your own site blocking the crawler (WAF/Cloudflare)
- Known bot-blocked platforms (Twitter, Wikipedia)
- Unknown external links requiring a manual check
- Archive Page Filtering: Removes tags, pagination, feeds, and search pages from all issue counts so your data isnβt skewed.
- Dynamic Health Score (0β100): Algorithmically weighted by critical vs. warning issues.
- Universal CMS Support: Works flawlessly with WordPress, Blogger, Shopify, and any other crawlable CMS.
π What You Need
| Requirement | Notes |
|---|---|
| Screaming Frog SEO Spider | Licensed version (Β£199/year) required |
| SF CLI API (Python/FastAPI) | Not included in this template β Contact creator below |
| Cloudflare Tunnel | Free β exposes your local API publicly |
| Google PageSpeed API Key | Free from Google Cloud Console |
| PDF Conversion Service | Workflow is pre-configured for pdfendpoint.com |
| Google Drive & Sheets | OAuth2 credentials for file storage and audit logging |
| Slack | OAuth2 credentials for the trigger and delivery |
| n8n (Self-Hosted) | Recommended for long execution times |
β οΈ Required n8n Environment Variables
To ensure the workflow can process large sites without timing out, add these to your n8n .env file:
N8N_DEFAULT_BINARY_DATA_MODE=filesystem
EXECUTIONS_TIMEOUT=7200
N8N_RUNNERS_TASK_TIMEOUT=7200
NODE_OPTIONS=--max-old-space-size=8192
π Quick Setup
- API Setup: Deploy the SF CLI API on your Windows machine/server and expose it via Cloudflare Tunnel.
- Link the Crawler: Update the
Start Crawlnode URL and Bearer token with your tunnel URL and API secret. - PageSpeed Insights: Replace the PSI API key in the
Page Speed InsightsHTTP node with your own. - Cloud Storage: Set your Google Drive Folder ID in both upload nodes, and your Google Sheets Spreadsheet ID in the
Append rownode. - Branding:
- In the
Report Buildercode node, update theAGENCYconfig object (around line 125) with your name, email, and tagline. - In the
Input Cleanernode, set thewatermarkvalue to your agencyβs name.
- In the
π Support & Custom API Access
Note: The custom Python/FastAPI backend required to orchestrate Screaming Frog is not included in this JSON template. If you want to set up the complete system, please reach out:
π§ Email:salmanmehboob1947@gmail.com
π LinkedIn: Salman Mehboob
π Nodes Used
Google Sheets, HTTP Request, Slack, Google Drive, Slack Trigger
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File