SEO Monitor
Власна панель відстеження позицій сайтів у Google: проєкти й ключі, історія позицій, контроль бюджету на перевірки та сповіщення в Telegram.
Послуга: Технічний SEO-аудит
Що вміє система
-
01
Проєкти та ключі
Кожен сайт — окремий проєкт із групами ключових слів, цільовими сторінками та налаштуваннями країни, мови й пристрою.
-
02
Перевірки за розкладом
Воркер перевіряє групи за пріоритетом: високий — двічі на день, середній — щодня, низький — раз на кілька днів.
-
03
Контроль бюджету
Денний ліміт витрат блокує перевірки при перевищенні, а бюджет спершу резервується для пріоритетних груп.
-
04
Сповіщення в Telegram
Правила на всі сайти, групу або окремий ключ спрацьовують, коли ключ входить у ТОП-N чи випадає з нього.
-
05
Звіти та експорт
Звіт показує середню позицію, частку ключів у ТОП-10, зростання й просідання та вивантажується в CSV.
-
06
Журнал і баланс
Видно кожен запит до API з вартістю та статусом, залишок на балансі та списання по днях.
Екрани системи
-
Список проєктів із групами, пріоритетами й витратами -
Проєкт: середня позиція, розподіл по ТОПах, графіки -
Усі ключі: зведення по сайтах і динаміка -
Правила сповіщень про зміну позицій -
Додавання проєкту: сайт, пошукова система, ключі -
Нове правило сповіщення: подія, умови, канал -
Фільтри ключів на сторінці проєкту -
Оновлення частотності з оцінкою вартості запиту
Хто і як працює в системі
-
ROOT
Має всі права, керує користувачами, налаштуваннями API та бюджетом.
-
EDITOR
Працює з проєктами та ключами в межах виданих точкових доступів.
-
VIEWER
Переглядає проєкти та звіти без права змін.
Як це влаштовано
-
Frontend і backend
Next.js 16 (App Router, Server Actions), React 19, TypeScript, Tailwind CSS
-
База даних
PostgreSQL 16, Prisma 6
-
Воркер
Окремий процес на Node.js (tsx, node-cron): планувальник перевірок і збирання черги завдань
-
Авторизація
JWT у httpOnly-cookie (jose), bcryptjs, ролі та точкові доступи
-
Інтеграції
DataForSEO API (SERP, частотність, баланс), Telegram Bot API, дані Google Search Console
-
Інфраструктура
Docker Compose: web, worker, db