# \[Workflow Included\] SEO Automation in n8n - find your quick-win pages and get the rewrites ready to paste

**URL:** <https://community.n8n.io/t/workflow-included-seo-automation-in-n8n-find-your-quick-win-pages-and-get-the-rewrites-ready-to-paste/303601>\
**Category:** Built with n8n\
**Tags:** node, workflow-building, http-request\
**Created:** [July 17, 2026, 10:59am UTC](https://community.n8n.io/t/workflow-included-seo-automation-in-n8n-find-your-quick-win-pages-and-get-the-rewrites-ready-to-paste/303601 "2026-07-17T10:59:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![easybits](https://dub1.discourse-cdn.com/n8n/user_avatar/community.n8n.io/easybits/32/153703_2.png) [@easybits](https://community.n8n.io/u/easybits)\
**Post date:** [July 17, 2026, 10:59am UTC](https://community.n8n.io/t/workflow-included-seo-automation-in-n8n-find-your-quick-win-pages-and-get-the-rewrites-ready-to-paste/303601/1 "2026-07-17T10:59:09Z")

</div>

👋 Hey n8n community,

A while back I posted a pipeline I built for a friend who runs an online shop, turning his delivery documents into finished product content ([that post here](https://community.n8n.io/t/workflow-included-i-built-an-n8n-pipeline-that-turns-messy-supplier-docs-into-publish-ready-store-content/300959)). He came back with a follow-up: he wanted SEO in the same place.

Not an SEO platform. His words were roughly “I already come here to create content, I want to come here to fix content too.” That framing is why this got built the way it did.

**Why not just use Search Console?** He has it. He opens it once a quarter, squints at a graph, closes it. The data was never the problem. Search Console tells you a page sits at position 8.9 with 0% CTR, and then stops. It won’t rank your 3,000 pages by opportunity, won’t tell you what’s wrong on the page, and won’t write you a better meta. So the real workflow was five tools deep before anything got fixed.

How it’s set up:

**Quick wins across the site.** Pulls every page from the Search Console API, scores each one in a Code node, returns a ranked list. Two signals: **striking distance** (position 5-15 with real impressions, closest to page one) and **low CTR** (lots of impressions, barely any clicks, so the title and meta aren’t earning it). No page fetching, no LLM. It’s fast because it’s boring.

**Analyze a page.** Paste a URL. It fetches the live HTML, pulls the title, meta, headings, alt text and schema, grabs that page’s GSC queries, scores it, and hands back paste-ready rewrites grouped by section and ordered by severity.

The two chain: each quick-win row expands and runs the full analysis inline, on click. So you only spend an LLM call on a page you actually decided to work on.

Three things worth stealing:

**Deterministic JS scores, the LLM only writes.** Fixed rules emit the flags and the severity order. Gemini never grades or reorders. If the model finds the problems _and_ ranks them, you get confident nonsense in an order you can’t audit.

**Verify every rewrite after generation.** A second Code node re-checks each one against the hard limits. First real run, Gemini returned a meta it was very happy with. 160 characters. Limit is 155. That would have shipped truncated.

**Rolling date ranges on the GSC query.** I hardcoded a window that ended before my data started. GSC returns a clean 200 with no `rows`, so every node stays green and reports “no data available”. Nothing errors. Use `new Date(Date.now() - 90*24*60*60*1000)` and end 3 days back, since GSC runs ~48h behind.

Both workflows are on GitHub:

> **[n8n-workflows/easybits-ai-seo-support-workflow at...](https://github.com/felix-sattler-easybits/n8n-workflows/tree/367accdd405397366fc93ff391f592d3ec72cc41/easybits-ai-seo-support-workflow)**
>
> 367accdd405397366fc93ff391f592d3ec72cc41/easybits-ai-seo-support-workflow

I also made a short video showing how the workflow works.

What signals would you score beyond striking distance and CTR? That’s the part I’d most like to improve.

Best,  
Felix
