4 Monitoring Tools in One Package
Each works automatically — no plugins, no SaaS
Health-check endpoint
endpoint /healthz returns 200 OK. GitHub Actions checks it at each deploy. On error — Telegram notification and automatic build block. 3 seconds of checks.
Sitemap/JSON-LD validation
validate:seo-files checks robots.txt, sitemap.xml, JSON-LD validity. 12 checks in 2 seconds. On each push — automatically.
Telegram-notifications
On health-check error or failure tests — instant message in Telegram. You know about the problem before users do. 0 false positives.
Monitoring in Numbers: 2026
What the data from GitHub Actions and Google Search Console shows
Uptime
c health-check
SEO checks
in 2 seconds
Health-check
at deploy
Cost
built into CMS
Before and After: GitHub CMS Monitoring
What changes when moving from manual checks to automatic monitoring
BEFORE
Manual verification — once a week
You visit the site and check if it works. Errors are found after hours or days. During this time traffic and SEO positions are lost.
0 JSON-LD checks
JSON-LD is validated manually via Google Rich Results Test. With each content update — risk of breaking structured data.
Errors in production
Broken sitemap, invalid robots.txt — learned from Search Console after 2-3 days. Rankings already dropped.
Monitoring plugins: $99-299/year
WordPress: Jetpack, UptimeRobot, SEO monitors. Each — a subscription with conflicts at updates.
AFTER
Auto-verification at each push
Health-check, sitemap, JSON-LD — are checked in 5 seconds at deploy. Error → build is blocked → Telegram-notification.
12 checks SEO for 2 sec
robots.txt, sitemap.xml, JSON-LD Schema.org — automatic validation at npm run validate:seo-files. Always 100% validity.
Errors — to production
Build fails before deploy. No error reaches the site. Search Console shows 0 indexing errors.
$0 — all built-in
Health-check, SEO-validation, Telegram notifications — out of the box. No subscriptions or plugins.
Every Deploy — Full Site Verification in 5 Seconds
Health-check, sitemap/JSON-LD validation, secret scanning — automatically. On error — Telegram in 2 seconds. You learn about the problem before users do.
GitHub CMS Monitoring Architecture
Two Types of Checks + Three Notification Channels
Build tests
368 tests at npm run build. Validation of content, JSON-LD, sitemap, robots.txt, security headers. Error — build fails before deploy. 10 categories of tests.
Deploy checks
Health-check after symlink: curl --fail checks /, /healthz, /sitemap.xml. HTTPS validation. On error — rollback to previous version and Telegram notification.
Telegram
Instant message on deploy error or health-check.
GitHub Mobile
Push notifications about workflow status: success or error.
Search Console
Auto-reports on indexing, sitemap errors, Core Web Vitals.
Telegram Notifications: You Know About Problems in 2 Seconds
On health-check error or test failure, GitHub Actions sends a message to the Telegram bot. You receive: workflow name, stage with error, link to logs. Reaction time: instantly. No more surprises in production.
notification delivery
false positives
notifications free
bot for all projects
Reviews: monitoring in real projects
Results of implementing automatic monitoring
«Health-check saved us three times: caught sitemap errors before production. Telegram notification — more convenient than monitoring logs. Before, paid $199/year for UptimeRobot. Now everything is built into GitHub CMS.»
Alexey K.
CEO B2B-platform
«validate:seo-files catches broken JSON-LD instantly. Before, we learned about errors from Search Console after 2-3 days. 12 checks in 2 seconds — Search Console shows 0 indexing errors.»
Marina S.
Tech Director, EdTech
«Telegram bot reports on each deploy: success or error. 368 tests + health-check = 99.9% uptime. WordPress required 3 plugins for the same level of monitoring with conflicts.»
Dmitry V.
DevOps, FinTech
How monitoring works: 3 steps
From git push to notifications — automatically
npm run build
368 tests at build. Validation of content, SEO, sitemap, JSON-LD. Error → build fails. Everything checked before deploy.
Health-check
After symlink: curl --fail checks /, /healthz, /sitemap.xml. HTTPS validation. 3 seconds — and it's clear: the site works or not.
Notification
Telegram: deploy status in 2 seconds. GitHub Mobile: push-notification. Search Console: auto-reports on indexing. 0 manual work.
4 Monitoring Channels — Detailed Breakdown
Each covers its aspect of site verification
1 · Health-check endpoint
endpoint /healthz returns 200 OK and JSON: {"status":"ok","timestamp":"..."}. Checked with curl --fail at each deploy. On error — build is blocked. Can connect external monitors (UptimeRobot, Pingdom) for ongoing pings.
2 · SEO files validation
validate:seo-files: 12 checks — robots.txt (Disallow, Sitemap), sitemap.xml (lastmod, changefreq, priority), JSON-LD (Schema.org validity). Runs at npm run build and manually. 2 seconds.
3 · Google Search Console
Automatic reports: page indexing, sitemap errors, Core Web Vitals (LCP, CLS), mobile usability. Connection via DNS verification — 5 minutes. Free.
4 · Telegram + GitHub Mobile
Telegram bot: deploy status, health errors-check, failure tests. GitHub Mobile: push-notifications about workflow. Together — a full picture of the site state in real time.
Guarantee: 99.9% Uptime with Automatic Monitoring
368 tests · health-check · Telegram for 2 sec
Every deploy checks the site by 368+ criteria. Health-check confirms: the site responds. SEO validation guarantees: sitemap and JSON-LD are correct. Telegram notifies instantly. Based on our users' data: 99.9% uptime.
FAQ on Monitoring
Frequent Questions About Static Site Verification
How does health-check work at deploy?
After symlink-switch, GitHub Actions executes curl --fail on /, /healthz and /sitemap.xml. If all three return 200 OK — deploy successful. If any one fails — symlink rolls back to previous version, and a Telegram notification is sent. Check time: 3 seconds.
What does validate:seo-files check?
12 checks: robots.txt (presence, format, Disallow/Sitemap directives), sitemap.xml (valid XML, lastmod, changefreq, priority, URL count), JSON-LD (Schema.org validity, required fields). Runs automatically at npm run build or manually: npm run validate:seo-files.
How to configure Telegram notifications?
Create a bot via @BotFather → get token → add TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID in GitHub Secrets. GitHub Actions automatically sends deploy status: success, health-check error, test failures. Setup: 5 minutes.
Do I need to connect Google Search Console?
Recommended. Search Console delivers data that can't be obtained from inside: how Google sees the site, indexing errors, Core Web Vitals, search rankings. Connection: DNS verification in 5 minutes. Free. Especially important after migration from WordPress.
How to check the site between deployments?
The /healthz health-check endpoint can be pinged by external monitors: UptimeRobot (free, up to 50 sites), Pingdom, StatusCake. They check site each 1-5 minutes and notify on unavailability. GitHub CMS generates /healthz automatically at build.
What to do if health-check fails?
1) Check GitHub Actions logs. 2) If the site doesn't respond — check nginx (systemctl status nginx) and free disk space (df -h). 3) Roll back the symlink to the previous version: ln -sfn releases/previous current. 4) Check with curl manually on the VPS: curl -I https://site.ru.
Can you monitor multiple sites?
Yes. Each site — a separate repository with its own deploy.yml. Health-check checks only that site. The Telegram bot can send notifications from multiple sites to one chat. GitHub Mobile shows statuses of all your workflows in one feed.
How much does this monitoring cost?
$0. All built in in GitHub CMS: health-check, validate:seo-files, 368 tests, Telegram-integration. GitHub Actions free for public repositories. Search Console is free. WordPress: Jetpack ($99/year), UptimeRobot ($96/year), SEO monitor ($79/year) — about $274/year.
Built-in Monitoring — No External Services or Subscriptions
GitHub CMS doesn't require plugins or SaaS for monitoring. Health-check, SEO validation, Telegram notifications — all work out of the box. 368 tests at each push. You don't need to set up UptimeRobot, connect Jetpack, or pay for monitoring. Everything is already included.
Article from Section 2: DevOps / Deploy. Created using prompt template article-5.txt (GLASS / HOME-5 style). Static Site Monitoring — Health-Check, Sitemap, JSON-LD.