--- name: seo-position-tracking description: | Keyword position tracking and ranking monitoring via Ahrefs Rank Tracker. Triggers: rank tracking, position monitoring, keyword rankings, visibility score, ranking report, 키워드 순위, 순위 추적. --- # SEO Position Tracking ## Purpose Monitor keyword ranking positions, detect significant changes, calculate visibility scores, and compare against competitors using Ahrefs Rank Tracker data. Provides actionable alerts for ranking drops and segment-level performance breakdown. ## Core Capabilities 1. **Position Monitoring** - Retrieve current keyword ranking positions from Ahrefs Rank Tracker projects 2. **Change Detection** - Detect significant position changes with configurable threshold alerts (severity: critical/high/medium/low) 3. **Visibility Scoring** - Calculate weighted visibility scores using CTR-curve model (position 1 = 30%, position 2 = 15%, etc.) 4. **Brand/Non-brand Segmentation** - Automatically classify keywords by brand relevance and search intent type 5. **Competitor Comparison** - Compare keyword overlap, position gaps, and visibility scores against competitors ## MCP Tool Usage ### Ahrefs Rank Tracker Tools ``` mcp__ahrefs__rank-tracker-overview: Get rank tracking overview with current positions mcp__ahrefs__rank-tracker-competitors-overview: Compare rankings against competitors mcp__ahrefs__rank-tracker-competitors-pages: Competitor page-level ranking data mcp__ahrefs__rank-tracker-competitors-stats: Detailed competitor ranking statistics mcp__ahrefs__rank-tracker-serp-overview: SERP details for tracked keywords mcp__ahrefs__management-projects: List available Ahrefs projects mcp__ahrefs__management-project-keywords: Get tracked keywords for a project ``` ### Notion for Report Storage ``` mcp__notion__notion-create-pages: Save tracking reports to SEO Audit Log mcp__notion__notion-update-page: Update existing tracking entries ``` ## Workflow ### Phase 1: Data Collection 1. Identify Ahrefs project via `management-projects` 2. Retrieve tracked keywords via `management-project-keywords` 3. Fetch current positions via `rank-tracker-overview` 4. Fetch competitor data via `rank-tracker-competitors-overview` (if requested) ### Phase 2: Analysis 1. Detect position changes against previous period 2. Generate alerts for changes exceeding threshold 3. Calculate visibility score weighted by search volume and CTR curve 4. Segment keywords into brand/non-brand and by intent type 5. Compare positions against each competitor ### Phase 3: Reporting 1. Compile position distribution (top3/top10/top20/top50/top100) 2. Summarize changes (improved/declined/stable/new/lost) 3. List alerts sorted by severity and search volume 4. Generate segment-level breakdown 5. Save report to Notion SEO Audit Log database ## Output Format ```json { "target": "https://example.com", "total_keywords": 250, "visibility_score": 68.5, "positions": { "top3": 15, "top10": 48, "top20": 92, "top50": 180, "top100": 230 }, "changes": { "improved": 45, "declined": 30, "stable": 155, "new": 12, "lost": 8 }, "alerts": [ { "keyword": "example keyword", "old_position": 5, "new_position": 15, "change": -10, "volume": 5400, "severity": "high" } ], "segments": { "brand": {"keywords": 30, "avg_position": 2.1}, "non_brand": {"keywords": 220, "avg_position": 24.5} } } ``` ## Notion Output (Required) All tracking reports MUST be saved to OurDigital SEO Audit Log: - **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef` - **Properties**: Issue (title), Site (url), Category (Position Tracking), Priority, Found Date, Audit ID - **Language**: Korean with English technical terms - **Audit ID Format**: RANK-YYYYMMDD-NNN