Abuja Digital Studio · Est. 2018
Start a Project
← All plugins
Live · v2.0.0 · Free

OIntel

System intelligence dashboard for WordPress. 51 read-only checks across environment, plugins, performance, security, and content. Snapshots over time, Core Web Vitals history, session tracking, link health, activity log, scoped REST keys, six alert channels, opt-in fixes with preview, and a full WP-CLI surface.

WP 6.0+PHP 7.4+10 database tables51 checks
0Automated checks
0Alert channels
10Database tables
$0Forever, all features
~ ointel / scan.log
● live

Score a site.
See what’s broken.

This is a UI simulation of OIntel’s scan summary panel, showing you exactly what the tool looks and feels like inside your WP admin. When installed, it pulls live health data, snapshot history, and session counts from the diagnostic tables.

Run a scan.
Read the verdict.

Simulated demo. Runs automatically as you scroll. The real plugin reads live data from your diagnostic tables.

Demo simulation
Health score·awaiting scan
Failing checks·awaiting scan
Last snapshot·awaiting scan
Active sessions·awaiting scan

Everything diagnostics,
nothing extra.

One plugin. No external services unless you want them. No tracking pixels phoning home. Your data, your server, your rules.

// 51 checks · 10 database tables · read-only by default
Health score 0 to 100 with 5-category breakdown
SSL expiry + REST API reachability checks
WP core / plugin / theme update detection
Abandoned plugin detection (high risk + 2yr+ stale)
Plugin vulnerability scan (wpvulndb compatible)
Plugin compatibility + duplicate function detection
PHP version + required extension audit
Multisite + cron status detection
Autoload bloat + oversized options detection
DB size, table overhead, fragmentation audit
Object cache detection
Orphan postmeta + usermeta detection
Orphaned plugin DB tables detection
Core Web Vitals history (LCP / INP / CLS / FCP / TTFB)
Broken internal link checker
Image alt text coverage + oversized image audit
Stale draft + duplicate title content audit
Snapshot history (every scan saved + diffable)
Active session tracking + admin activity log
Six alert channels: email, slack, discord, telegram, webhook, pagerduty
Alert dedupe by fingerprint with cooldown window
Fixer subsystem: 7 opt-in fixes with preview-then-run + fix log
Custom checks via ointel_register_checks filter
REST API v1 + v2 with scoped X-OIntel-Key header
WP-CLI: scan, status, snapshot, fix, report, alerts
GDPR-aware: IP anonymisation + opt-in data removal on uninstall
White-label + scheduled report exports (JSON/CSV/HTML)

Click around.
It’s all real.

Six interactive previews of the actual OIntel admin. No screenshots; these are working mock-ups of what ships in the plugin.

Health Score

The 0-100 weighted aggregate of every enabled check, broken down by category. Updated on every scan.

91Health score
0Critical
2Warnings
49Passing
Category breakdown · weightedlive
CategoryWeightChecksScoreTrend
Environment25%1494stable
Plugins20%9882 warnings
Performance20%1192improving
Security20%696stable
Content15%1189stable

Checks

Every check the scanner runs, grouped by category. Click any row to see the raw result, ignore it, or snooze it for a window.

Recent check runs51 of 51
CheckCategoryStatusDetail
ssl_expiryEnvironmentok84 days remaining
wp_versionEnvironmentwarning6.5.2 to 6.5.3 available
vulnerabilitiesPluginsok0 known issues
big_autoload_rowsPerformanceok1.8 MB autoloaded
orphaned_postmetaPerformancewarning128 orphan rows
image_altContentok94% alt coverage
broken_linksContentok0 broken internal

Snapshots

Every scan is preserved. Compare any two snapshots to see what changed between deploys. Click Simulate run to step through a fresh snapshot save.

Scan triggeredCron fires, or someone hits Run scan now in admin. The scanner queues all 51 checks.
Checks executedEach check runs in its own try/catch. Failures are captured, not propagated. Median scan completes in ~480ms.
Snapshot savedResults written to ointel_scan_log and ointel_snapshots. Score and category aggregates computed.
Alerts dispatchedFailing checks fingerprinted, deduped, and routed to any of 6 channels (email, slack, discord, telegram, webhook, pagerduty).
Recent snapshotslast 30 days
IDLabelScoreTypeSaved
#143pre-deploy v2.491manual2m ago
#142cron · daily88cron14h ago
#141cron · daily91cron1d ago
#140post-update84manual3d ago
#139cron · daily78cron5d ago

Sessions

Every active admin session, with IP, last activity, and the actions logged in this window. Useful for spotting forgotten logins on shared workstations.

4Live now
22Last 24h
87Activity rows
0Suspicious IPs
Active admin sessionslive
UserIPLast activityActions (24h)
adaeze@velluma.com102.89.4.182m ago14
tunde@northrise.io197.211.58.9211m ago22
m.okafor@craftshop.ng105.112.18.434m ago8
chiamaka@studiof.co102.89.220.411h ago6
Recent admin actionsactivity log
adaezeplugin.activatedomembership v1.0.52m ago
tundeoption.updatedsiteurl11m ago
adaezepost.publishedspring sale post34m ago
chiamakauser.loginfrom new IP1h ago

CWV History

Core Web Vitals readings over time, per URL. Pulled via PageSpeed Insights and stored locally so you never lose history when Google rotates the API.

PSI score · /pricing · last 14 daystrending up
Latest readingsby URL
URLLCPINPCLSPSI
/pricing1.8s142ms0.0492
/2.1s168ms0.0688
/blog2.4s184ms0.0882
/contact1.6s118ms0.0294

Settings

Schedule, alert routing, ignored checks, API keys, and uninstall behavior. Stored in a single ointel_settings option.

Scan schedulecron
FrequencyDaily at 03:00active
CWV pollingEvery 6 hoursactive
Session purgeAfter 7 days idleactive
Activity log retention90 daysactive
Alert routing6 channels
alert_emailops@velluma.com, oncall@velluma.comactive
slack_webhookhooks.slack.com/services/T0...active
discord_webhookdiscord.com/api/webhooks/...active
telegram_bot_token + chat_idconfiguredactive
generic_webhookhooks.example.com/oncallactive
pagerduty_keysetactive
alert_cooldown4 hours per fingerprintactive
API keysscoped
read-only / monitoringointel_xxxx9f2alast used 2m ago
read-write / ci pipelineointel_xxxx41belast used 6h ago
Read the developer docs

What you get
vs. what they sell you.

The free options stop at basic checks. The paid SaaS options run on someone else’s servers, which is fine until you’re debugging at 2am and their dashboard is offline. OIntel is everything in one install, on your server, free.

WP HealthHealth CheckManageWPWP UmbrellaOIntel
51 automated checks~20~15Built in
Health score 0-100nonoBuilt in
Snapshots over timenonoBuilt in
Core Web Vitals historynonopaid add-onBuilt in
Active session trackingnonopaid add-onBuilt in
Plugin ecosystem scanpartialpartialBuilt in
Preflight health checkspartialnonoBuilt in
Activity log (admin actions)nonoBuilt in
Link health checkernonopaid add-onBuilt in
6-channel alerts (email/slack/discord/telegram/webhook/pagerduty)nonoBuilt in
Preview-then-run fixes (7 safe fixes)nonopaid add-onpaid add-onBuilt in
REST API v1 + v2nonopaid add-onBuilt in
WP-CLI integrationnonopaid add-onpaid add-onBuilt in
API keys with scoped permissionsnonopaid add-onpaid add-onBuilt in
Read-only checks, opt-in fixes onlynonononoBuilt in
Self-hosted (no SaaS dependency)nonoBuilt in
Pricing modelFreeFree$2 / site / mo$2 / site / moFree forever

Clean public API.
Read the source.

PSR-4 namespaced classes, helper functions for the common stuff, REST endpoints, WP-CLI commands, and a hook surface that lets you extend any check or alert without forking.

// Run a single check from anywhere in your code. Returns the structured result.
use Orravo\OIntel\Checks;

$result = Checks::run('ssl.expiry');

// $result is an array shaped like:
//   [
//     'id'           => 'ssl.expiry',
//     'category'     => 'Environment',
//     'label'        => 'SSL Expiry',
//     'status'       => 'ok' | 'warning' | 'critical' | 'info',
//     'message'      => 'SSL certificate valid for 84 more days',
//     'detail'       => 'Renew before 2026-08-01',
//     'score_impact' => 0..15,
//   ]

Free.
Forever.

OIntel is fully open and free. All 51 checks, all 6 alert channels, both REST API versions, every tab unlocked.

// free

OIntel.

All features. Unlimited sites. No license key.
$0
free forever
  • Unlimited sites
  • 51 automated checks across 5 categories
  • Snapshots + REST v1 + v2 + WP-CLI
  • 6 alert channels with dedupe + cooldown
  • 7 opt-in fixes with preview-then-run

Asked & answered.

Why is OIntel free? +
OIntel is the diagnostic layer of the Orravo stack. We use it on every site we run, and we want every WordPress dev to have the same visibility we do. The plugin is fully open and free forever, with no licensing, no usage caps, and no paid tier hidden behind another plugin.
Does OIntel modify my site or any user data? +
Default behaviour is read-only. The 51 checks query WordPress, the database, and your server without writing anywhere on user-facing tables. The only writes happen in the 10 ointel_* tables OIntel owns (snapshots, scan log, alert log, sessions, activity log, CWV history, link health, API keys, fix log, ignored checks). The Fixer subsystem ships 7 opt-in fixes (orphan postmeta, orphan usermeta, expired transients, trim revisions, orphan media trash, optimize tables, disable WP_DEBUG) and every fix has a preview-then-run workflow with a fix log entry.
How does the health score work? +
The health score is a 0-100 weighted aggregate of 5 categories: Environment (25%), Plugins (20%), Performance (20%), Security (20%), Content (15%). Critical failures dock the most points, warnings dock fewer, info checks dock nothing. The score is recalculated on every scan and stored in ointel_scan_log so you can see the trend over weeks or months.
What kind of checks does it run? +
51 checks grouped into Environment (PHP version, SSL, memory, REST API, multisite, required extensions), Plugins (vulnerabilities, abandonment, compatibility, duplicate functionality, orphan tables), Performance (Core Web Vitals, autoload bloat, db size and overhead, object cache, orphan postmeta/usermeta, table fragmentation), Content (broken links, image alt coverage, stale drafts, duplicate titles, oversized images), and Security. The full list is in the Checks tab and you can ignore or snooze any of them.
How do alerts work? +
Six channels ship out of the box: email, Slack, Discord, Telegram, generic webhook, and PagerDuty. Configure each in Settings; OIntel deduplicates alerts by fingerprint so the same recurring issue does not spam you. Cooldown defaults to 4 hours and is configurable per cooldown.
Can I use OIntel headless or via API? +
Yes. REST v1 covers health-score, checks, snapshots, and scan triggering. REST v2 adds CWV history, scan-status, fix preview/run, and API key management. Generate scoped API keys in admin and pass them via X-OIntel-Key header. Full WP-CLI surface is also shipped.

See your stack as it actually is.
Not as you hope it is.