---
name: Rank Tracking
slug: rank-tracking
category: SEO
description: Rank Tracking compares two Search Console periods to show keyword and page position changes. Use it to answer questions like what moved this week, whether rankings improved, or how an update affected a site.
github: "https://github.com/Ryze-AI-Adgent/open-seo-mcp-skills/tree/main/skills/rank-tracking"
language: Shell
stars: 262
forks: 2
install: "npx degit https://github.com/Ryze-AI-Adgent/open-seo-mcp-skills/tree/main/skills/rank-tracking ~/.claude/skills/rank-tracking"
installs_to: ~/.claude/skills/rank-tracking
source_path: skills/rank-tracking/SKILL.md
collection_size: 8
category_size: 176
collection_url: "https://dirskills.com/collections/Ryze-AI-Adgent/open-seo-mcp-skills"
added: 2026-09-02T05:20:14.775Z
last_synced: 2026-09-02T05:20:14.775Z
canonical_url: "https://dirskills.com/skills/rank-tracking"
---

# Rank Tracking

Rank Tracking compares two Search Console periods to show keyword and page position changes. Use it to answer questions like what moved this week, whether rankings improved, or how an update affected a site.

**Install:**

```bash
npx degit https://github.com/Ryze-AI-Adgent/open-seo-mcp-skills/tree/main/skills/rank-tracking ~/.claude/skills/rank-tracking
```

## README

# Rank Tracking

Rank trackers estimate your position by scraping SERPs daily. Search Console records the position Google actually served you at. Use the real number.

## Workflow

1. **Property.** `google_search_console__listSites` → pick the user's domain.
2. **Two windows.** Default: last 28 days vs previous 28. If the user names an event ("since the March update"), split around that date. GSC data lags ~2 days — never include today.
3. **Pull both periods.** `google_search_console__runRawSearchAnalytics`, dimensions `["query"]`, rowLimit high enough to cover the site (start 5000). Repeat with `["page"]` for page-level movement.
4. **Join and diff.** Match queries across periods, compute position delta, clicks delta, impressions delta.
5. **Classify:**
   - **Winners** — position improved ≥ 2 spots on queries with real impressions
   - **Losers** — dropped ≥ 2 spots (sort by clicks lost, not by delta — a 4→7 drop on a money query beats a 40→80 crash on a nothing query)
   - **New** — queries appearing only in the recent period
   - **Lost** — queries that vanished
6. **Spot-verify (optional).** For the 3–5 most important losers, if DataForSEO SERP tools are exposed in the workspace, pull the live SERP to see who took the spot. Skip if unavailable.

## Output

Verdict first (net up/down and the single biggest move), then four tables: Winners, Losers, New, Lost — query, positions before→after, clicks delta. If the user asked about a specific algorithm update, answer that question explicitly with the before/after evidence.

## Recurring

If the user wants this weekly, suggest scheduling it (Claude Code scheduled tasks / a routine) rather than re-running by hand.
