Coming Soon - The Watchman Tower WordPress plugin is currently in development. This documentation is prepared in advance for the upcoming release.
Dashboard Overview
After connecting your WordPress site, the plugin dashboard provides real-time monitoring and quick actions. Layout: Two-column design- Left: Main monitoring panel with connection status and settings
- Right: Quick Actions sidebar with site status and dashboard link
Connection Status
Connected Badge
At the top of the dashboard, you’ll see a green “Connected” badge indicating your site is actively monitored. [Screenshot: Connected status badge]Instance ID
Format:WTHB-XXXXXX
Your unique WordPress instance identifier. This ID:
- Links your WordPress installation to Watchman Tower
- Remains consistent across plugin updates
- Used for API authentication
- Displayed in Watchman Tower dashboard
WTHB-A7B3C9
Site ID
Your site’s unique identifier in the Watchman Tower system. Format: UUID (e.g.,550e8400-e29b-41d4-a716-446655440000)
Purpose:
- Identifies your site across the Watchman Tower platform
- Used in API requests
- Links to monitoring data and alerts
- Required for multi-site setups
Why two IDs? Instance ID is WordPress-specific, while Site ID is
platform-wide and shared across all monitoring methods.
Site Status Widget
Located in the Quick Actions sidebar (right column). [Screenshot: Status widget with metrics]Real-Time Status Display
The widget shows your site’s current status with color-coded indicators:| Status | Color | Icon | Meaning |
|---|---|---|---|
| Up & Running | 🟢 Green | ✓ | Site is online and responding |
| Down | 🔴 Red | ✗ | Site is unreachable or error |
| Paused | 🟡 Yellow | ⏸ | Monitoring temporarily disabled |
| Unknown | ⚪ Gray | ? | No recent heartbeat data |
Uptime Percentage
Shows uptime over the last 30 days. Example:99.8% Uptime
Calculation:
Downtime Percentage
Shows downtime over the last 30 days. Example:0.2% Downtime
What counts as downtime:
- Failed heartbeat responses
- HTTP errors (500, 502, 503, 504)
- Timeout errors
- DNS resolution failures
Data Refresh Rate
The status widget updates:- Automatically: Every 60 seconds via AJAX
- On page load: Fetches latest data
- After manual heartbeat: Immediate update
The widget shows cached data from the last heartbeat - not live HTTP checks.
For real-time monitoring, use the Watchman Tower dashboard.
Last Heartbeat Information
What is a Heartbeat?
A “heartbeat” is a regular health check signal sent from your WordPress site to Watchman Tower. Contains:- Site health metrics
- WordPress version info
- Active plugins count
- Database status
- RAM usage
- Security settings
- And more…
Last Successful Heartbeat
Displays the timestamp of the most recent successful heartbeat. Formats:- Relative time:
59 seconds ago,5 minutes ago,2 hours ago - Absolute time on hover:
2024-01-15 14:30:25 UTC
Interpreting Relative Time
| Display | Status | Action Needed |
|---|---|---|
< 2 minutes ago | ✅ Healthy | None - operating normally |
2-10 minutes ago | ⚠️ Warning | Check if interval is configured correctly |
> 10 minutes ago | ❌ Problem | Investigate - heartbeat may be failing |
Heartbeat Failure Display
If the last heartbeat failed, you’ll see:Connection timeout- Server not respondingHTTP 500- Server errorAuthentication failed- Invalid credentialsRate limit exceeded- Too many requests
Troubleshooting Failed Heartbeats
Troubleshooting Failed Heartbeats
Check these: 1. Is monitoring paused? (Check settings below) 2. Is
WordPress cron working? Test with
wp cron event list 3. Can your server
reach api.watchmantower.com? 4. Check WordPress debug.log for errors 5. Try
sending a manual heartbeat Solutions: - Click “Send Heartbeat Now” to test- Verify firewall allows outbound HTTPS - Check PHP error logs - Increase PHP timeout limits
Quick Actions Panel
View Dashboard Link
Button: “View in Dashboard” Opens your Watchman Tower web dashboard in a new tab. Direct Link Format:- View detailed uptime charts
- Configure alert rules
- See historical heartbeat data
- Manage multiple sites
- Download reports
- Configure integrations
Send Heartbeat Now
Button: “Send Heartbeat Now” Triggers an immediate heartbeat send, bypassing the scheduled interval. Use cases:- Testing after configuration changes
- Verifying connection after setup
- Troubleshooting heartbeat issues
- Force data sync with dashboard
- JavaScript sends AJAX request
- Plugin collects fresh site metrics
- Data sent to Watchman Tower API
- Status widget updates immediately
- Confirmation message displayed
Settings Panel
Located in the main dashboard area (left column).Heartbeat Interval
Control: Slider or number input Range: 60 - 3600 seconds (1 minute to 1 hour) Default: 300 seconds (5 minutes) Recommended intervals:| Site Type | Interval | Reason |
|---|---|---|
| High-traffic eCommerce | 60s | Catch issues quickly |
| Business website | 300s | Balance of coverage and load |
| Personal blog | 900s | Less critical uptime |
| Development/Staging | 3600s | Minimal monitoring needed |
1
Locate Setting
Find “Heartbeat Interval” slider in settings
2
Adjust Value
Drag slider or type number (in seconds)
3
Auto-Save
Changes save automatically via AJAX
4
Take Effect
New interval applies to next heartbeat cycle
Pause Monitoring
Toggle: ON/OFF switch Purpose: Temporarily disable heartbeat monitoring without disconnecting. Use cases:- Site maintenance windows
- Development/testing
- Server migrations
- Preventing false alerts during known downtime
- ⏸ Heartbeats stop sending
- ⏸ Status shown as “Paused” in dashboard
- ⏸ No alerts triggered
- ✅ Connection maintained
- ✅ Can resume anytime
1
Click Toggle
Click the “Pause Monitoring” toggle switch
2
Confirm
Confirm in the modal dialog
3
Status Updates
- Badge changes to yellow “Paused” - Heartbeat loop stops - API notified of paused state
Paused state is reflected in the Watchman Tower dashboard, so you won’t
receive false downtime alerts.
Real-Time Updates
The dashboard uses AJAX to stay current without page refreshes: Auto-updates every 60 seconds:- Site status widget
- Last heartbeat timestamp
- Uptime/downtime percentages
- After manual heartbeat send
- After changing settings
- After pausing/resuming
