After years managing dozens of Joomla, WordPress and PrestaShop sites
for clients, I kept running into the same problem: I was always the
last one to know when something broke.
A client would call me to say their site was down. Or I'd discover
during a routine check that an SSL certificate had expired three days
ago. Or a backup hadn't run in two weeks.
So I built SiteOps — a professional monitoring SaaS specifically
designed for CMS sites and web agencies.
The problem with existing monitoring tools
Most monitoring tools (UptimeRobot, Pingdom, etc.) do one thing well:
uptime. You get a ping every 5 minutes and an email if the site goes
down.
But managing client sites means you need much more:
- Is the SSL certificate about to expire?
- Did the Akeeba or UpdraftPlus backup actually run last night?
- Is the Joomla or WordPress version up to date?
- Are there brute-force attacks being blocked?
- What's the current PHP version on the server?
- Is the domain registration about to expire?
None of the general-purpose tools covered all of this in one place.
What SiteOps monitors
Here's what the platform checks for each site:
Availability
- Uptime every 30 seconds from 8 worldwide locations
- Response time tracking
- Multi-location availability map
Infrastructure
- SSL certificate validity and expiry alerts
- DNS records (A, MX, TXT, NS)
- WHOIS / domain expiry
- IP reputation and DNSBL checks
- TCP port monitoring
Security
- HTTP security headers (HSTS, CSP, X-Frame-Options...)
- Google Safe Browsing status
- Brute-force detection and blocking status
- File integrity monitoring
Performance & SEO
- Google PageSpeed score (mobile + desktop)
- Core Web Vitals
- SEO meta tags analysis
CMS-specific (via native agents)
- CMS version (Joomla 4/5/6, WordPress, PrestaShop)
- Plugin/extension/module updates available
- Backup status (Akeeba for Joomla, UpdraftPlus for WordPress)
- PHP and MySQL versions
- Server load and memory usage
The native agent approach
The key differentiator is the native agent architecture. Instead of
just pinging a URL from outside, SiteOps installs a lightweight agent
directly on the CMS:
- Joomla: system plugin (available on JED, GPL licensed)
- WordPress: plugin (available on WordPress.org)
- PrestaShop: module (available on PrestaShop Addons)
The agent runs on every page load and pushes metrics to SiteOps via
a secure API. This gives access to data that external monitoring simply
cannot see — backup status, plugin versions, server metrics.
The tech stack
- Backend: Laravel 13 / PHP 8.2
- Admin panel: Filament v4
- Database: PostgreSQL 16
- Infrastructure: European VM (GDPR compliant)
- Uptime checks: Cloudflare Workers at 8 worldwide locations
- Alerts: Email, SMS, Slack, Telegram, Discord, Teams, Webhook
Multi-tenant architecture for agencies
SiteOps is built from the ground up for agencies managing multiple
client sites. Each tenant has their own isolated dashboard with:
- All their sites in one view
- Per-site alert configuration
- White-label option (Agency plan)
- Client-facing status pages
What I learned building this
1. PostgreSQL strict GROUP BY is your friend.
Coming from MySQL, the strictness catches real bugs. Embrace it.
2. Observers over lifecycle hooks.
Laravel's afterCreate() in Filament isn't always reliable. Model
Observers are more robust for post-creation side effects.
3. Cloudflare Workers are excellent for distributed uptime checks.
8 worldwide locations, sub-second latency, virtually free at low
volume. Highly recommended for distributed monitoring.
4. CMS agents need to be lightweight.
The Joomla plugin runs on every page load — it needs to be fast.
Async API calls and aggressive caching were essential.
Current status & pricing
SiteOps launched this week. Plans:
| Plan | Sites | Price |
|---|---|---|
| Discovery | 1 | €10/month |
| Starter | 5 | €15/month |
| Pro | 20 | €35/month |
| Agency | Unlimited | €79/month |
All plans include a 10-day free trial, no credit card required.
Happy to answer any questions about the architecture, the CMS agents,
or the multi-tenant setup. What monitoring features would you add?
Top comments (0)