Plugin shows offline — full diagnostic

3 min readUpdated 2026-05-18

Plugin shows offline — full diagnostic

A connected site shows Offline in the dashboard if Hubbee has not received a heartbeat from the plugin within the configured threshold (default: 3× the heartbeat interval — 15 minutes for the default 5-minute interval).

Work through these steps in order. Most issues resolve at step 1 or 2.

Step 1 — Is the WP site itself reachable?

Open the site’s homepage in a browser. If the homepage is also down, the issue is the host or DNS, not the Hubbee plugin. Fix the underlying outage; once the site is reachable again, the next heartbeat (within 5 minutes) flips Hubbee back to Online.

Step 2 — Is the WP plugin active?

WP Admin → Plugins → confirm “Hubbee” is Activated.

  • If the plugin is Deactivated, reactivate it. Within 1-2 minutes the heartbeat fires and the dashboard shows Online.
  • If the plugin is Missing, it was either uninstalled or the WordPress file system has issues. Reinstall via WP Admin → Plugins → Add New → search “Hubbee”.

Note: Reinstalling the plugin keeps the existing api_secret and database tables — no reconnection needed.

Step 3 — Is the heartbeat cron firing?

Hubbee uses a WordPress cron event called hubbee_heartbeat, scheduled every 5 minutes by default.

WP Admin → Tools → Site Health → Info → Scheduled Events (or via WP-CLI: wp cron event list). Look for hubbee_heartbeat:

  • Next run is in the past → cron is stalled. Trigger it manually: wp cron event run hubbee_heartbeat
  • Next run is in the future → cron is healthy. Continue to step 4.
  • Event not listed → run wp eval 'do_action("hubbee_init_cron");' to re-register the schedule.

If wp-cron itself is disabled (DISABLE_WP_CRON is true), you must have a server-side cron pinging wp-cron.php every 5 minutes. See WordPress documentation on alternative crons.

Step 4 — Can the site reach Hubbee’s API?

The heartbeat sends an outbound HTTPS request to api.hubbee.io. If the WP server blocks outbound HTTPS, heartbeats fail silently.

Test from the server (SSH):

curl -I https://api.hubbee.io/healthz

You should see HTTP/2 200. If the request times out or returns a network error, your host blocks outbound connections. Allowlist api.hubbee.io (port 443) in your host’s firewall.

Step 5 — Check the plugin’s debug log

WP Admin → Hubbee → Settings → Debug Log. The log shows the last 100 heartbeat attempts with status codes.

Common patterns:

  • 401 Unauthorizedapi_secret is wrong, likely from a cloned database. Re-run Connect to get a fresh secret.
  • 429 Too Many Requests → you’re hitting the rate limit (rare; usually only if heartbeats fire from 100+ sites with the same IP). Contact support.
  • 5xx errors → temporary Hubbee infrastructure issue. Heartbeats retry automatically; the site flips back to Online once the next one succeeds.

Step 6 — Force a manual heartbeat

WP-CLI:

wp cron event run hubbee_heartbeat

This bypasses the cron schedule and fires immediately. Watch the dashboard — the site should flip to Online within 5 seconds.

Step 7 — Still offline after all of the above

Open a support thread at info@hubbee.io and include:

  • Site URL
  • Hubbee plugin version (WP Admin → Plugins)
  • WordPress version + PHP version (WP Admin → Tools → Site Health)
  • Last 20 lines of the plugin debug log
  • Output of wp cron event list | grep hubbee

We typically respond within a few hours on business days.

What the dashboard shows during recovery

The dashboard refreshes site status every 60 seconds. After you fix the issue and a successful heartbeat lands, expect up to 60 additional seconds before the badge flips to Online in your browser. Force a refresh if needed.

Was this article helpful?

Still stuck?

Open a support thread and we'll get back to you. Most replies arrive within a few hours on business days.

Contact support