---
name: "seo-performance-audit-product"
description: "Audit organic performance movement using search, analytics, inventory, and known-change context."
status: proposal
version: "v2"
---

# SEO Performance Audit Product Skill

Use when the product needs to explain what rose, dropped, stalled, or became newly actionable across organic search and analytics.

This skill is not a rank-tracker dump. It is a decision filter: identify meaningful movement, suppress noise, diagnose likely cause, and recommend the next action.

## Required Inputs

- Customer domain and canonical URL rules.
- Date range and comparison range.
- Target countries/languages and excluded locales.
- Search performance data: query, page, clicks, impressions, CTR, position, country, device, date.
- Site inventory with page type, target keyword, status, content owner, last updated date.
- Known changes: migrations, redirects, launches, page updates, title/meta edits, outages, campaigns, seasonality.
- Existing tasks and prior audit reports.

## Optional Inputs

- Analytics by URL: sessions, pageviews, users, organic segment, conversions, engagement.
- Rank tracker or SERP snapshots.
- Crawl/indexing data.
- Revenue/lead-quality data by landing page.
- Server logs, AI-bot fetches, internal search, or support demand.

## Provider Adapters

Normalize data from Google Search Console, GA4, PostHog, Plausible, Amplitude, Fathom, server logs, DataForSEO, Ahrefs, Semrush, SearchAPI, crawlers, or CSV uploads.

The skill consumes compact normalized rows. Never pass raw large API payloads into the reasoning step.

## Audit Principles

- Lead with hidden movement, not the same known top terms every day.
- Search movement must be interpreted with impressions and CTR, not position alone.
- Analytics and GSC can disagree; that disagreement is often the finding.
- Do not call normal fluctuation a problem.
- Do not recommend risky title/meta edits casually, especially on pages already ranking.
- Ignore configured irrelevant locales, test pages, and suppressed clusters.
- Do not duplicate active tasks.

## Default Movement Rules

Tune thresholds per customer size, but start with these defaults:

- Page-2 opportunity: average position 11-30 and meaningful impressions or keyword volume >100.
- Low CTR opportunity: >200 impressions, CTR <1%, and page appears relevant.
- Severe low CTR: >1000 impressions, CTR <1%.
- Scaling opportunity: CTR >3% with <100 impressions/week or low distribution.
- Big mover: average position changes by >=5 positions.
- Core/high-volume terms: only alert on >=10 position movement unless explicitly watched.
- Sharp traffic movement: pageviews/sessions change >=25% with enough baseline volume.
- New query discovery: relevant query appears with impressions/rank that did not exist in prior window.
- Decay candidate: clicks or impressions down for 2+ comparable periods while ranking/intent was previously stable.

## Workflow

1. Normalize and filter.
   - Align timezones, date windows, and data freshness. Remember GSC is delayed.
   - Normalize URLs and strip parameters.
   - Group by URL, query, country, device, page type, and content cluster.
   - Exclude configured languages/locales, staging/test URLs, branded terms when requested, and known suppressed clusters.
   - Compact external data before analysis.

2. Load context before judging movement.
   - Pull site inventory and target keyword mapping.
   - Read recent reports or saved findings for the comparison horizon.
   - Read active tasks/issues so repeated opportunities are marked already tracked.
   - Load known launches, redirects, title/meta changes, deployments, and campaigns.

3. Detect search movement.
   - Find rising pages and queries.
   - Find slipping pages and queries.
   - Find page-2 clusters that can be pushed to page 1.
   - Find high-impression/low-click rows.
   - Find high-CTR/low-impression pages worth scaling.
   - Find new queries that reveal language customers use.
   - Find cannibalization candidates where several URLs split one intent.

4. Cross-check analytics.
   - Compare organic search movement to pageviews/sessions/conversions.
   - Flag cases where GSC is up but analytics is flat/down, or analytics is up without GSC support.
   - Use conversions to raise priority for pages that affect signups, demos, trials, purchases, or lead quality.
   - Skip top-known pages if the audit goal is hidden opportunities.

5. Diagnose likely cause.
   - Content decay: old page slipping, competitor content fresher, weak top section.
   - SERP shift: page type changed, forums/videos/tools now dominate, featured snippet changed.
   - Snippet issue: impressions high, CTR low, title/meta or visible promise weak.
   - Intent mismatch: page ranks for query but does not answer the query quickly.
   - Cannibalization: multiple pages target same intent.
   - Internal-link gap: relevant page exists but lacks authority flow from related content.
   - Indexing/technical issue: sudden impressions drop, URL excluded, canonical/redirect/crawl issue suspected.
   - Tracking issue: analytics changed without search data support.
   - Seasonality: predictable demand shift.
   - Expected volatility: recent redirect/consolidation or major page update. Do not over-alert for 2-4 weeks after redirects.

6. Prioritize.
   - High priority:
     - page-2 rank 11-20 with business-fit demand
     - >500 impressions and near-zero clicks
     - conversion page affected
     - sharp sustained drop on important page
     - newly discovered cluster with clear commercial fit
   - Medium priority:
     - rank 21-30 with good fit
     - high CTR low impressions
     - internal-link improvements
     - refreshes that do not require design/CMS dependencies
   - Low priority:
     - minor rank noise
     - low-fit generic terms
     - duplicate findings
     - known suppressed clusters

7. Choose action.
   - Brief for create/refresh/comparison/landing page.
   - Internal-link task.
   - Snippet/title/meta review with risk flag.
   - Technical/indexing investigation.
   - Consolidation plan.
   - Continue watching.
   - Suppress/ignore.

8. De-duplicate.
   - Check existing tasks by URL, keyword cluster, and intent.
   - If matched, mark already tracked with task id or reference.
   - Only create a new recommendation when the action, page, or keyword cluster is materially different.
   - Include a duplicate-check note in every audit.

## Output Format

Return:

- Executive summary: what matters, not a raw data tour.
- Rises: pages/queries with evidence and interpretation.
- Drops: pages/queries with likely cause and risk level.
- Page-2 opportunities.
- CTR opportunities.
- New query discoveries.
- Analytics mismatches.
- Cannibalization or duplicate-intent notes.
- Already-tracked/suppressed items.
- Recommended actions with priority, owner/adapter target, and next skill.
- Data gaps or failed sources.

## Required Evidence Per Finding

Each finding needs:

- URL or proposed URL.
- Query/cluster.
- Current metrics and comparison metrics.
- Why it is meaningful.
- Recommended action.
- Confidence.
- Whether it is new, repeated, or already tracked.

## Failure Conditions

Fail the audit if:

- It includes excluded languages/locales.
- It reports raw API dumps.
- It alerts on minor fluctuations without business context.
- It repeats unchanged findings from recent reports without saying already tracked.
- It skips duplicate checks.
- It recommends risky title/meta changes on a ranking page without warning.
- It ignores analytics/conversion data when available.

