Score and flag SEO zombie pages with GA4, GSC, Postgres, Claude, and Slack
Ready for 3.0What this workflow does
This workflow has 35 nodes and runs manually, when you click “Execute workflow” (plus 1 other trigger). Along the way it connects Postgres and Slack. It also calls api.anthropic.com over HTTP.
How it runs
Trigger: Manually, when you click “Execute workflow” (plus 1 other trigger).
- Set - Zombie Hunt Config (Edit Fields (Set)): sets 13 fields: siteUrl, sitemapUrl, maxPages…
- HTTP Request: calls an HTTP API
- JS - Parse Sitemap URLs (Code): runs custom JavaScript code
- Loop Over Pages (Crawl) (Loop Over Items (Split in Batches)): loops over the items in batches
- Postgres: run a query
- HTTP Request: calls an HTTP API
- JS - Prepare Enrichment Queue (Code): runs custom JavaScript code
- HTML: parses or builds HTML
- Loop Over Pages (Enrich) (Loop Over Items (Split in Batches)): loops over the items in batches
- JS - Normalize Crawl Data (Code): runs custom JavaScript code
…plus 23 more steps. See the full node list below.
Services it uses
HTTP calls to: api.anthropic.com
Scraping pages by hand? Firecrawl is a simpler option (10% off for new users).
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (12)
- Manual Trigger
n8n-nodes-base.manualTrigger - Schedule Trigger
n8n-nodes-base.scheduleTrigger - Edit Fields (Set)
n8n-nodes-base.set - HTTP Request
n8n-nodes-base.httpRequest - Code
n8n-nodes-base.code - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - HTML
n8n-nodes-base.html - Postgres
n8n-nodes-base.postgres - Split Out
n8n-nodes-base.splitOut - Merge
n8n-nodes-base.merge - If
n8n-nodes-base.if - Slack
n8n-nodes-base.slack
From the author
Quick overview This workflow crawls a site from its sitemap, enriches each URL with GA4, Google Search Console, backlink, and indexation signals, scores “zombie” pages, stores results in Postgres, and posts a summary report to Slack (with optional Anthropic…