📘 Що таке Rank Tracking?
Rank Tracking (SERP tracking) — це процес відстеження позицій вашого сайту в пошукових системах (Google, Bing, Yahoo) за певними ключовими словами.
- 📊 Моніторинг прогресу SEO — чи працює ваша стратегія?
- 🎯 Виявлення можливостей — які запити зростають?
- ⚠️ Раннє виявлення проблем — drop у позиціях → алгоритмічна пенальті?
- 🥇 Аналіз конкурентів — хто вас обігнав і чому?
Частина 1: Порівняння інструментів
| Інструмент |
Безкоштовний plan |
Keywords tracked |
Частота оновлення |
Локації |
Ціна платного |
| Google Search Console |
✅ Повністю безкоштовно |
Всі (автоматично) |
Щодня |
1 (налаштування країни) |
— |
| Ahrefs |
❌ 7 днів trial $7 |
від 750 |
Щодня/щотижня |
190+ країн |
$99-999/міс |
| SEMrush |
⚠️ 7 днів trial |
від 500 |
Щодня |
142 країни |
$129-449/міс |
| SE Ranking |
⚠️ 14 днів trial |
від 250 |
Щодня/3 дні |
100+ країн |
$49-189/міс |
| Moz Pro |
⚠️ 30 днів trial |
від 300 |
Щотижня |
USA, Canada, UK |
$99-599/міс |
| SerpWatcher (Mangools) |
⚠️ 10 днів trial |
від 200 |
Щодня |
50,000+ локацій |
$29-79/міс |
🏆 Рекомендації:
- Почніть з Google Search Console — безкоштовно, офіційні дані від Google
- SE Ranking / SerpWatcher — найдешевші платні варіанти ($29-49/міс)
- Ahrefs / SEMrush — професійний рівень ($99-129/міс)
Частина 2: Google Search Console (безкоштовний)
1
Налаштування Search Console
- Відкрийте Google Search Console
- Додайте property → URL prefix:
https://scientific-calculators.com
- Верифікуйте через HTML файл / DNS / Google Analytics
- Зачекайте 24-48 годин для накопичення даних
2
Перегляд позицій
- Перейдіть у Performance → Search Results
- Виберіть метрики:
- ✅ Total clicks — кількість кліків
- ✅ Total impressions — кількість показів
- ✅ Average CTR — відсоток кліків
- ✅ Average position — середня позиція ⭐
- Фільтри:
- Queries — за ключовими словами
- Pages — за сторінками
- Countries — за країнами
- Devices — Desktop / Mobile / Tablet
Приклад даних:
Query: "калькулятор квадратного рівняння"
Clicks: 1,234
Impressions: 45,678
CTR: 2.7%
Position: 5.4 (середня позиція на 5-6 місці)
3
Експорт даних
GSC дозволяє експортувати до 1000 рядків:
- Кнопка Export → Google Sheets / CSV / Excel
- Для більше 1000: використовуйте Search Console API
Python скрипт для експорту через API
# pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
from googleapiclient.discovery import build
from google.oauth2 import service_account
import pandas as pd
# Налаштувати Service Account у Google Cloud Console
SERVICE_ACCOUNT_FILE = 'credentials.json'
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
SITE_URL = 'https://scientific-calculators.com'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES
)
service = build('searchconsole', 'v1', credentials=credentials)
request = {
'startDate': '2026-01-01',
'endDate': '2026-02-07',
'dimensions': ['query', 'page'],
'rowLimit': 25000
}
response = service.searchanalytics().query(
siteUrl=SITE_URL, body=request
).execute()
# Конвертувати у DataFrame
rows = response.get('rows', [])
data = []
for row in rows:
data.append({
'query': row['keys'][0],
'page': row['keys'][1],
'clicks': row['clicks'],
'impressions': row['impressions'],
'ctr': row['ctr'],
'position': row['position']
})
df = pd.DataFrame(data)
df.to_csv('gsc_data.csv', index=False)
print(f'Експортовано {len(df)} запитів')
Частина 3: Ahrefs Rank Tracker
1
Створення проекту
- Увійдіть у Ahrefs → Rank Tracker
- Натисніть + New project
- Domain:
scientific-calculators.com
- Додайте keywords (до 10,000 у топовому плані):
калькулятор квадратного рівняння
онлайн калькулятор похідної
калькулятор матриць
квантовий калькулятор
калькулятор інтегралів
- Оберіть Search engine: Google Ukraine (google.com.ua)
- Frequency: Daily / Weekly
2
Аналіз даних
Metrics Overview:
- Visibility — загальна видимість сайту (0-100%)
- Average position — середня позиція по всіх keywords
- Traffic — estimated organic traffic
- Competitors — порівняння з конкурентами
Individual keyword data:
Keyword: "калькулятор квадратного рівняння"
Position: 4 → 3 (↑1)
Search Volume: 2,900/month
Traffic: ~580 visitors/month (estimated)
URL: /calculators/quadratic-equation.html
Last checked: 2 hours ago
3
Налаштування автоматичних звітів
- Reports → Schedule report
- Frequency: Weekly / Monthly
- Email recipients: your-email@example.com
- Include:
- Position changes
- Winners (keywords що піднялися)
- Losers (keywords що впали)
- New keywords in Top 10/20/50
Частина 4: SE Ranking (budget-friendly)
1
Setup
- Signup на SE Ranking
- Add website: scientific-calculators.com
- Add keywords (plan: $49/міс = 250 keywords):
# Можна імпортувати з CSV
keyword,location,device
калькулятор квадратного рівняння,Ukraine,Desktop
калькулятор похідної,Ukraine,Mobile
- Search engine: Google Ukraine
- Update frequency: Daily
2
Dashboard
Widgets:
- Visibility score — 0-100%
- Distribution graph — скільки keywords у Top 3/10/20/50/100
- Changes — позитивні та негативні зміни
- Traffic forecast — estimated traffic
Частина 5: Автоматизація та скрипти
Python скрипт: Перевірка позицій через SerpApi
# pip install google-search-results
from serpapi import GoogleSearch
import pandas as pd
from datetime import datetime
API_KEY = 'YOUR_SERPAPI_KEY' # Отримати на serpapi.com
KEYWORDS = [
'калькулятор квадратного рівняння',
'онлайн калькулятор похідної',
'калькулятор матриць'
]
DOMAIN = 'scientific-calculators.com'
def check_rank(keyword):
params = {
'q': keyword,
'location': 'Ukraine',
'hl': 'uk',
'gl': 'ua',
'api_key': API_KEY
}
search = GoogleSearch(params)
results = search.get_dict()
organic_results = results.get('organic_results', [])
for position, result in enumerate(organic_results, 1):
link = result.get('link', '')
if DOMAIN in link:
return {
'keyword': keyword,
'position': position,
'url': link,
'title': result.get('title'),
'date': datetime.now().strftime('%Y-%m-%d')
}
return {
'keyword': keyword,
'position': 'Not in Top 100',
'url': None,
'title': None,
'date': datetime.now().strftime('%Y-%m-%d')
}
# Перевірити всі keywords
data = []
for keyword in KEYWORDS:
rank_data = check_rank(keyword)
data.append(rank_data)
print(f'{keyword}: Position {rank_data["position"]}')
# Зберегти у CSV
df = pd.DataFrame(data)
df.to_csv(f'rank_tracking_{datetime.now().strftime("%Y%m%d")}.csv', index=False)
print('✅ Дані збережено')
Google Sheets автоматизація
// Google Apps Script для автоматичного оновлення позицій
function updateRankings() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Rankings');
const keywords = sheet.getRange('A2:A').getValues().flat().filter(String);
keywords.forEach((keyword, index) => {
if (!keyword) return;
// Використати Google Custom Search API або інший rank tracker API
const position = checkPosition(keyword);
const row = index + 2;
sheet.getRange(row, 3).setValue(position); // Column C: Position
sheet.getRange(row, 4).setValue(new Date()); // Column D: Last checked
});
}
function checkPosition(keyword) {
// Заповнити логіку перевірки позиції
// Можна інтегрувати з SE Ranking API, SerpApi тощо
return Math.floor(Math.random() * 20) + 1; // Заглушка
}
// Налаштувати тригер: Run every day at 9am
function createTrigger() {
ScriptApp.newTrigger('updateRankings')
.timeBased()
.everyDays(1)
.atHour(9)
.create();
}
Частина 6: Аналіз змін позицій
Фактори, що впливають на позиції
⚠️ Причини падіння позицій:
- Алгоритмічне оновлення Google
- Core Updates (2-3 рази на рік)
- Spam Updates
- Helpful Content Update
- Технічні проблеми
- Site down / slow load speed
- Broken pages (404)
- Mobile-unfriendly
- Конкуренти покращили контент
- Більше інформації
- Краща структура
- Більше backlinks
- Втрата backlinks
- Сайт що посилався вас видалив link
- Nofollow атрибут доданий
✅ Причини зростання позицій:
- Покращення контенту
- Додано детальніші пояснення
- Оновлена інформація
- Краща структура (H2/H3)
- Нові backlinks
- Якісні посилання з авторитетних сайтів
- Mentions / Brand search зросли
- Технічні покращення
- Швидкість завантаження ↑
- Core Web Vitals покращені
- Mobile-friendly
- Поведінкові фактори
- CTR у пошуку ↑
- Dwell time (час на сайті) ↑
- Bounce rate ↓
Частина 7: Best Practices
✅ Як правильно відстежувати позиції:
- Tracked keywords strategy:
- Головні (5-10): найважливіші commercial keywords
- Середні (20-50): категорійні keywords
- Довгохвостові (100-200): informational keywords
- Frequency:
- Daily: головні keywords
- Weekly: середні keywords
- Monthly: довгохвостові keywords
- Локації:
- Desktop + Mobile окремо
- Різні країни/міста (якщо локальний бізнес)
- Не панікуйте через короткострокові коливання!
- Позиції можуть змінюватись щодня
- Важливий тренд (1-3 місяці), а не щоденні зміни
- Personalization впливає на позиції
Dashboard для rank tracking
# Рекомендована структура звіту
📊 Weekly Rank Tracking Report (Feb 1-7, 2026)
## Overview
- Average Position: 12.4 → 11.8 (↑0.6)
- Visibility: 42% → 45% (↑3%)
- Estimated Traffic: 5,200 → 5,680 (+480)
## 🏆 Winners (Top 5 improvements)
1. "калькулятор квадратного рівняння" → 6→3 (↑3)
2. "онлайн калькулятор похідної" → 15→11 (↑4)
3. "калькулятор матриць" → 22→18 (↑4)
## 📉 Losers (Top 3 drops)
1. "квантовий калькулятор" → 8→12 (↓4)
2. "калькулятор інтегралів" → 5→7 (↓2)
## 🎯 Distribution
- Top 3: 12 keywords (↑2)
- Top 10: 34 keywords (↑5)
- Top 20: 56 keywords (↑3)
## 📝 Action Items
- Investigate drop for "квантовий калькулятор"
- Add more content to pages ranking 11-20 (quick wins)
- Build backlinks to "калькулятор похідної"
Висновок
Rank tracking — критично важливий для моніторингу SEO прогресу:
- ✅ Почніть з Google Search Console — безкоштовно, офіційні дані
- ✅ Платні інструменти — для професійного tracking (Ahrefs, SE Ranking)
- ✅ Автоматизація — Python скрипти, Google Sheets
- ✅ Аналіз трендів — фокус на довгостроковий прогрес
- ✅ Actionable insights — не просто дивитись цифри, а діяти!
🚀 Рекомендований setup:
- Google Search Console (безкоштовно) — базовий tracking
- SE Ranking ($49/міс) АБО SerpWatcher ($29/міс) — для детального tracking
- Автоматичні weekly звіти — email кожного понеділка
- Dashboard у Google Sheets — візуалізація прогресу