mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-06 22:32:39 +02:00
feat: enhance SurfSense with new skills, blog section, and improve SEO metadata
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
- Added multiple new skills to skills-lock.json from the repository `aaron-he-zhu/seo-geo-claude-skills`. - Introduced `fuzzy-search` dependency in package.json for improved search functionality. - Updated pnpm-lock.yaml to include the new `fuzzy-search` package. - Enhanced SEO metadata across various pages, including canonical links and descriptions for better search visibility. - Improved layout and structure of several components, including the homepage and changelog, to enhance user experience.
This commit is contained in:
parent
61b3f0d7e3
commit
7ea840dbb2
120 changed files with 25729 additions and 352 deletions
275
.cursor/skills/rank-tracker/SKILL.md
Normal file
275
.cursor/skills/rank-tracker/SKILL.md
Normal file
|
|
@ -0,0 +1,275 @@
|
|||
---
|
||||
name: rank-tracker
|
||||
description: 'Track keyword rankings and SERP feature changes in traditional search and AI responses over time. 排名追踪/SERP监控'
|
||||
version: "6.0.0"
|
||||
license: Apache-2.0
|
||||
compatibility: "Claude Code ≥1.0, skills.sh marketplace, ClawHub marketplace, Vercel Labs skills ecosystem. No system packages required. Optional: MCP network access for SEO tool integrations."
|
||||
homepage: "https://github.com/aaron-he-zhu/seo-geo-claude-skills"
|
||||
when_to_use: "Use when tracking keyword rankings, monitoring position changes, comparing ranking snapshots, or detecting ranking drops."
|
||||
argument-hint: "<domain> [keyword list]"
|
||||
metadata:
|
||||
author: aaron-he-zhu
|
||||
version: "6.0.0"
|
||||
geo-relevance: "medium"
|
||||
tags:
|
||||
- seo
|
||||
- geo
|
||||
- rank-tracking
|
||||
- keyword-rankings
|
||||
- serp-positions
|
||||
- ranking-changes
|
||||
- position-tracking
|
||||
- 排名追踪
|
||||
- ランキング追跡
|
||||
- 순위추적
|
||||
- seguimiento-rankings
|
||||
triggers:
|
||||
# EN-formal
|
||||
- "track rankings"
|
||||
- "check keyword positions"
|
||||
- "ranking changes"
|
||||
- "monitor SERP positions"
|
||||
- "keyword tracking"
|
||||
- "position monitoring"
|
||||
# EN-casual
|
||||
- "how am I ranking"
|
||||
- "where do I rank for this keyword"
|
||||
- "did my rankings change"
|
||||
- "where do I rank now"
|
||||
- "check my positions"
|
||||
# EN-question
|
||||
- "what position am I ranking at"
|
||||
- "how are my rankings doing"
|
||||
# ZH-pro
|
||||
- "排名追踪"
|
||||
- "关键词排名"
|
||||
- "SERP位置监控"
|
||||
- "排名变化"
|
||||
# ZH-casual
|
||||
- "查排名"
|
||||
- "排名变了吗"
|
||||
- "我排第几"
|
||||
# JA
|
||||
- "ランキング追跡"
|
||||
- "検索順位チェック"
|
||||
- "順位変動"
|
||||
- "キーワード順位確認"
|
||||
# KO
|
||||
- "순위 추적"
|
||||
- "키워드 순위"
|
||||
- "순위 확인"
|
||||
- "내 순위 어떻게 됐어?"
|
||||
# ES
|
||||
- "seguimiento de rankings"
|
||||
- "posición en buscadores"
|
||||
- "posicionamiento SEO"
|
||||
- "en qué posición estoy"
|
||||
# PT
|
||||
- "rastreamento de rankings"
|
||||
- "monitoramento de posições"
|
||||
- "posição no Google"
|
||||
# Misspellings
|
||||
- "rank trackng"
|
||||
---
|
||||
|
||||
# Rank Tracker
|
||||
|
||||
|
||||
> **[SEO & GEO Skills Library](https://github.com/aaron-he-zhu/seo-geo-claude-skills)** · 20 skills for SEO + GEO · [ClawHub](https://clawhub.ai/u/aaron-he-zhu) · [skills.sh](https://skills.sh/aaron-he-zhu/seo-geo-claude-skills)
|
||||
> **System Mode**: This monitoring skill follows the shared [Skill Contract](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md) and [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md).
|
||||
|
||||
|
||||
Tracks, analyzes, and reports on keyword ranking positions over time. Monitors both traditional SERP rankings and AI/GEO visibility to provide comprehensive search performance insights.
|
||||
|
||||
**System role**: Monitoring layer skill. It turns performance changes into deltas, alerts, and next actions.
|
||||
|
||||
## When This Must Trigger
|
||||
|
||||
Use this when the conversation involves any of these situations — even if the user does not use SEO terminology:
|
||||
|
||||
Use this whenever the task needs time-aware change detection, escalation, or stakeholder-ready visibility.
|
||||
|
||||
- Setting up ranking tracking for new campaigns
|
||||
- Monitoring keyword position changes
|
||||
- Analyzing ranking trends over time
|
||||
- Comparing rankings against competitors
|
||||
- Tracking SERP feature appearances
|
||||
- Monitoring AI Overview inclusions
|
||||
- Creating ranking reports for stakeholders
|
||||
|
||||
## What This Skill Does
|
||||
|
||||
1. **Position Tracking**: Records and tracks keyword rankings
|
||||
2. **Trend Analysis**: Identifies ranking patterns over time
|
||||
3. **Movement Detection**: Flags significant position changes
|
||||
4. **Competitor Comparison**: Benchmarks against competitors
|
||||
5. **SERP Feature Tracking**: Monitors featured snippets, PAA
|
||||
6. **GEO Visibility Tracking**: Tracks AI citation appearances
|
||||
7. **Report Generation**: Creates ranking performance reports
|
||||
|
||||
## Quick Start
|
||||
|
||||
Start with one of these prompts. Finish with a short handoff summary using the repository format in [Skill Contract](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md).
|
||||
|
||||
### Set Up Tracking
|
||||
|
||||
```
|
||||
Set up rank tracking for [domain] targeting these keywords: [keyword list]
|
||||
```
|
||||
|
||||
### Analyze Rankings
|
||||
|
||||
```
|
||||
Analyze ranking changes for [domain] over the past [time period]
|
||||
```
|
||||
|
||||
### Compare to Competitors
|
||||
|
||||
```
|
||||
Compare my rankings to [competitor] for [keywords]
|
||||
```
|
||||
|
||||
### Generate Reports
|
||||
|
||||
```
|
||||
Create a ranking report for [domain/campaign]
|
||||
```
|
||||
|
||||
## Skill Contract
|
||||
|
||||
**Expected output**: a delta summary, alert/report output, and a short handoff summary ready for `memory/monitoring/`.
|
||||
|
||||
- **Reads**: current metrics, previous baselines, alert thresholds, and reporting context from [CLAUDE.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/CLAUDE.md) and the shared [State Model](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/state-model.md) when available.
|
||||
- **Writes**: a user-facing monitoring deliverable plus a reusable summary that can be stored under `memory/monitoring/`.
|
||||
- **Promotes**: significant changes, confirmed anomalies, and follow-up actions to `memory/open-loops.md` and `memory/decisions.md`.
|
||||
- **Next handoff**: use the `Next Best Skill` below when a change needs action.
|
||||
|
||||
## Data Sources
|
||||
|
||||
> **Note:** All integrations are optional. This skill works without any API keys — users provide data manually when no tools are connected.
|
||||
|
||||
> See [CONNECTORS.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/CONNECTORS.md) for tool category placeholders.
|
||||
|
||||
**With ~~SEO tool + ~~search console + ~~analytics + ~~AI monitor connected:**
|
||||
Automatically pull ranking positions from ~~SEO tool, search impressions/clicks from ~~search console, traffic data from ~~analytics, and AI Overview citation tracking from ~~AI monitor. Daily automated rank checks with historical trend data.
|
||||
|
||||
**With manual data only:**
|
||||
Ask the user to provide:
|
||||
1. Keyword ranking positions (current and historical if available)
|
||||
2. Target keyword list with search volumes
|
||||
3. Competitor domains and their ranking positions for key terms
|
||||
4. SERP feature status (featured snippets, PAA appearances)
|
||||
5. AI Overview citation data (if tracking GEO metrics)
|
||||
|
||||
Proceed with the full analysis using provided data. Note in the output which metrics are from automated collection vs. user-provided data.
|
||||
|
||||
## Instructions
|
||||
|
||||
When a user requests rank tracking or analysis:
|
||||
|
||||
1. **Set Up Keyword Tracking** -- Configure domain, location, device, language, update frequency. Add keywords with volume, current rank, type, and priority. Set up competitor tracking and keyword categories (brand/product/informational/commercial).
|
||||
|
||||
2. **Record Current Rankings** -- Ranking overview by position range (#1, #2-3, #4-10, #11-20, etc.), position distribution visualization, detailed rankings with URL, SERP features, and change.
|
||||
|
||||
3. **Analyze Ranking Changes** -- Overall movement metrics, biggest improvements and declines with hypothesized causes, recommended recovery actions, stable keywords, new rankings, lost rankings.
|
||||
|
||||
4. **Track SERP Features** -- Feature ownership comparison vs competitors (snippets, PAA, image/video pack, local pack), featured snippet status, PAA appearances.
|
||||
|
||||
5. **Track GEO/AI Visibility** -- AI Overview presence per keyword, citation rate and position, GEO performance trend over time, improvement opportunities.
|
||||
|
||||
6. **Compare Against Competitors** -- Share of voice table, head-to-head comparison per keyword, competitor movement alerts with threat level.
|
||||
|
||||
7. **Generate Ranking Report** -- Executive summary with overall trend, position distribution, key highlights (wins/concerns/opportunities), detailed analysis, SERP feature report, GEO visibility, competitive position, recommendations.
|
||||
|
||||
> **Reference**: See [references/ranking-analysis-templates.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/monitor/rank-tracker/references/ranking-analysis-templates.md) for complete output templates for all 7 steps.
|
||||
|
||||
## Validation Checkpoints
|
||||
|
||||
### Input Validation
|
||||
- [ ] Keywords list is complete with search volumes
|
||||
- [ ] Target domain and tracking location are specified
|
||||
- [ ] Competitor domains identified for comparison
|
||||
- [ ] Historical baseline data available or initial tracking period set
|
||||
|
||||
### Output Validation
|
||||
- [ ] Every metric cites its data source and collection date
|
||||
- [ ] Ranking changes include context (vs. previous period)
|
||||
- [ ] Significant movements have explanations or investigation notes
|
||||
- [ ] Source of each data point clearly stated (~~SEO tool data, ~~search console data, user-provided, or estimated)
|
||||
|
||||
## Example
|
||||
|
||||
**User**: "Analyze my ranking changes for the past month"
|
||||
|
||||
**Output**:
|
||||
|
||||
```markdown
|
||||
# Ranking Analysis: [current month, year]
|
||||
|
||||
## Summary
|
||||
|
||||
Your average position improved from 15.3 to 12.8 (-2.5 positions = better)
|
||||
Keywords in top 10 increased from 12 to 17 (+5)
|
||||
|
||||
## Biggest Wins
|
||||
|
||||
| Keyword | Old | New | Change | Possible Cause |
|
||||
|---------|-----|-----|--------|----------------|
|
||||
| email marketing tips | 18 | 5 | +13 | Likely driven by content refresh |
|
||||
| best crm software | 24 | 11 | +13 | Correlates with new backlinks acquired |
|
||||
| sales automation | 15 | 7 | +8 | Correlates with schema markup addition |
|
||||
|
||||
## Needs Attention
|
||||
|
||||
| Keyword | Old | New | Change | Action |
|
||||
|---------|-----|-----|--------|--------|
|
||||
| marketing automation | 4 | 12 | -8 | Likely displaced by new HubSpot guide |
|
||||
|
||||
**Recommended**: Update your marketing automation guide with [current year] statistics and examples.
|
||||
```
|
||||
|
||||
## Tips for Success
|
||||
|
||||
1. **Track consistently** - Same time, same device, same location
|
||||
2. **Include enough keywords** - 50-200 for meaningful data
|
||||
3. **Segment by intent** - Track brand, commercial, informational separately
|
||||
4. **Monitor competitors** - Context makes your data meaningful
|
||||
5. **Track SERP features** - Position 1 without snippet may lose to position 4 with snippet
|
||||
6. **Include GEO metrics** - AI visibility increasingly important
|
||||
|
||||
## Rank Change Quick Reference
|
||||
|
||||
### Response Protocol
|
||||
|
||||
| Change | Timeframe | Action |
|
||||
|--------|-----------|--------|
|
||||
| Drop 1-3 positions | Wait 1-2 weeks | Monitor -- may be normal fluctuation |
|
||||
| Drop 3-5 positions | Investigate within 1 week | Check for technical issues, competitor changes |
|
||||
| Drop 5-10 positions | Investigate immediately | Full diagnostic: technical, content, links |
|
||||
| Drop off page 1 | Emergency response | Comprehensive audit + recovery plan |
|
||||
| Position gained | Document and learn | What worked? Can you replicate? |
|
||||
|
||||
> **Reference**: See [references/tracking-setup-guide.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/monitor/rank-tracker/references/tracking-setup-guide.md) for root cause taxonomy, CTR benchmarks by position, SERP feature CTR impact, algorithm update assessment, tracking configuration best practices, keyword selection and grouping strategies, and data interpretation guidelines.
|
||||
|
||||
|
||||
### Save Results
|
||||
|
||||
After delivering monitoring data or reports to the user, ask:
|
||||
|
||||
> "Save these results for future sessions?"
|
||||
|
||||
If yes, write a dated summary to `memory/monitoring/YYYY-MM-DD-<topic>.md` containing:
|
||||
- One-line headline finding or status change
|
||||
- Top 3-5 actionable items
|
||||
- Open loops or anomalies requiring follow-up
|
||||
- Source data references
|
||||
|
||||
If any findings should influence ongoing strategy, recommend promoting key conclusions to `memory/hot-cache.md`.
|
||||
|
||||
## Reference Materials
|
||||
|
||||
- [Tracking Setup Guide](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/monitor/rank-tracker/references/tracking-setup-guide.md) — Configuration best practices, device/location settings, and SERP feature tracking setup
|
||||
|
||||
## Next Best Skill
|
||||
|
||||
- **Primary**: [alert-manager](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/monitor/alert-manager/SKILL.md) — operationalize rank changes into thresholds and follow-ups.
|
||||
|
|
@ -0,0 +1,308 @@
|
|||
# Ranking Analysis Output Templates
|
||||
|
||||
Detailed output templates for each step of the rank tracking workflow. Use these templates when setting up tracking, recording snapshots, and generating reports.
|
||||
|
||||
---
|
||||
|
||||
## 1. Rank Tracking Setup Template
|
||||
|
||||
```markdown
|
||||
## Rank Tracking Setup
|
||||
|
||||
### Tracking Configuration
|
||||
|
||||
**Domain**: [domain]
|
||||
**Tracking Location**: [country/city]
|
||||
**Device**: [Mobile/Desktop/Both]
|
||||
**Language**: [language]
|
||||
**Update Frequency**: [Daily/Weekly/Monthly]
|
||||
|
||||
### Keywords to Track
|
||||
|
||||
| Keyword | Volume | Current Rank | Type | Priority |
|
||||
|---------|--------|--------------|------|----------|
|
||||
| [keyword 1] | [vol] | [rank] | Primary | High |
|
||||
| [keyword 2] | [vol] | [rank] | Primary | High |
|
||||
| [keyword 3] | [vol] | [rank] | Secondary | Medium |
|
||||
| [keyword 4] | [vol] | [rank] | Long-tail | Medium |
|
||||
| [keyword 5] | [vol] | [rank] | Brand | High |
|
||||
|
||||
### Competitor Tracking
|
||||
|
||||
Track these competitors for benchmark:
|
||||
1. [Competitor 1] - [domain]
|
||||
2. [Competitor 2] - [domain]
|
||||
3. [Competitor 3] - [domain]
|
||||
|
||||
### Tracking Categories
|
||||
|
||||
| Category | Keywords | Description |
|
||||
|----------|----------|-------------|
|
||||
| Brand | [X] | Brand name variations |
|
||||
| Product | [X] | Product-related terms |
|
||||
| Informational | [X] | Educational queries |
|
||||
| Commercial | [X] | Buying intent terms |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. Current Ranking Snapshot Template
|
||||
|
||||
```markdown
|
||||
## Current Ranking Snapshot
|
||||
|
||||
**Date**: [date]
|
||||
**Domain**: [domain]
|
||||
|
||||
### Ranking Overview
|
||||
|
||||
| Position Range | Keyword Count | % of Total |
|
||||
|----------------|---------------|------------|
|
||||
| #1 | [X] | [X]% |
|
||||
| #2-3 | [X] | [X]% |
|
||||
| #4-10 | [X] | [X]% |
|
||||
| #11-20 | [X] | [X]% |
|
||||
| #21-50 | [X] | [X]% |
|
||||
| #51-100 | [X] | [X]% |
|
||||
| Not ranking | [X] | [X]% |
|
||||
|
||||
### Position Distribution
|
||||
|
||||
```
|
||||
Position 1: [X] keywords
|
||||
Position 2-3: [X] keywords
|
||||
Position 4-10: [X] keywords
|
||||
Position 11-20: [X] keywords
|
||||
Position 21+: [X] keywords
|
||||
```
|
||||
|
||||
### Detailed Rankings
|
||||
|
||||
| Keyword | Position | URL | SERP Features | Change |
|
||||
|---------|----------|-----|---------------|--------|
|
||||
| [kw 1] | 3 | [url] | Featured Snippet | +2 |
|
||||
| [kw 2] | 7 | [url] | PAA | -1 |
|
||||
| [kw 3] | 12 | [url] | None | New |
|
||||
| [kw 4] | 1 | [url] | Featured Snippet | Stable |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Ranking Change Analysis Template
|
||||
|
||||
```markdown
|
||||
## Ranking Change Analysis
|
||||
|
||||
**Period**: [start date] to [end date]
|
||||
|
||||
### Overall Movement
|
||||
|
||||
| Metric | Start | End | Change |
|
||||
|--------|-------|-----|--------|
|
||||
| Avg Position | [X] | [Y] | [+/-Z] |
|
||||
| Keywords in Top 10 | [X] | [Y] | [+/-Z] |
|
||||
| Keywords in Top 3 | [X] | [Y] | [+/-Z] |
|
||||
| Keywords #1 | [X] | [Y] | [+/-Z] |
|
||||
|
||||
### Biggest Improvements
|
||||
|
||||
| Keyword | Old Rank | New Rank | Change | Est. Traffic Impact |
|
||||
|---------|----------|----------|--------|---------------------|
|
||||
| [kw 1] | 15 | 4 | +11 | +[X] visits/mo |
|
||||
| [kw 2] | 25 | 9 | +16 | +[X] visits/mo |
|
||||
|
||||
**Possible causes**:
|
||||
- [kw 1]: [hypothesis - e.g., content refresh may have improved relevance]
|
||||
|
||||
### Biggest Declines
|
||||
|
||||
| Keyword | Old Rank | New Rank | Change | Est. Traffic Impact |
|
||||
|---------|----------|----------|--------|---------------------|
|
||||
| [kw 1] | 3 | 12 | -9 | -[X] visits/mo |
|
||||
|
||||
**Likely factors**:
|
||||
- [kw 1]: [hypothesis - e.g., competitor may have published updated guide]
|
||||
|
||||
> These are hypotheses based on available signals, not confirmed causes. Investigate each with the relevant skill to confirm.
|
||||
|
||||
**Recommended actions**:
|
||||
- [kw 1]: [action to recover]
|
||||
|
||||
### Stable Keywords
|
||||
|
||||
[X] keywords remained within +/-3 positions (stable)
|
||||
|
||||
### New Rankings
|
||||
|
||||
| Keyword | Position | URL | Notes |
|
||||
|---------|----------|-----|-------|
|
||||
| [kw 1] | [pos] | [url] | [notes] |
|
||||
|
||||
### Lost Rankings
|
||||
|
||||
| Keyword | Last Position | URL | Action |
|
||||
|---------|---------------|-----|--------|
|
||||
| [kw 1] | [pos] | [url] | [investigate/refresh] |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. SERP Feature Tracking Template
|
||||
|
||||
```markdown
|
||||
## SERP Feature Tracking
|
||||
|
||||
### Feature Ownership
|
||||
|
||||
| Feature | Your Count | Competitor Avg | Opportunity |
|
||||
|---------|------------|----------------|-------------|
|
||||
| Featured Snippets | [X] | [Y] | [+/-Z] |
|
||||
| People Also Ask | [X] | [Y] | [+/-Z] |
|
||||
| Image Pack | [X] | [Y] | [+/-Z] |
|
||||
| Video Results | [X] | [Y] | [+/-Z] |
|
||||
| Local Pack | [X] | [Y] | [+/-Z] |
|
||||
|
||||
### Featured Snippet Status
|
||||
|
||||
| Keyword | You Own? | Current Owner | Winnable? |
|
||||
|---------|----------|---------------|-----------|
|
||||
| [kw 1] | Yes | You | Maintain |
|
||||
| [kw 2] | No | [Competitor] | High |
|
||||
|
||||
### PAA Appearances
|
||||
|
||||
| Question | Your Answer? | Position | Action |
|
||||
|----------|--------------|----------|--------|
|
||||
| [Question 1] | Yes/No | [pos] | [action] |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. GEO/AI Visibility Tracking Template
|
||||
|
||||
```markdown
|
||||
## AI/GEO Visibility Tracking
|
||||
|
||||
### AI Overview Presence
|
||||
|
||||
| Keyword | AI Overview | You Cited? | Citation Position |
|
||||
|---------|-------------|------------|-------------------|
|
||||
| [kw 1] | Yes | Yes | 1st source |
|
||||
| [kw 2] | Yes | Yes | 3rd source |
|
||||
| [kw 3] | Yes | No | Not cited |
|
||||
| [kw 4] | No | N/A | N/A |
|
||||
|
||||
### AI Citation Rate
|
||||
|
||||
| Metric | Value |
|
||||
|--------|-------|
|
||||
| Keywords with AI Overview | [X]/[Total] ([Y]%) |
|
||||
| Your citations in AI Overview | [X]/[Y] ([Z]%) |
|
||||
| Avg citation position | [X] |
|
||||
|
||||
### GEO Performance Trend
|
||||
|
||||
| Period | AI Overviews Tracked | Your Citations | Rate |
|
||||
|--------|---------------------|----------------|------|
|
||||
| Last week | [X] | [Y] | [Z]% |
|
||||
| 2 weeks ago | [X] | [Y] | [Z]% |
|
||||
| Month ago | [X] | [Y] | [Z]% |
|
||||
|
||||
### GEO Improvement Opportunities
|
||||
|
||||
| Keyword | Has AI Overview | You Cited? | Content Gap |
|
||||
|---------|-----------------|------------|-------------|
|
||||
| [kw 1] | Yes | No | Need clearer definition |
|
||||
| [kw 2] | Yes | No | Missing quotable stats |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. Competitor Ranking Comparison Template
|
||||
|
||||
```markdown
|
||||
## Competitor Ranking Comparison
|
||||
|
||||
### Share of Voice
|
||||
|
||||
| Domain | Keywords Ranked | Avg Position | Visibility |
|
||||
|--------|-----------------|--------------|------------|
|
||||
| [Your site] | [X] | [Y] | [Z]% |
|
||||
| [Competitor 1] | [X] | [Y] | [Z]% |
|
||||
| [Competitor 2] | [X] | [Y] | [Z]% |
|
||||
|
||||
### Head-to-Head Comparison
|
||||
|
||||
**You vs [Competitor 1]**:
|
||||
|
||||
| Keyword | Your Rank | Their Rank | Winner |
|
||||
|---------|-----------|------------|--------|
|
||||
| [kw 1] | 3 | 7 | You |
|
||||
| [kw 2] | 12 | 5 | Them |
|
||||
|
||||
**Summary**: You win [X]/[Y] keywords vs [Competitor 1]
|
||||
|
||||
### Competitor Movement Alerts
|
||||
|
||||
| Competitor | Keyword | Their Change | Threat Level |
|
||||
|------------|---------|--------------|--------------|
|
||||
| [Comp 1] | [kw] | +15 positions | High |
|
||||
| [Comp 2] | [kw] | +8 positions | Medium |
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. Ranking Performance Report Template
|
||||
|
||||
```markdown
|
||||
# Ranking Performance Report
|
||||
|
||||
**Domain**: [domain]
|
||||
**Report Period**: [start] to [end]
|
||||
**Generated**: [date]
|
||||
|
||||
## Executive Summary
|
||||
|
||||
**Overall Trend**: [Improving/Stable/Declining]
|
||||
|
||||
| Metric | Value | vs Last Period | Status |
|
||||
|--------|-------|----------------|--------|
|
||||
| Total keywords tracked | [X] | [+/-Y] | [status] |
|
||||
| Keywords in top 10 | [X] | [+/-Y] | [status] |
|
||||
| Keywords in top 3 | [X] | [+/-Y] | [status] |
|
||||
| Average position | [X] | [+/-Y] | [status] |
|
||||
| Estimated traffic | [X] | [+/-Y]% | [status] |
|
||||
|
||||
## Key Highlights
|
||||
|
||||
### Wins
|
||||
- [Achievement 1]
|
||||
- [Achievement 2]
|
||||
|
||||
### Concerns
|
||||
- [Issue 1]
|
||||
- [Issue 2]
|
||||
|
||||
### Opportunities
|
||||
- [Opportunity 1]
|
||||
|
||||
## Detailed Analysis
|
||||
|
||||
[Include top performing keywords, keywords needing attention, SERP features, GEO visibility, competitive position]
|
||||
|
||||
## Recommendations
|
||||
|
||||
### Immediate Actions
|
||||
1. [Action] for [keyword] - [expected impact]
|
||||
|
||||
### This Month
|
||||
1. [Action]
|
||||
|
||||
### Next Quarter
|
||||
1. [Strategic action]
|
||||
|
||||
## Next Report
|
||||
|
||||
Scheduled: [date]
|
||||
Focus areas: [areas to monitor]
|
||||
```
|
||||
329
.cursor/skills/rank-tracker/references/tracking-setup-guide.md
Normal file
329
.cursor/skills/rank-tracker/references/tracking-setup-guide.md
Normal file
|
|
@ -0,0 +1,329 @@
|
|||
# Rank Tracking Setup Guide
|
||||
|
||||
Comprehensive reference for configuring rank tracking systems. Covers tool configuration, keyword selection, grouping strategies, alert thresholds, reporting cadences, and data interpretation.
|
||||
|
||||
---
|
||||
|
||||
## 1. Tracking Tool Configuration
|
||||
|
||||
### Initial Setup Checklist
|
||||
|
||||
| Step | Action | Notes |
|
||||
|------|--------|-------|
|
||||
| 1 | Select tracking tool | ~~SEO tool with rank tracking capability |
|
||||
| 2 | Add target domain | Primary domain + any subdomains |
|
||||
| 3 | Set tracking location | Country, state/region, or city level |
|
||||
| 4 | Configure device settings | Mobile, desktop, or both (recommended: both) |
|
||||
| 5 | Set search engine | Google (primary), Bing (optional), local engines |
|
||||
| 6 | Set language | Match target audience language |
|
||||
| 7 | Configure update frequency | Daily for priority keywords, weekly for long-tail |
|
||||
| 8 | Add competitor domains | 3-5 direct competitors |
|
||||
| 9 | Import keyword list | From keyword research or existing tracking |
|
||||
| 10 | Verify initial data pull | Confirm positions match manual spot checks |
|
||||
|
||||
### Location Configuration
|
||||
|
||||
Rank tracking results vary dramatically by location. Configure tracking to match your actual target market.
|
||||
|
||||
| Scenario | Location Setting | Example |
|
||||
|----------|-----------------|---------|
|
||||
| National business | Country level | United States |
|
||||
| Regional business | State/region level | California, US |
|
||||
| Local business | City level | San Francisco, CA, US |
|
||||
| Multi-location | Separate project per location | NYC + LA + Chicago |
|
||||
| International | Separate project per country | US + UK + Canada |
|
||||
|
||||
**Common mistake**: Tracking from a single location when your audience is distributed. If you serve multiple cities, track key terms in each city separately.
|
||||
|
||||
### Device Configuration
|
||||
|
||||
| Device | When to Track | Why |
|
||||
|--------|--------------|-----|
|
||||
| Desktop | Always | Baseline reference, still significant traffic |
|
||||
| Mobile | Always | 60%+ of searches are mobile; rankings differ from desktop |
|
||||
| Both separately | Recommended | Identify device-specific ranking issues |
|
||||
| Tablet | Optional | Usually mirrors desktop closely |
|
||||
|
||||
### Update Frequency Recommendations
|
||||
|
||||
| Keyword Tier | Frequency | Rationale |
|
||||
|-------------|-----------|-----------|
|
||||
| Top 20 revenue keywords | Daily | Catch drops immediately |
|
||||
| Brand keywords | Daily | Protect brand presence |
|
||||
| Page 1 keywords (21-50) | 2-3x per week | Monitor competitive positions |
|
||||
| Page 2 keywords (51-100) | Weekly | Track progress without excessive API usage |
|
||||
| Long-tail / monitoring (100+) | Weekly | Cost-efficient tracking |
|
||||
| New/experimental keywords | Daily for first 30 days, then adjust | Establish baseline quickly |
|
||||
|
||||
---
|
||||
|
||||
## 2. Keyword Selection for Tracking
|
||||
|
||||
### How Many Keywords to Track
|
||||
|
||||
| Site Size | Recommended Keywords | Breakdown |
|
||||
|-----------|---------------------|-----------|
|
||||
| Small (< 50 pages) | 50-100 | 10 brand + 20 primary + 20 secondary + rest long-tail |
|
||||
| Medium (50-500 pages) | 100-500 | 20 brand + 50 primary + 100 secondary + rest long-tail |
|
||||
| Large (500+ pages) | 500-2000+ | Scale proportionally; focus on revenue pages |
|
||||
| Enterprise | 2000-10000+ | Comprehensive coverage with automated management |
|
||||
|
||||
### Keyword Selection Criteria
|
||||
|
||||
Select keywords for tracking based on these factors:
|
||||
|
||||
| Factor | Weight | Selection Rule |
|
||||
|--------|--------|---------------|
|
||||
| Revenue impact | High | Always track keywords that drive conversions |
|
||||
| Search volume | Medium | Track keywords with meaningful volume for your niche |
|
||||
| Current ranking | Medium | Track keywords where you rank (pages 1-3) plus targets |
|
||||
| Competitive value | Medium | Track keywords your competitors target |
|
||||
| Strategic importance | High | Track keywords aligned with business goals |
|
||||
| Content investment | Medium | Track keywords for pages you invested in creating |
|
||||
|
||||
### Keyword Types to Include
|
||||
|
||||
| Type | % of Tracked Keywords | Examples |
|
||||
|------|----------------------|---------|
|
||||
| Brand keywords | 5-10% | "[brand name]", "[brand] + product", "[brand] reviews" |
|
||||
| Primary commercial | 15-25% | "[product category]", "best [product]", "buy [product]" |
|
||||
| Secondary commercial | 15-25% | "[product] for [use case]", "[product] vs [competitor]" |
|
||||
| Informational | 20-30% | "how to [topic]", "what is [concept]", "[topic] guide" |
|
||||
| Long-tail | 15-25% | Specific queries with 3+ words, lower volume |
|
||||
| Local (if applicable) | 5-10% | "[service] near me", "[service] in [city]" |
|
||||
|
||||
### Keywords You Should NOT Track
|
||||
|
||||
| Skip These | Why |
|
||||
|-----------|-----|
|
||||
| Zero-volume keywords (unless strategic) | No measurable impact |
|
||||
| Keywords you have no content for | Track only when you create targeting content |
|
||||
| Extremely broad single-word terms | Too volatile, hard to rank, misleading data |
|
||||
| Misspellings (unless significant volume) | Clutters reporting |
|
||||
|
||||
---
|
||||
|
||||
## 3. Keyword Grouping Strategies
|
||||
|
||||
Effective grouping transforms raw keyword data into strategic insights.
|
||||
|
||||
### Grouping Dimensions
|
||||
|
||||
| Dimension | Examples | Insight Gained |
|
||||
|-----------|---------|----------------|
|
||||
| **Topic cluster** | "email marketing", "email automation", "email templates" | Content hub performance |
|
||||
| **Search intent** | Informational, commercial, transactional, navigational | Funnel stage performance |
|
||||
| **Funnel stage** | Awareness, consideration, decision, retention | Buyer journey alignment |
|
||||
| **Product/service** | Product A, Product B, Service C | Product line performance |
|
||||
| **Content type** | Blog, landing page, product page, guide | Format effectiveness |
|
||||
| **Priority tier** | Tier 1 (revenue), Tier 2 (growth), Tier 3 (monitor) | Resource allocation |
|
||||
| **Page** | URL-level grouping | Page-specific performance |
|
||||
| **Competitor overlap** | Keywords where you compete with specific rivals | Competitive intelligence |
|
||||
|
||||
### Recommended Group Hierarchy
|
||||
|
||||
```
|
||||
Level 1: Business Unit / Product Line
|
||||
└── Level 2: Topic Cluster / Category
|
||||
└── Level 3: Search Intent
|
||||
└── Level 4: Priority Tier
|
||||
```
|
||||
|
||||
**Example:**
|
||||
|
||||
```
|
||||
SaaS Product
|
||||
└── Project Management
|
||||
└── Commercial Intent
|
||||
└── Tier 1: "project management software", "best PM tools"
|
||||
└── Tier 2: "PM software for small teams", "agile PM tools"
|
||||
└── Informational Intent
|
||||
└── Tier 1: "what is project management", "PM methodologies"
|
||||
└── Collaboration
|
||||
└── Commercial Intent
|
||||
└── Tier 1: "team collaboration software", "best collab tools"
|
||||
```
|
||||
|
||||
### Group Naming Conventions
|
||||
|
||||
Use consistent, descriptive names:
|
||||
|
||||
| Pattern | Example | Benefit |
|
||||
|---------|---------|---------|
|
||||
| `[Category] - [Intent]` | "Email Marketing - Commercial" | Clear context |
|
||||
| `[Product] / [Feature]` | "CRM / Lead Scoring" | Product-line clarity |
|
||||
| `T1: [Topic]` | "T1: Core Product Terms" | Priority at a glance |
|
||||
|
||||
---
|
||||
|
||||
## 4. Alert Threshold Configuration
|
||||
|
||||
### Setting Baseline Thresholds
|
||||
|
||||
Before setting alerts, establish a baseline by tracking for 2-4 weeks without alerts to understand normal fluctuation ranges.
|
||||
|
||||
| Metric | Baseline Period | Normal Fluctuation | Alert When |
|
||||
|--------|----------------|-------------------|------------|
|
||||
| Individual keyword position | 2-4 weeks | +/- 2-3 positions | Exceeds normal range |
|
||||
| Average position (all keywords) | 4 weeks | +/- 1-2 positions | Exceeds normal range |
|
||||
| Keywords in top 10 | 4 weeks | +/- 5% | Drops >10% |
|
||||
| Keywords in top 3 | 4 weeks | +/- 3% | Drops >5% |
|
||||
|
||||
### Alert Configuration by Keyword Tier
|
||||
|
||||
| Keyword Tier | Drop Alert | Gain Alert | Competitor Alert |
|
||||
|-------------|-----------|-----------|-----------------|
|
||||
| Tier 1 (revenue) | Drop >= 3 positions | Gain >= 3 positions | Competitor enters top 5 |
|
||||
| Tier 2 (growth) | Drop >= 5 positions | Enters top 10 | Competitor overtakes you |
|
||||
| Tier 3 (monitor) | Drop >= 10 positions | Enters top 20 | None |
|
||||
| Brand | Any drop from #1 | N/A | Competitor ranks for your brand |
|
||||
|
||||
### Alert Delivery Preferences
|
||||
|
||||
| Alert Type | Channel | Frequency |
|
||||
|-----------|---------|-----------|
|
||||
| Critical drops (Tier 1) | Email + Slack | Immediate |
|
||||
| Significant changes | Email | Daily digest |
|
||||
| Weekly summary | Email | Every Monday |
|
||||
| Monthly report | Email + dashboard | 1st of month |
|
||||
|
||||
---
|
||||
|
||||
## 5. Reporting Cadences
|
||||
|
||||
### Recommended Report Schedule
|
||||
|
||||
| Report Type | Audience | Frequency | Key Metrics |
|
||||
|------------|----------|-----------|-------------|
|
||||
| Quick pulse | SEO team | Daily | Major movements, alerts fired |
|
||||
| Weekly summary | Marketing team | Weekly | Position changes, trends, actions taken |
|
||||
| Monthly report | Stakeholders | Monthly | Full performance analysis, MoM comparisons |
|
||||
| Quarterly review | Leadership | Quarterly | Strategic trends, ROI, competitive position |
|
||||
| Annual review | Executive | Annually | YoY growth, strategic recommendations |
|
||||
|
||||
### Report Content by Cadence
|
||||
|
||||
**Daily Pulse (1-2 minutes to review):**
|
||||
- Keywords with biggest position changes
|
||||
- Alerts triggered
|
||||
- Competitor movements
|
||||
|
||||
**Weekly Summary (5-10 minutes to review):**
|
||||
- Position distribution changes
|
||||
- Top 5 improvements and declines
|
||||
- SERP feature wins/losses
|
||||
- AI citation changes
|
||||
- Week-over-week trend
|
||||
|
||||
**Monthly Report (15-30 minutes to review):**
|
||||
- Full position distribution analysis
|
||||
- Month-over-month trends
|
||||
- Competitor share of voice
|
||||
- SERP feature ownership
|
||||
- GEO visibility trends
|
||||
- Content performance by keyword group
|
||||
- Recommendations for next month
|
||||
|
||||
**Quarterly Review (30-60 minutes to review):**
|
||||
- Quarter-over-quarter trends
|
||||
- Progress against annual goals
|
||||
- Competitive landscape shifts
|
||||
- Strategic keyword opportunities
|
||||
- Budget and resource recommendations
|
||||
|
||||
---
|
||||
|
||||
## 6. Data Interpretation Guidelines
|
||||
|
||||
### Understanding Rank Fluctuations
|
||||
|
||||
| Pattern | Meaning | Action |
|
||||
|---------|---------|--------|
|
||||
| Daily +/- 1-2 positions | Normal fluctuation | Ignore; track weekly trend |
|
||||
| Sudden drop 5+ positions, recovers in 2-3 days | Google testing / data center variation | Monitor, no action needed |
|
||||
| Steady decline over 2+ weeks | Real ranking loss | Investigate cause (see Root Cause Taxonomy) |
|
||||
| Sudden drop affecting many keywords | Algorithm update or technical issue | Check Search Status Dashboard + technical health |
|
||||
| One keyword drops, others stable | Page-specific or competitor-specific issue | Analyze that specific SERP |
|
||||
| All keywords for one URL drop | Page-level issue (noindex, 404, slow) | Check page technical health |
|
||||
| Gradual improvement over weeks | SEO efforts working | Document what worked, continue strategy |
|
||||
|
||||
### Position vs. Traffic Relationship
|
||||
|
||||
Position changes do not translate linearly to traffic changes.
|
||||
|
||||
| Position Change | Estimated Traffic Impact |
|
||||
|----------------|------------------------|
|
||||
| #1 to #2 | -50% to -60% click loss |
|
||||
| #2 to #3 | -25% to -30% click loss |
|
||||
| #3 to #5 | -30% to -40% click loss |
|
||||
| #5 to #10 | -50% to -60% click loss |
|
||||
| #10 to #11 | -60% to -80% click loss (page 2 cliff) |
|
||||
| #11 to #20 | Minimal additional loss (already low) |
|
||||
|
||||
**Key insight**: Moving from position #10 to #11 (page 1 to page 2) has a far greater impact than moving from #20 to #30. Prioritize keeping keywords on page 1.
|
||||
|
||||
### Interpreting Visibility Score
|
||||
|
||||
Visibility score combines position and search volume into a single metric.
|
||||
|
||||
| Visibility Change | Interpretation |
|
||||
|-------------------|---------------|
|
||||
| Increasing visibility, stable positions | Seasonal search volume increase |
|
||||
| Decreasing visibility, stable positions | Seasonal search volume decrease |
|
||||
| Increasing visibility, improving positions | SEO strategy is working |
|
||||
| Decreasing visibility, declining positions | Ranking loss causing traffic decline |
|
||||
| Stable visibility, mixed position changes | Gains offsetting losses |
|
||||
|
||||
### Comparing Against Competitors
|
||||
|
||||
| Competitive Signal | Meaning | Response |
|
||||
|-------------------|---------|----------|
|
||||
| Competitor visibility rising, yours stable | They are gaining, you may lose ground | Analyze their strategy, accelerate efforts |
|
||||
| Your visibility rising faster than competitors | You are winning share of voice | Continue strategy, identify what is working |
|
||||
| All competitors dropping simultaneously | Algorithm update affecting the niche | Focus on quality, wait for dust to settle |
|
||||
| One competitor surging | They made a significant change | Analyze what they did (content? links? technical?) |
|
||||
|
||||
### Data Quality Checks
|
||||
|
||||
Always verify your tracking data quality.
|
||||
|
||||
| Check | How | Frequency |
|
||||
|-------|-----|-----------|
|
||||
| Spot-check positions manually | Incognito search for 5-10 keywords | Weekly |
|
||||
| Compare with Search Console | Match tracked positions with GSC average position | Monthly |
|
||||
| Check for tracking errors | Look for keywords showing "not found" or position 0 | Weekly |
|
||||
| Verify competitor data | Spot-check competitor rankings manually | Monthly |
|
||||
| Confirm location accuracy | Search from target location (VPN if needed) | Quarterly |
|
||||
|
||||
---
|
||||
|
||||
## 7. Common Pitfalls and How to Avoid Them
|
||||
|
||||
| Pitfall | Problem | Solution |
|
||||
|---------|---------|----------|
|
||||
| Tracking too many keywords | Dilutes focus, increases cost | Focus on keywords with business impact |
|
||||
| Checking rankings too frequently | Obsessing over daily noise | Focus on weekly and monthly trends |
|
||||
| Not segmenting data | Averages hide important patterns | Group by intent, topic, priority |
|
||||
| Ignoring SERP features | Position alone does not tell the whole story | Track featured snippets, AI Overviews, PAA |
|
||||
| Not tracking competitors | Your data lacks context | Always track 3-5 competitors |
|
||||
| Single location tracking | Misses local variations | Track each target market separately |
|
||||
| Forgetting mobile | Mobile and desktop rankings differ | Always track both devices |
|
||||
| Not documenting changes | Cannot correlate changes to actions | Log all content updates, technical changes, link building |
|
||||
|
||||
---
|
||||
|
||||
## 8. Migration and Tool Switching
|
||||
|
||||
If you need to switch rank tracking tools, follow this process to preserve data continuity.
|
||||
|
||||
| Step | Action |
|
||||
|------|--------|
|
||||
| 1 | Export all historical data from current tool |
|
||||
| 2 | Run both tools in parallel for 2-4 weeks |
|
||||
| 3 | Compare data between tools to understand differences |
|
||||
| 4 | Document any systematic position differences |
|
||||
| 5 | Import historical data into new tool if supported |
|
||||
| 6 | Reconfigure all alerts and reports in new tool |
|
||||
| 7 | Decommission old tool after confidence in new data |
|
||||
|
||||
**Important**: Different tools may report slightly different positions due to data center sampling, timing, and methodology. A 1-2 position variance between tools is normal.
|
||||
Loading…
Add table
Add a link
Reference in a new issue