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
[Screenshot: Full dashboard layout]

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
Example: 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:
StatusColorIconMeaning
Up & Running🟢 GreenSite is online and responding
Down🔴 RedSite is unreachable or error
Paused🟡 YellowMonitoring temporarily disabled
Unknown⚪ Gray?No recent heartbeat data

Uptime Percentage

Shows uptime over the last 30 days. Example: 99.8% Uptime Calculation:
Uptime = (Successful Heartbeats / Total Expected Heartbeats) × 100
💡 Industry standard for “good” uptime is 99.9% (Three Nines) or higher.

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…
Learn more about heartbeat data →

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
[Screenshot: Last heartbeat display]

Interpreting Relative Time

DisplayStatusAction Needed
< 2 minutes ago✅ HealthyNone - operating normally
2-10 minutes ago⚠️ WarningCheck if interval is configured correctly
> 10 minutes ago❌ ProblemInvestigate - heartbeat may be failing

Heartbeat Failure Display

If the last heartbeat failed, you’ll see:
❌ Last Heartbeat Failed
Error: Connection timeout after 30 seconds
2 hours ago
Common error messages:
  • Connection timeout - Server not responding
  • HTTP 500 - Server error
  • Authentication failed - Invalid credentials
  • Rate limit exceeded - Too many requests
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

Button: “View in Dashboard” Opens your Watchman Tower web dashboard in a new tab. Direct Link Format:
https://app.watchmantower.com/sites/{SITE_ID}
What you can do in the web dashboard:
  • View detailed uptime charts
  • Configure alert rules
  • See historical heartbeat data
  • Manage multiple sites
  • Download reports
  • Configure integrations
[Screenshot: Dashboard link button]

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
What happens:
  1. JavaScript sends AJAX request
  2. Plugin collects fresh site metrics
  3. Data sent to Watchman Tower API
  4. Status widget updates immediately
  5. Confirmation message displayed
// Behind the scenes
wthb_send_heartbeat_now() {
  // Collect fresh metrics
  const payload = buildPayload();

  // Send to API
  fetch('/wp-admin/admin-ajax.php', {
    action: 'wthb_send_heartbeat',
    nonce: wthbData.nonce
  });

  // Update UI
  updateStatusWidget();
}
Don’t spam this button! Rate limit: 1 manual heartbeat per minute.

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 TypeIntervalReason
High-traffic eCommerce60sCatch issues quickly
Business website300sBalance of coverage and load
Personal blog900sLess critical uptime
Development/Staging3600sMinimal monitoring needed
How to adjust:
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
💡 Lower intervals = More monitoring data but slightly more server load. Find your balance!

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
What happens when paused:
  • ⏸ Heartbeats stop sending
  • ⏸ Status shown as “Paused” in dashboard
  • ⏸ No alerts triggered
  • ✅ Connection maintained
  • ✅ Can resume anytime
How to pause:
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
How to resume: Simply toggle the switch back to ON - monitoring resumes immediately. [Screenshot: Pause monitoring toggle]
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
Immediate updates:
  • After manual heartbeat send
  • After changing settings
  • After pausing/resuming
No page reload needed!

Dashboard Workflow

Typical usage flow:

Next Steps