← ClaudeAtlas

seo-repositionlisted

Reposition a LIVE site whose category/keyword phrasing is not ranking or is being mis-filed by Google/LLMs into unrelated concepts (GSC shows brand-only demand; category pages pull ~0 non-brand impressions). Method proven on two sites: SERP trap-test every candidate phrase → find the winnable wedge → rewording plan with a target-vs-copy rule → GUARD TESTS FIRST (red→green ratchet) → phased gated implementation → ship → schedule a predicted-vs-actual grading run. Review at the plan and PR gates is the owner's choice (the phase gates state the options). Trigger phrases: "reposition the site's SEO", "our keywords collide with X", "we're not ranking for our category", "Google files us under the wrong thing", "trap-phrase audit", "rewording plan", "find our SEO wedge".
karero/website-builder · ★ 4 · Code & Development · score 74
Install: claude install-skill karero/website-builder
# SEO reposition — escape the wrong category, rank in a winnable one The core failure this fixes: a site's own phrasing collides with an unrelated established concept, so Google (and LLMs) file it under the wrong thing — "contacts" → contact lenses, "frequent flyer" → airline miles, "travel networking app" → meet-strangers apps. No amount of on-page polish fixes a mis-filed site; the vocabulary itself must move to winnable ground, and guard tests must keep it there. Prereqs: `search-console-insights` connected (GSC data + `serp_check.py` with a Serper key). Inputs to confirm up front: target **market, language, device** — always pass explicit `gl`/`hl` to the SERP fetch, never rely on the helper's defaults (a US default is wrong for a DACH-market site and vice versa). ## Phase 1 — Diagnose → `SEO-FINDINGS.md` - **GSC pull**: brand vs non-brand demand, per-page impressions. The tell: brand queries dominate and category pages get ~0 non-brand impressions. - **SERP trap-test** (the core technique): for each candidate phrase, fetch the top-10 (`serp_check.py`, explicit market/lang) and read results by *intent*, not keyword overlap. Classify: **✅ wedge** (on-intent, no entrenched incumbent) · **🟠 crowded** (right category, owned by incumbents) · **🚫 trap** (resolves to a different concept entirely). Keep the raw SERP snapshots with each verdict — graders re-check them later. The model assists the read; a human confirms each 🚫/🟠/✅ call. - ≥2 rounds: replacemen