Back to Templates

Run automated SEO audits with Screaming Frog CLI, PageSpeed, PDF and Excel fixes

Created by

Created by: Salman Mehboob || salmanmehboob
Salman Mehboob

Last update

Last update 21 days ago

Share


๐Ÿ’ก 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 Audits folder automatically.
  • Slack Delivery: Links to the generated files are posted directly back into your original Slack thread.

โš™๏ธ How It Works

  1. A Slack message containing #Audit and a URL triggers the workflow.
  2. 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).
  3. The workflow polls the API every 2 minutes until the status is done, timeout, or failed.
  4. 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.
  5. 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.csv and all_anchor_text.csv files (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

  1. API Setup: Deploy the SF CLI API on your Windows machine/server and expose it via Cloudflare Tunnel.
  2. Link the Crawler: Update the Start Crawl node URL and Bearer token with your tunnel URL and API secret.
  3. PageSpeed Insights: Replace the PSI API key in the Page Speed Insights HTTP node with your own.
  4. Cloud Storage: Set your Google Drive Folder ID in both upload nodes, and your Google Sheets Spreadsheet ID in the Append row node.
  5. Branding:
    • In the Report Builder code node, update the AGENCY config object (around line 125) with your name, email, and tagline.
    • In the Input Cleaner node, set the watermark value to your agency's name.

๐Ÿ“ž 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:[email protected]
๐Ÿ”— LinkedIn: Salman Mehboob