
Storepulse — монитор магазина с оповещениями в Telegram
Отдельное PHP-приложение, которое следит за вашим магазином снаружи и пишет в Telegram, когда тот упал. Распознаёт ошибку базы данных, Fatal error и белую страницу даже при коде 200. Free — 2 монитора без ограничения по времени, Pro — без лимитов, SSL, отчёты, страница статуса.
- Совместимость
- PHP 7.4+ · любой хостинг с кроном · без базы данных
- Лицензия
- один сайт, годовая
- Триал
- 7 дней, без карты, один на сайт
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.
Как это выглядит
Главное о модуле
🔴 Главное: ставить не на сервер магазина
Это самая частая ошибка, из-за которой мониторинг молчит именно тогда, когда он нужен.
Чем это отличается от UptimeRobot
Обычные мониторы проверяют HTTP-код. Но код 200 ≠ «магазин работает»: страница может отдавать 200 и показывать покупателю ошибку базы данных, белый экран или заглушку хостинга.
Что приходит в Telegram
В сообщении не сухой код ошибки, а причина человеческим языком и версия, что с этим делать.

Триал стартует, когда вы попросите
Свежая установка — бесплатная версия, ничего не включается само. Кнопка «Попробовать Pro 7 дней» → e-mail → ключ сразу в окне и письмом.

Один ключ — один сайт
Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Если наш сервер недоступен, Pro работает ещё 14 дней. Для студий — ключи на 5, 25 сайтов или без ограничений.
Технические требования
PHP 7.4 или новее (проверено на 7.4.33 и 8.3.31);
права на запись в папку приложения и в data/;
cURL (без него работает через file_get_contents);
OpenSSL — чтобы токен бота и ключ лицензии хранились зашифрованными;
крон каждую минуту; если крона нет — внешний пингер на URL с токеном;
базы данных не нужно: ни MySQL, ни composer, ни зависимостей.
История версий
Часовой пояс Europe/Kyiv есть только в tzdata 2022b+, поэтому на PHP 7.4 и 8.0 каждый запрос сыпал notice и ломал сессию и редиректы; теперь неизвестный идентификатор подменяется своим…
Первый выпуск: HTTP-проверки витрины, корзины, чекаута и админки от 1 минуты; распознавание ошибок магазина при коде 200; оповещения в Telegram с подсказкой; подтверждение падения повторной…
Вместе с Storepulse покупают
4 модуля одним заказом — на 40% дешевле, чем по отдельности


Nova Poshta Premium — модуль Новая Почта для OpenCart 2.3, 3.x и 4.x

LiqPay — оплата картой для OpenCart 2.3, 3.x и 4.x

Telegram-уведомления и Viber/SMS покупателям для OpenCart
Полное описание модуля
Storepulse — монитор доступности интернет-магазина с оповещениями в Telegram. Это не плагин, а отдельное PHP-приложение: вы ставите его на свой хостинг, и оно следит за магазином снаружи. Каждую минуту оно открывает ваши страницы так же, как это делает покупатель, и когда магазин перестаёт работать — пишет в Telegram: что именно сломалось, когда и что с этим делать.
🔴 Главное: ставить не на сервер магазина
Это самая частая ошибка, из-за которой мониторинг молчит именно тогда, когда он нужен. Если монитор стоит на том же хостинге, что и магазин, то вместе с магазином падает и он — оповещать уже некому. Именно поэтому Store Uptime сделан отдельным приложением, а не плагином для WooCommerce или OpenCart: плагин внутри магазина физически не может сообщить, что магазин недоступен.
Ставьте его на любой другой хостинг: дешёвый shared-аккаунт, поддомен другого проекта, VPS. Ресурсов он почти не ест — нужны только PHP и крон. Об этом прямо написано в инсталляторе и в readme архива.
Чем это отличается от UptimeRobot
Обычные мониторы проверяют HTTP-код. Но код 200 ≠ «магазин работает»: страница может отдавать 200 и показывать покупателю ошибку базы данных, белый экран или заглушку хостинга. Store Uptime смотрит на то, что видит покупатель, и распознаёт в теле ответа:
- ошибку базы данных WordPress («Error establishing a database connection») и OpenCart;
Fatal error,Parse errorи критическую ошибку WordPress при коде 200;- «Account Suspended», превышение лимитов хостинга, Resource Limit;
- заглушку припаркованного домена — то есть домен, который закончился;
- белую страницу: пустой ответ или резкое падение размера ниже порога;
- редирект на чужой домен — признак перехваченного DNS или взлома;
- исчезновение нужного слова на странице («Корзина», «Оформить заказ»);
- режим техобслуживания, который кто-то забыл выключить;
- листинг каталога вместо страницы магазина.
Плюс две вещи, которых у «классических» мониторов нет вообще. Первая: падение подтверждается повторной проверкой через несколько секунд, так что один потерянный пакет не поднимет вас ночью. Вторая: отдельно ловится простой самого мониторинга — если крон молчал больше 30 минут, это событие и сообщение, а не фальшивые «100% аптайма».
Что приходит в Telegram
В сообщении не сухой код ошибки, а причина человеческим языком и версия, что с этим делать. Например:
- «Код 200, но на странице ошибка базы данных. Подсказка: похоже на исчерпанный лимит соединений MySQL — вопрос к хостингу»;
- «Пустой ответ (белая страница). Подсказка: похоже на свежее обновление плагина или темы»;
- «Магазин снова отвечает. Простой: 14 мин» — после восстановления;
- «Крон молчал 2 ч 14 мин — за это время магазин никто не проверял».
С Pro боту можно и писать: /status возвращает сводку по всем мониторам, /pause и /resume выключают и включают проверки — удобно перед плановыми работами.
Как это работает шаг за шагом
- Распаковали архив в папку на хостинге не с магазином и открыли её в браузере.
- Инсталлятор проверил требования, попросил логин, пароль, язык и часовой пояс — и создал
config.php. - В «Настройки → Telegram» вставили токен бота и chat_id, нажали «Отправить тестовое сообщение» и убедились, что оповещение дошло.
- Добавили монитор: адрес страницы, интервал и слово, которое должно быть на рабочей странице.
- Добавили крон каждую минуту — с этого момента проверки идут сами.
- Магазин упал → проверка не прошла → монитор проверяет ещё раз через 20 секунд → подтвердилось → в Telegram летит оповещение с причиной. Магазин поднялся → приходит сообщение о восстановлении с длительностью простоя.
Что под капотом
Хранилище — JSON-файлы с flock: кольцевой буфер результатов на каждый монитор плюс дневные агрегаты, поэтому «аптайм за 30 дней» остаётся правдивым даже при минутном интервале. Одновременные запуски крона разводит tick.lock — двойных оповещений не бывает. Сигнатуры ошибок ищутся в первых 20 000 символов тела ответа. Панель закрыта отдельным логином, 5 неудачных попыток блокируют форму на 15 минут. Папка data/ закрыта .htaccess, для nginx сниппет есть в readme. Интерфейс и оповещения — на украинском, русском и английском.
Как установить
- Скачайте архив кнопкой вверху страницы.
- Распакуйте его в папку на хостинге, который не обслуживает ваш магазин — например
/uptime/на поддомене. - Откройте этот адрес в браузере и пройдите инсталлятор.
- Настройте Telegram и добавьте первый монитор.
- Добавьте задание крона:
* * * * * /usr/bin/php /путь/к/uptime/cron.php >/dev/null 2>&1
Обновление — замена файлов приложения; config.php и data/ не трогаются, настройки и история остаются.
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Это плагин для WooCommerce или OpenCart?
Нет. Это отдельное PHP-приложение, которое ставится на хостинг и следит за магазином снаружи. Плагин внутри магазина падает вместе с ним и не успевает ничего отправить — поэтому плагином это сделать невозможно в принципе. Магазин при этом может быть любой: WooCommerce, OpenCart, Хорошоп, самописный.
Почему нельзя поставить его рядом с магазином?
Потому что тогда при падении сервера замолчит и монитор — и вы узнаете о простое от покупателей. Ставьте на любой другой хостинг: ресурсов нужно минимум, хватает самого дешёвого shared-аккаунта с PHP и кроном.
Чем это лучше UptimeRobot?
UptimeRobot смотрит на HTTP-код. Магазин может отдавать код 200 и показывать покупателю ошибку базы данных, белую страницу или заглушку хостинга — для обычного монитора это «всё хорошо». Store Uptime читает тело страницы, распознаёт такие случаи и пишет в оповещении не код, а причину и подсказку.
Что нужно на хостинге?
PHP 7.4 или новее, права на запись в папку приложения и крон каждую минуту. Базы данных не нужно — данные лежат в JSON-файлах. Если крона на хостинге нет, в разделе «Крон» есть URL с токеном для внешнего пингера.
Сколько магазинов можно мониторить из одной копии?
В Free — два монитора (это могут быть две страницы одного магазина или два разных магазина), в Pro ограничения нет. Лицензия привязывается к копии приложения, а не к количеству магазинов.
У меня магазин на OpenCart — какая лицензия?
Навсегда: 890 ₴ один раз, без срока и продлений. Покупается кнопкой «Купить для OpenCart». Лицензия на 1–5 лет — только для WooCommerce / WordPress.
Что будет, когда лицензия закончится?
Это о годовой лицензии WooCommerce / WordPress — у OpenCart срока нет. Приложение продолжит работать и слать оповещения, Pro-функции (интервал 1 минута, дополнительные чаты, SSL, тихие часы, отчёт, страница статуса) тоже остаются — прекращаются только обновления и поддержка. Free-режим без ограничения по времени.
Можно ли попробовать Pro до покупки?
Да, 7 дней. Триал включается кнопкой в «Настройки → Лицензия», карта не нужна.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—