SaaS · аналитика

Astrina — платформа аналитики и мониторинга сайтов

Все сайты в одном кабинете: first-party аналитика, которую не режут блокировщики, ночные SEO-проверки с алертами и неудаляемые отзывы. Один скрипт, один логин.

Категория
SaaS · аналитика
Расчётная стоимость
от $28 000
Срок
≈ 5–6 месяцев
astrina.ioAstrina
Главная страница проекта — astrina.io

01Обзор проекта

Astrina — это all-in-one платформа для всех, кто отвечает за сайты: владельцев, веб-студий, агентств, разработчиков и SEO-специалистов. Её суть умещается в один слоган — «каждый сайт, за которым вы следите, — в одном кабинете». Веб-аналитика, ежедневный SEO-мониторинг, отзывы и репутация, публичные каталоги и рейтинги, плюс набор сервисных API — всё это живёт под одним логином и питается от одного скрипта на сайте. Начать можно бесплатно: тариф Free рассчитан на три сайта и не требует банковской карты.

Продукт вырос из наблюдения, знакомого каждому, кто сопровождает больше одного сайта. Трафик живёт в одном инструменте, SEO — во втором, отзывы — в третьем, и у каждого сайта — свой логин. По отдельности каждый сервис хорош, но сводить их воедино — это та самая работа, которую никто не оценивал, никто не выставляет в счёт, и которую кто-то всё равно делает руками. Astrina заменяет эти четыре инструмента и четыре логина одним: один скрипт, один кабинет и письмо утром, когда что-то просело.

Мы спроектировали и собрали продукт целиком — от архитектуры first-party счётчика и ночного краулера до тарифной модели, публичных каталогов, документации и трёх языковых версий (EN/RU/UK). Ниже разбираем, какую задачу решает Astrina, как она устроена внутри и какие инженерные решения делают её цифры честными — в том числе то, почему счётчик переживает блокировщики рекламы, а отзыв нельзя удалить даже владельцу сайта.

Отдельно про контекст. Astrina — продукт экосистемы студии, а не заказ «на сторону»: мы строили инструмент, которым пользуемся сами. Сайт ostohlo.com подключён к платформе как сайт №6 и собирает статистику через собственный поддомен stats.ostohlo.com — то есть ровно по той first-party модели, которая продаётся клиентам. Такое «поедание собственного корма» дисциплинирует лучше любого тест-плана: каждое неудобство кабинета мы чувствуем первыми.

02Контекст и задача

Следить за сайтом «технически» несложно — сложно делать это постоянно и по всем сайтам сразу. Когда мы раскладывали задачу, набрался целый список болей, с которыми живёт любой, кто отвечает за несколько проектов:

  • Аналитика, которой не хватает трети. Блокировщики рекламы вырезают сторонние счётчики — примерно треть аудитории просто исчезает из отчётов. Решения принимаются по неполным цифрам.
  • Зоопарк инструментов и логинов. Трафик, SEO и отзывы — в трёх разных сервисах, у каждого сайта свои доступы. Сводная картина существует только в голове или в таблице, которую забывают обновлять.
  • Тихие SEO-регрессии. Обновление темы молча роняет canonical — и никто об этом не сообщает. Узнаёшь через недели, когда трафик уже ушёл и об этом спрашивает кто-то другой.
  • Отзывы, которым не верят. Рейтинг, который владелец сам может подправить, ничего не стоит. А внешние площадки с честными отзывами живут отдельно от сайта и его метрик.
  • Рутина без владельца. Регулярные проверки «всё ли в порядке» — работа, которую никто не оценивал в часах. Она либо не делается, либо делается в ущерб основной.

Задача формулировалась так: собрать платформу, где все сайты — свои и клиентские — видны в одной таблице с живым трафиком и SEO-баллом, а рутинное наблюдение автоматизировано до состояния «письмо приходит само». При этом цифрам должно быть можно верить: и владельцу, и клиенту агентства, которому эти цифры показывают.

Отдельный пласт задачи — честность как продуктовое свойство. Аналитика, которую режут блокировщики, врёт на треть; рейтинг, который можно отредактировать, не значит ничего. Мы с самого начала решили, что доверие к цифрам будет обеспечиваться архитектурой, а не обещаниями: счётчик грузится с домена самого клиента, а отзывы физически нельзя ни изменить, ни удалить.

Наконец, был и мультитенантный пласт. Платформа обслуживает сотни чужих сайтов с разными тарифами, квотами и языками — значит, лимиты должны проверяться кодом, данные тенантов — быть изолированы, а каждая цифра на тарифной странице — соответствовать числу в конфигурации, а не маркетинговому округлению.

03Цели проекта

Из задачи выросли конкретные продуктовые и инженерные цели, которые мы держали в голове на всех этапах:

  • Один скрипт, один логин. Подключение сайта — это одна строка перед закрывающим тегом body. Не SDK, не тег-менеджер, не сборка — тег легче 2 КБ, который начинает отчитываться с первого же хита.
  • First-party по построению. Счётчик загружается с собственного домена клиента, поэтому блокировщики, вычищающие стороннюю аналитику, его не трогают. Без cross-site cookies, данные никогда не продаются.
  • Письмо вместо дежурства. Сайт под мониторингом перепроверяется каждую ночь; если SEO-балл упал — утром в ящике уже лежит письмо. Владелец узнаёт первым, а не от клиента.
  • Честность как механика. Отзывы 1–5 звёзд нельзя ни отредактировать, ни удалить владельцу — только публично ответить. Именно поэтому оценке можно верить.
  • API-first. Всё, что видно в кабинете, можно забрать наружу: JSON API, CSV-экспорт, MCP для AI-ассистентов.
  • Низкий порог входа. Free-тариф на 3 сайта без карты и 3 бесплатные SEO-проверки в день на любом тарифе — попробовать можно до того, как платить.
  • Три языка. Продукт полностью трёхъязычный (EN/RU/UK) — от интерфейса до писем и публичных каталогов.

Как и в других наших продуктах, эти цели сформулированы как ограничения, а не «хотелки»: каждая отсекала неподходящие варианты ещё на этапе проектирования. Требование first-party сразу определило схему раздачи счётчика через домены клиентов; требование честности запретило любые «админские» правки отзывов на уровне модели данных; а требование «письма вместо дежурства» превратило планировщик ночного перекраула из фичи в несущую конструкцию продукта.

04Что мы сделали

Astrina собирает наблюдение за сайтами в четыре модуля, которые работают от одного скрипта и одного кабинета:

Веб-аналитика

First-party счётчик легче 2 КБ: живые визиты, источники трафика и цели — по цифрам, которые не режут блокировщики.

SEO-мониторинг

Полная техническая проверка меньше чем за минуту, ночной перекраул сайтов под мониторингом, история балла и письмо утром при падении.

Отзывы и репутация

Честные отзывы 1–5 звёзд, которые владелец не может ни изменить, ни удалить; публичные ответы, встраиваемый виджет и SVG-бейдж.

Developer API и сервисы

JSON API с ключом только в заголовке и квотой в каждом ответе, CSV-экспорт, соц-логин, hosted-хелпдески и MCP для AI-ассистентов.

Поверх модулей — публичные каталоги и рейтинги (рейтинг посещаемости, каталоги обменников, хостингов и другие витрины в духе App Store), тарифная модель от Free до Business Plus и трёхъязычный кабинет. Всё это развёрнуто как единый продукт на собственной инфраструктуре.

Важно, что модули не разрозненны, а образуют один контур данных: скрипт на сайте питает аналитику, краулер — SEO-балл, отзывы — репутацию, а публичные каталоги строятся из тех же измерений, что видит владелец в кабинете. Одна и та же цифра трафика показывается и в приватном дашборде, и в публичном рейтинге — ей неоткуда «разъехаться». Именно эта связность отличает платформу от набора сервисов под общим логотипом.

Коротко суть продукта: «Один скрипт, один логин — и все сайты, за которыми вы следите, в одном кабинете. Настоящий трафик, ежедневные SEO-проверки, честные отзывы и письмо утром, когда что-то просело».

05Архитектура решения

В основе Astrina — мультитенантное ядро, вокруг которого собраны модули. Центральная сущность — сайт: к нему привязаны события аналитики, SEO-проверки и их история, отзывы, позиция в каталогах и квоты тарифа. Аккаунт пользователя — это набор сайтов, и неважно, свои они или клиентские: агентство видит сотню проектов в той же таблице, в которой владелец видит три.

Логически система состоит из пяти блоков: приём событий (эндпоинты счётчика, на которые сыплются хиты со всех подключённых сайтов), краулер (проверки по запросу и ночной перекраул с историей балла), витрины (публичные каталоги и рейтинги, построенные из тех же данных), API-слой (JSON, CSV, MCP) и оповещения (утренние письма при падении балла). Каждый блок отвечает за свой кусок жизненного цикла наблюдения и общается с остальными через чёткие границы.

Особое архитектурное следствие вытекает из first-party модели: счётчик должен загружаться с домена самого клиента, а не с astrina.io. Значит, инфраструктура обязана уметь обслуживать чужие домены — принимать трафик на клиентские поддомены, отдавать с них скрипт и принимать события. Раздача тега и приём хитов проектировались под это с самого начала, а не «прикручивались» потом: это самая нагруженная и самая публичная часть системы, и она отделена от кабинета и краулера.

Под капотом — серверный стек на PHP 8.3 с MySQL, за Cloudflare (DNS, TLS, защита периметра). Квоты тарифов — количество сайтов, глубина истории, дневные лимиты проверок и API-вызовов — проверяются кодом на каждом действии: каждая цифра на тарифной странице соответствует числу, которое реально enforce'ится системой. Это не только честность перед пользователем, но и защита самой платформы от перегрузки одним тенантом.

06First-party счётчик

Главное инженерное решение Astrina отвечает на неприятный факт индустрии: блокировщики рекламы вычищают сторонние счётчики, и примерно треть аудитории просто не доезжает до отчётов классической аналитики. Владелец смотрит на график и думает, что видит свой трафик, — а видит две трети его.

Решение — загрузка счётчика с собственного домена клиента. Блокировщики режут запросы к известным аналитическим доменам; запрос к поддомену самого сайта для них неотличим от загрузки обычного ресурса. Поэтому тег Astrina подключается не с astrina.io, а с домена владельца, и статистика собирается по всей аудитории, а не по той её части, что не поставила блокировщик.

Сам тег предельно лёгкий и скучный — и это комплимент: меньше 2 КБ, одна строка перед закрывающим тегом body. Никакого SDK, тег-менеджера или шага сборки; счётчик начинает отчитываться с первого же хита. Для посетителей с выключенным JavaScript предусмотрен noscript-пиксель, так что даже этот хвост аудитории не теряется. При этом first-party не значит «слежка»: счётчик не использует cross-site cookies, не строит межсайтовых профилей, а данные владельца никогда не продаются.

Модель проверена в бою на собственном сайте студии: ostohlo.com подключён к Astrina как сайт №6 и грузит счётчик с поддомена stats.ostohlo.com — лёгкий тег a.js плюс r.js для записи сессий. Это продакшн-доказательство схемы: тот же CNAME-подход, та же раздача с клиентского домена, те же цифры в том же кабинете, что и у любого пользователя платформы.

Ключевая мысль: полнота данных здесь — не «фича поверх», а форма самой архитектуры. Счётчик, который грузится с домена владельца, нечем заблокировать списком сторонних доменов — это сильнее любых ухищрений на стороне скрипта.

07Ключевые возможности

Разберём то, что делает Astrina не «ещё одним счётчиком», а платформой, закрывающей наблюдение за сайтом целиком.

Живая аналитика

Живой просмотр посетителей, источники трафика и цели — базовый набор, но собранный по first-party цифрам. В кабинете видно, что происходит на сайте прямо сейчас, откуда приходят люди и доходят ли они до целевых действий. На старших тарифах добавляется лента живых визитов и запись сессий — можно пересмотреть реальный визит, а не гадать по цифрам.

SEO-проверка за минуту

Полный технический аудит сайта занимает меньше минуты — до 25 страниц за проход. Три проверки в день бесплатны на любом тарифе, включая Free: продукт даёт пощупать ядро без денег. Каждая найденная проблема сопровождается готовым промптом для AI-ассистента — описание бага можно скопировать и вставить в любимый инструмент, который предложит фикс.

Отзывы, виджет и SVG-бейдж

Модуль репутации собирает отзывы 1–5 звёзд, на которые владелец может публично отвечать, но не может их редактировать или удалять. Рейтинг встраивается на сайт виджетом, а SVG-бейдж — в README, футер или подпись. Подробнее о том, почему неизменяемость — это фича, ниже в отдельном разделе.

Каталоги и рейтинги

Astrina ведёт публичные витрины, построенные из собственных измерений: рейтинг посещаемости сайтов на счётчике, каталоги обменников и хостингов с курсами и отзывами, каталог в духе App Store. Витрины открыты без аккаунта — любой может проверить, как платформа считает, и это часть модели доверия.

Сервисные API

Помимо основных модулей, платформа отдаёт прикладные инструменты: phone intelligence API для проверки телефонных номеров и проверку паролей по базам утечек. Это те же данные, что питают каталоги, — доступные программно.

Вход через Astrina и хелпдески

«Login with Astrina» — готовый соц-логин, который настраивается один раз и снимает с владельца сайта хранение паролей. А hosted-хелпдески дают каждому проекту готовую страницу поддержки вида astrina.io/support/<домен> — без развёртывания собственной тикет-системы.

MCP для AI-ассистентов

Данные платформы доступны AI-ассистентам через MCP: ассистент может сам запросить статистику или результаты проверки и работать с ними в диалоге. API, задуманный для людей и скриптов, оказался готов и к агентам.

08Внутри SEO-мониторинга

Разовая проверка сайта — вещь полезная, но настоящая ценность мониторинга в регулярности. Сломанный canonical не объявляет о себе; он просто тихо живёт в коде, пока позиции не поедут. Поэтому сердце модуля — не сам аудит, а ночной планировщик.

Работает это так. Разовая проверка доступна всем: полный технический чек до 25 страниц меньше чем за минуту, три бесплатных прохода в день на любом тарифе. Но сайт, поставленный под мониторинг, платформа перепроверяет каждую ночь сама — без запроса, без кнопки, без напоминаний. Результат каждой ночи ложится в историю: SEO-балл превращается из моментального снимка в кривую, по которой видно, когда именно что-то сломалось и что было до этого.

Третий элемент — утреннее письмо. Если ночной проход зафиксировал падение балла, письмо приходит утром того же дня. Смысл этого решения глубже, чем кажется: почтовый ящик становится интерфейсом мониторинга. Владельцу не нужно заходить в кабинет «на всякий случай» — кабинет сам приходит к нему, причём ровно тогда, когда есть что сказать. Тишина в ящике — тоже информация: значит, всё в порядке.

Количество сайтов на ночном перекрауле — одна из осей тарифной сетки: 3 сайта на Pro, 25 на Business, 100 на Business Plus. Это честное отражение себестоимости: ночной краулинг — самая ресурсоёмкая часть платформы, и его квоты, как и все остальные, проверяются кодом.

Проверка за минуту

Полный технический аудит до 25 страниц — быстрее, чем заваривается кофе.

Ночной перекраул

Сайты под мониторингом перепроверяются каждую ночь; история балла копится сама.

Письмо утром

Балл упал ночью — письмо в ящике утром. Владелец узнаёт первым, а не от клиента.

09Неудаляемые отзывы

Модуль репутации построен вокруг одного жёсткого правила: владелец сайта не может ни отредактировать, ни удалить отзыв. Ни за деньги, ни через поддержку, ни «в порядке исключения». Единственный доступный ему инструмент — публичный ответ рядом с отзывом.

Это решение продуктово контринтуитивно — казалось бы, платящему клиенту стоит дать контроль. Но рейтинг, который владелец может причесать, не значит ничего: это оценка, которую он сам себе выставил. Неизменяемость — единственная причина, по которой цифре у звёздочек вообще можно верить. Мы сознательно заложили это на уровне модели данных, а не политики: в системе просто нет операции «изменить чужой отзыв», и никакая роль её не получает.

При этом честность работает в обе стороны. Публичный ответ позволяет владельцу разобрать спорную ситуацию на виду у всех — а вдумчивый ответ на критический отзыв часто убеждает сильнее пятёрки. Шкала 1–5 звёзд проста и привычна, а собранный рейтинг можно вынести на собственный сайт встраиваемым виджетом или лёгким SVG-бейджем — оценка перестаёт жить только на странице каталога и начинает работать там, где принимаются решения.

Почему это важно: «рейтинг, который вы не написали себе сами» — редкость в интернете, где отзывами торгуют. Неизменяемость превращает оценку из декорации в валюту доверия — и одновременно дисциплинирует владельца работать с претензиями публично.

Astrina
Интерфейс проекта — Astrina

10Приватность и безопасность

Аналитическая платформа по определению работает с чувствительными данными — чужим трафиком. Поэтому приватность в Astrina — не раздел пользовательского соглашения, а набор архитектурных решений. Счётчик не ставит cross-site cookies и не строит межсайтовых профилей: first-party модель означает, что данные каждого сайта живут в контексте этого сайта. И принципиальное обещание платформы — данные владельцев никогда не продаются: бизнес-модель Astrina — подписка, а не торговля аудиториями.

Второй пласт — безопасность API. Ключ принимается только в HTTP-заголовке и никогда в URL. Это осознанное решение: параметры URL оседают в логах серверов, прокси и браузерной истории, и ключ, однажды переданный строкой запроса, стоит считать скомпрометированным. Заголовки в логи не попадают — так одна строчка спецификации закрывает целый класс утечек. Для пользователей та же дисциплина оборачивается сервисом: проверка паролей по базам утечек встроена в платформу.

Третий пласт — изоляция тенантов. Сайты, ключи, отзывы и квоты каждого аккаунта отделены друг от друга; агентство со ста клиентскими проектами не может ни увидеть чужие данные, ни исчерпать чужие лимиты. Квоты, проверяемые кодом на каждом действии, защищают не только тарифную честность, но и стабильность платформы: один разбушевавшийся скрипт не положит краулер для всех.

11Мультисайтовый кабинет

Главный экран Astrina — таблица всех сайтов аккаунта: посетители за 30 дней, тренд, SEO-балл, живой статус. Это сознательный выбор точки входа: продукт для тех, кто следит за многими сайтами, должен начинаться с ответа на вопрос «всё ли у меня в порядке — по всем сразу». Один взгляд на таблицу заменяет утренний обход пяти сервисов.

Тарифная сетка построена вокруг реальных осей стоимости — количества сайтов, глубины истории и объёма автоматики. Free ($0) — 3 сайта, живой просмотр, источники и цели, 3 SEO-проверки в день, отзывы и виджет рейтинга, 33 дня истории. Pro ($19/30 дней) — 25 сайтов, 180 дней истории, 3 сайта на ночном перекрауле с алертами, CSV-экспорт и лента живых визитов, 5 000 API-вызовов в день. Business ($59) — 100 сайтов, год истории, 25 сайтов на перекрауле, запись сессий и 25 000 вызовов. Business Plus ($99) — сайты без лимита, 730 дней истории, 100 сайтов на перекрауле, hosted-хелпдеск для собственных пользователей и 100 000 вызовов в день.

Оплата устроена по-взрослому и по-экосистемному: тарифы списываются с баланса аккаунта, который пополняется картой или криптовалютой через Payora — другой продукт нашей экосистемы, о котором у нас есть отдельный кейс. Автопродление по умолчанию выключено: ничто не списывается сюрпризом, продление включает сам пользователь. Для SaaS это редкая, почти демонстративная честность — и она из того же ряда, что неудаляемые отзывы.

Каждая цифра из этого раздела — не маркетинговый текст, а значение из конфигурации, которое проверяет код: создание 26-го сайта на Pro не «не рекомендуется», а не выполняется. Мы придерживаемся правила «страница тарифов — это документация к лимитам», и оно сильно упрощает жизнь и поддержке, и пользователям.

12Developer API и интеграции

Всё, что платформа показывает в кабинете, она умеет отдавать наружу. Developer API — это JSON с предсказуемыми ответами, и в его дизайне есть два решения, которые мы считаем образцовыми для любого API.

Первое — ключ только в заголовке. API не принимает ключ в строке запроса вовсе: URL с ключом попадает в логи веб-серверов, прокси, историю браузера и рефереры, и оттуда утекает. Заголовок — нет. Правильное поведение здесь не «рекомендуется документацией», а единственно возможное. Второе — остаток квоты в каждом ответе. Клиенту не нужно ни отдельного эндпоинта, ни подсчёта на своей стороне: каждый ответ сообщает, сколько вызовов осталось. Скрипт может сам притормозить перед лимитом, а не выяснять его достижение по ошибке 429.

Помимо JSON, данные выгружаются в CSV — для отчётов, таблиц и всего, что живёт вне кода. Через MCP с теми же данными работают AI-ассистенты: агент запрашивает статистику или результаты проверки прямо в диалоге. «Login with Astrina» закрывает соц-логин для сайтов на платформе, а hosted-хелпдески (astrina.io/support/<домен>) — поддержку пользователей без собственной тикет-системы. Платформа дружит и с внешним миром: Google Search Console, Google Analytics 4, Bing Webmaster и IndexNow — в списке поддерживаемых интеграций.

Наконец, публичные каталоги — тоже своего рода интеграция, только с открытым интернетом. Рейтинг посещаемости строится из тех же 30-дневных измерений счётчика, что видит владелец в кабинете; каталоги обменников и хостингов — из тех же данных и отзывов. Платформа считает у всех на виду, и любой может сверить её работу без аккаунта.

13Технологический стек и инфраструктура

Под Astrina мы собрали отдельную, изолированную среду со своими доменами, политиками и планировщиком. Для платформы, обслуживающей чужие сайты, аккуратность среды — часть продукта.

PHP 8.3MySQLREST APIFirst-party аналитикаSEO-краулерEmail-алертыCloudflareМультиязычность
  • Бэкенд — PHP 8.3: приём событий счётчика, мультитенантное ядро, кабинет, API-слой и логика квот.
  • Данные — MySQL: события аналитики, история SEO-баллов, отзывы, каталоги и тарифные лимиты в одной согласованной модели.
  • Краулер — модуль проверок: аудит по запросу до 25 страниц и ночной перекраул сайтов под мониторингом с накоплением истории.
  • Доставка счётчика — first-party раздача тега с доменов клиентов (CNAME-модель), noscript-пиксель как fallback.
  • Оповещения — email-алерты: письмо утром в день падения балла.
  • Инфраструктура — Cloudflare (DNS, TLS, защита периметра) и изолированное окружение с валидными сертификатами.

Выбор PHP 8.3 и MySQL прагматичен: зрелый, быстрый и предсказуемый стек, на котором в одном окружении живут и высокочастотный приём хитов, и краулер, и кабинет, и API. First-party раздача добавляет стеку необычное требование — обслуживать чужие домены как свои, — и именно оно определило конфигурацию периметра. Cloudflare закрывает DNS и TLS, а вся среда спроектирована так, чтобы самая нагруженная часть (приём событий) не конкурировала за ресурсы с самой тяжёлой (ночной краулинг): у них разные профили нагрузки и разное время пиков.

14Дизайн и UX

Инструмент для ежедневной рутины продаёт спокойствие, поэтому интерфейсы Astrina мы делали плотными и тихими. Главный экран — таблица сайтов с трендом и SEO-баллом — отвечает на главный вопрос пользователя за секунду. Никаких приветственных баннеров и «инсайтов недели»: человек, у которого сотня клиентских сайтов, приходит не разглядывать, а проверять.

Отдельная забота — первые пять минут. Путь от регистрации до первого посетителя на экране сознательно короткий: вставил строку тега — увидел живой хит. Мгновенная обратная связь здесь работает как онбординг: не туры по интерфейсу, а собственный трафик, появившийся на глазах. Тот же принцип в SEO-модуле: первая проверка бесплатна, занимает меньше минуты и заканчивается конкретным списком проблем — с готовым AI-промптом у каждой.

Публичная сторона платформы — каталоги и рейтинги — спроектирована как самостоятельная витрина: открытая, индексируемая, работающая без аккаунта. Это и маркетинговая поверхность, и демонстрация методики: платформа не боится показывать, как она считает. Наконец, весь продукт трёхъязычен — EN, RU и UK равноправны от интерфейса и писем до публичных страниц, с корректными hreflang и локализованными URL. Для продукта, живущего в нескольких языковых средах сразу, это вопрос не перевода, а архитектуры контента — и он закладывался с первого дня, а не «локализовывался» потом.

15Как мы работали

Проект вели последовательными этапами с демонстрацией результата на каждом шаге:

  • Исследование. Разобрали сценарии владельцев, студий и агентств, посчитали боли «четырёх инструментов» и зафиксировали модель «один скрипт → один кабинет → письмо утром».
  • Архитектура. Спроектировали мультитенантное ядро, first-party схему раздачи счётчика, модель квот и контракт API — ключ в заголовке и квота в ответе были в спецификации до первой строчки кода.
  • Разработка модулей. Собрали приём событий и аналитику, краулер с ночным планировщиком и историей, модуль отзывов с неизменяемостью на уровне модели, каталоги и кабинет.
  • Обкатка на себе. Подключили собственные проекты — ostohlo.com живёт на платформе как сайт №6 со счётчиком на stats.ostohlo.com — и месяцами пользовались продуктом до того, как звать других.
  • Запуск. Тарифы с оплатой через Payora, три языка, публичные каталоги, документация и MCP.

Порядок не случаен: сначала мы фиксировали контракты — схему квот, формат API, правило неизменяемости отзывов, — и только потом строили вокруг них реализацию. Это позволило вести модули почти параллельно: у аналитики, краулера и отзывов общее ядро, но независимые жизненные циклы. А правило «сначала пользуемся сами» отработало как непрерывное приёмочное тестирование: неудобство, которое замечаешь каждое утро в собственном кабинете, чинится быстрее любого тикета.

16Результат

Получился не «ещё один счётчик», а платформа, которая заменяет собой набор ежедневных инструментов вебмастера — и которой мы пользуемся сами.

<2 КБ
вес first-party счётчика на сайте клиента
4→1
инструментов и логинов вместо четырёх
3/день
бесплатных SEO-проверок на любом тарифе
  • Сайт подключается за пять минут: одна строка тега — и первый посетитель уже на экране.
  • Аналитика видит всю аудиторию, а не две трети: first-party счётчик не режется блокировщиками.
  • SEO-регрессии перестали быть тихими: ночной перекраул, история балла и письмо утром в день падения.
  • Рейтингу можно верить: отзывы физически нельзя ни отредактировать, ни удалить — только публично ответить.
  • Данные не заперты: JSON API с ключом в заголовке и квотой в каждом ответе, CSV, MCP для AI-ассистентов.
  • Продукт работает на трёх языках и проверен в продакшне на сайтах собственной экосистемы.

Но главный результат — не в отдельных цифрах, а в смене модели. Раньше наблюдение за сайтами было набором вкладок, логинов и «надо не забыть проверить»; теперь это одна таблица и почтовый ящик, в который платформа пишет сама — ровно тогда, когда есть что сказать. Рутина, которую никто не оценивал в часах, перестала существовать как ручная работа.

17Выводы

Astrina — пример того, как доверие к продукту проектируется, а не декларируется. Самое ценное здесь не список модулей, а три решения, на которых всё держится: счётчик, который грузится с домена клиента и потому видит всю аудиторию; отзывы, которые нельзя удалить и потому что-то значат; API, в котором ключ физически не может оказаться в логе. Каждое из них принято один раз, на уровне архитектуры, — и дальше честность продукта не зависит от чьей-то дисциплины.

Для нас это был проект на стыке аналитики, краулинга и мультитенантного SaaS — тот тип задач, где продуктовое мышление и инженерная дисциплина нужны одновременно. Если вам нужна платформа с кабинетом, тарифами и API, аналитический сервис или продукт, обслуживающий множество клиентов на одной инфраструктуре, — мы умеем доводить такое до запуска.

И ещё один вывод, скорее методологический. Лучший тест продукта — собственная зависимость от него: мы подключили к Astrina свои сайты раньше, чем чужие, и каждое утро смотрим на те же письма и те же таблицы, что и наши пользователи. Продукт, которым команда живёт сама, невозможно тихо забросить — и это, пожалуй, самая честная гарантия качества из всех возможных.

Нужен похожий продукт?

Расскажите о задаче — предложим архитектуру и оценку. Бесплатная консультация.

На какие запросы отвечает эта страница

разработка платформы веб-аналитики на заказ, создать сервис аналитики сайтов под ключ, first-party аналитика что это, аналитика которую не блокируют блокировщики рекламы, аналитика сайта без cookie, мониторинг сайтов в одном кабинете, сервис мониторинга нескольких сайтов, автоматическая seo проверка сайта по расписанию, seo мониторинг с алертами, как отслеживать ошибки сайта автоматически, сервис отзывов для сайта с защитой от удаления, неудаляемые отзывы на сайте как реализовать, виджет отзывов для сайта, один скрипт аналитики для всех сайтов, как работает серверная аналитика, лёгкий счётчик посещаемости для сайта, saas для мониторинга сайтов разработка, astrina аналитика, astrina отзывы, astrina платформа мониторинга сайтов.