
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 — Нова Пошта для WooCommerce

Mono Acquiring — оплата карткою monobank для WooCommerce

Telegram-сповіщення і Viber/SMS покупцям для WooCommerce
Повний опис модуля
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. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—