Frequently Asked Questions
Frequently Asked Questions
Looking for a step-by-step walkthrough instead? Jump to our Quick-Start Guide — first site connected in under 2 minutes.
1. How do I connect my WordPress site? {#connect-wordpress}
Three steps:
- In the Hubbee dashboard (
app.hubbee.io), click Add Site → copy the connection code. - On your WordPress site: install the Hubbee plugin from the WordPress.org plugin directory (or upload the ZIP from your dashboard), activate it.
- Open Hubbee → Settings in WP-Admin, paste the connection code, click Connect.
Your site appears in the Hubbee dashboard within a second. From now on, every content push, every health update, every activity entry flows automatically.
2. What is a token push? {#token-push}
A token is a piece of content (a headline, a description, a CTA-button text, an image URL) that you store centrally in Hubbee and render dynamically on your WordPress site via Elementor Dynamic Tags or our shortcode/block.
A push is the act of writing the central value into the token store on one or more WordPress sites. Pushes are:
- HMAC-SHA256 signed — only your site, with its unique secret, accepts them
- Versioned — every push increments the token’s version; lower-version pushes are skipped (no out-of-order overwrites)
- Idempotent — a
request_idprevents double-processing if the same push is retried - Logged — the Activity Stream records who, what, when, to which site
Edit a token once, push to 30 sites in one click.
3. Workspace vs. Site — what’s the difference? {#workspace-vs-site}
A Workspace is your top-level container — your agency, your team, your project group. It holds:
- One or more Sites (each a connected WordPress installation)
- Members (with admin or member roles)
- Subscription, billing, branding
A Site is a single WordPress installation that the Hubbee plugin agent runs on. Each site has:
- Its own connection (api_secret, site_id)
- Its own local copy of the tokens you’ve pushed
- Its own health status, activity log
You can move sites between workspaces (Agency plan), invite members per workspace, and set per-workspace defaults.
4. Plan limits explained {#plan-limits}
| Limit | Free | Pro | Agency |
|---|---|---|---|
| Workspaces | 1 | 1 | up to 10 |
| Sites | 3 | 25 | 100 |
| Members per workspace | 1 | up to 6 | up to 16 |
| Heartbeat interval | — (no scheduled checks) | 5 min | 2 min |
| Scheduled health check | — | every 5 min | every 5 min |
| Real-time updates | — | ✓ | ✓ |
| Analytics retention | 7 days | 90 days | 365 days |
| Health-report deep level | — | basic | full inventory |
Live, current limits and prices: /pricing. Pricing is read directly from our database, so this page can drift behind — /pricing is canonical.
5. Where is my data stored? {#data-storage}
Your WordPress content stays on your WordPress site. The Hubbee plugin stores token values in wp_bz_tokens in your own WordPress database — same database as your posts.
Hubbee Cloud stores:
- Account + workspace metadata (you, your team, billing email)
- Token definitions (the keys + structure of your content tokens, not post content)
- Activity log (who pushed what, when)
- Site metadata (URL, WP/PHP version, last heartbeat, plan-update inventory)
- Asset chunks (compiled JavaScript for visual effects you’ve assigned)
Hubbee Cloud does NOT store:
- Your post content, comments, customer data
- Your WP user database
- Your custom plugin/theme code
EU-hosted: a self-hosted Supabase stack on Hetzner Online GmbH infrastructure in Germany. See /legal/datenschutz and Sub-Processors.
6. Can I disable telemetry / heartbeats? {#disable-telemetry}
Yes. Add this to a mu-plugin (wp-content/mu-plugins/hubbee-no-telemetry.php):
<?php
add_filter( 'hubbee_heartbeat_enabled', '__return_false' );
add_filter( 'hubbee_health_report_enabled', '__return_false' );
The plugin will then make no telemetry calls. Token-push triggered from the dashboard still works — the SaaS-to-plugin direction is HMAC-authenticated and unrelated to outbound telemetry.
You can also disconnect the site entirely: Hubbee → Settings → Disconnect. Disconnect drops the api_secret; the plugin halts all outbound calls.
7. How do I cancel my subscription? {#cancel-subscription}
In the dashboard: Subscription → Manage → Cancel. Effective at end of current billing period — no early-termination fees.
After cancellation:
- Plan downgrades to Free (with Free’s lower limits — over-limit resources are protected by grandfathering for 90 days; you can manually downsize within that window)
- Sites remain connected
- Tokens remain pushed
- Activity log truncates to Free retention (30 days)
If you want to delete account + workspace entirely: dashboard → Account → Delete. Full data wipe within 30 days.
8. What happens to my data if I cancel? {#data-after-cancel}
- On WordPress sites: nothing happens. Your tokens stay where they are. The plugin continues to render them. You only lose the ability to push new updates from the dashboard (because Free has lower limits).
- In Hubbee Cloud:
- Cancel only: account is preserved, plan-downgrade applies, grandfathering protects resources for 90 days.
- Account-Delete: all workspace data + sites + activity logs + Paddle invoices are scheduled for deletion. Paddle invoices are retained 10 years for tax compliance.
- Export your data first: dashboard → Account → Data Export. Download a ZIP of all tokens, activity log, settings as JSON.
9. Plugin shows offline — how to debug {#plugin-offline}
Quick checks (in order):
- Site URL reachable? Visit
https://yoursite.com/wp-json/bz/v1/status— should return JSON withsite_id+plugin_version. If 404 or 500: REST is broken (caching plugin? .htaccess?). Fix REST first. - Plugin connected? Hubbee → Settings should show Connected + the site_id. If “Not connected”: re-paste connection code.
- Heartbeat running? SSH/CLI on your site:
Ifwp cron event list | grep hubbeehubbee_heartbeatis missing → re-activate plugin or checkhubbee_heartbeat_enabledfilter. - Network reaching Hubbee Cloud? From your server:
Expected:curl -I https://api.hubbee.io/heartbeat200 OK(or401without auth — both confirm connectivity). If it hangs: firewall/DNS issue. - Last error:
wp option get bz_last_errormay show a hint.
Still stuck? Open a support ticket with wp option list --search="bz_*" output.
10. Token push failed — common reasons {#push-failed}
| Error | Likely cause | Fix |
|---|---|---|
bz_invalid_signature (401) |
Site api_secret out of sync (e.g., site DB restored from backup) | Reconnect the site (re-paste connection code) |
bz_stale_request (401) |
WP-Server clock more than 5 min off UTC | Fix server NTP |
bz_not_connected (401) |
Plugin sees the request but is not bound to any site | Connect the site first |
bz_invalid_payload (400) |
Token field type mismatch (e.g., richtext expected, plain text sent) | Update the token-definition’s field_type |
| 500 server error | WordPress fatal (theme conflict, memory limit) | Check wp-content/debug.log |
| Push completes, content doesn’t render | Page cache or CDN cache | Purge WP-Rocket / LiteSpeed / Cloudflare cache |
Activity-Stream → click the failed push → see the exact error code + WP-side debug output.
11. Two-factor / security {#security}
Account security:
- Email-link login (passwordless) — no password to leak
- Optional WebAuthn / Passkey (in account settings)
- Session expires after 14 days inactive
- All workspace activity is audit-logged
WordPress-Plugin security:
- All SaaS-to-Plugin requests are HMAC-SHA256 signed with a per-site secret + 5-min timestamp window (prevents replay)
- All Plugin-to-SaaS calls (heartbeat, health, token-push receipts) use JWT signed with the same per-site secret
- The
api_secretis stored encrypted inwp_optionsand never transmitted in the clear after enrollment - Site-to-site isolation: even if Site A’s secret leaks, Site B is unaffected
Recommended hardening:
- Run WordPress 6.0+ with PHP 8.1+
- Enable HTTPS for your
wp-json/endpoints - Restrict workspace member access to least-privilege roles
12. GDPR / DSGVO compliance {#gdpr}
Hubbee is built for EU operations:
- Data Processor under Art. 28 DSGVO — see our DPA (Auftragsverarbeitungsvertrag)
- EU hosting — self-hosted Supabase stack on Hetzner Online GmbH infrastructure in Germany
- Sub-Processors documented — see Sub-Processors
- No US data transfer for production data — Resend (transactional email only) uses Standard Contractual Clauses
- Right to access / portability — Account → Data Export downloads all your data as JSON
- Right to erasure — Account → Delete with full wipe within 30 days (except Paddle tax records, retained 10 years)
- Privacy Policy in plain German + English: /legal/datenschutz
- Imprint (Impressum, TMG § 5): /legal/impressum
Questions: info@hubbee.io.
Was this article helpful?
Related articles
Still stuck?
Open a support thread and we'll get back to you. Most replies arrive within a few hours on business days.
