# Deploy a private analytics service beside WordPress

Compare Umami or Matomo requirements and validate the selected data collection setup. Check the named site's prerequisites, task result, backup scope and recovery handoff with xCloud.

Canonical: https://xcloud.host/use-cases/workflows/deploy-a-private-analytics-service-beside-wordpress/
Published: 2026-09-30 · Updated: 2026-09-30 · Technical review: 2026-09-30
Evidence: Source reviewed; no production deployment test claimed
Editorial owner: xCloud editorial

Intent: Compare Umami or Matomo requirements and validate the selected data collection setup.
For: site-owner, administrator

## Requirements and responsibilities

- Name the team, server, hostname, owner and affected users for the Umami application. Record the current version and the actual business flow that must survive the change. Confirm the current dashboard form, plan eligibility, and server capacity before committing a resource change. A one-click catalog listing is discovery, not permission or proof that the connected MCP profile can install it. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)
- Prepare a non-sensitive test input and an acceptance record. Keep access to the app administrator and an independent observer where possible; omit secrets from AI prompts and client reports. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)
- For a Docker app, identify persistent volumes, bind mounts, external databases and app-level export requirements. A Docker backup briefly stops the app, and an in-place restore replaces current state. Agree a maintenance window and owner before any action that interrupts the service or overwrites data. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)

## Illustrative situation

A WordPress publisher wants private traffic reports on a separate hostname. The team must choose Umami or Matomo, install a tracker and prove one controlled visit is counted.

## Choose the approach

- Umami uses its own website and script setup; Matomo has a different tracking-code and database/config backup model. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)
- Consent, internal-traffic exclusions and retention policy are owner decisions; self-hosting alone does not settle them. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)

## Dashboard and application procedure

### 1. Choose analytics model

**Where:** Umami and Matomo upstream docs

**Permissions:** Authorized xCloud read access to the named team and site; the relevant app or provider owner supplies records outside xCloud.

**Inputs:** Required metrics, data retention, database capacity

**Action:** Compare needed events, reporting access and backup requirements. Select one current xCloud template and document why it fits.

**Expected result:** A specific service and measurement owner.

**Verify:** Confirm app template availability and data/storage needs.

**If it fails:** If the selected template lacks required features, revisit choice before install.

Capability: Confirm requirements and inspect resources
Sources: [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Umami tracking setup](https://docs.umami.is/)

### 2. Deploy a separate service

**Where:** xCloud One-Click Apps and DNS

**Permissions:** Authorized xCloud site owner with dashboard rights for the exact setting, backup, staging or restore action and a reviewed target.

**Inputs:** Analytics hostname, Docker server, app template

**Action:** Install the chosen app on a compatible server, attach HTTPS and record its first-run URL for the authorized application owner. Keep WordPress unchanged.

**Expected result:** A reachable analytics admin page.

**Verify:** Check URL, certificate and app version.

**If it fails:** If Umami is the chosen dashboard-only template, do not claim MCP can install it.

Capability: Install a selected one-click app in xCloud dashboard
Sources: [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/); [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md)

### 3. Create the site property

**Where:** Analytics app administrator

**Permissions:** Authorized Analytics application administrator or delegated role with rights for this task; hosting access alone is insufficient.

**Inputs:** WordPress canonical domain, property name, access role

**Action:** Complete the selected app first administrator setup, add the WordPress website property and generate its tracker or tag. Limit report access to approved users.

**Expected result:** A property with a known site ID or tracking code.

**Verify:** Verify the tracker matches the production hostname.

**If it fails:** If the tracker points to staging, correct it before interpreting reports.

Capability: Configure Umami or Matomo in its own application UI
Sources: [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/)

### 4. Install and test tracker

**Where:** WordPress plugin/theme or tag manager; browser network view

**Permissions:** Authorized Analytics application administrator or delegated role with rights for this task; hosting access alone is insufficient.

**Inputs:** Tracking snippet, test page, consent state

**Action:** Add the selected tracker through an approved WordPress integration. Visit a public page with a consent state consistent with policy, then inspect network request and report.

**Expected result:** One controlled visit or event appears in the chosen property.

**Verify:** Compare request timestamp, hostname and analytics event count.

**If it fails:** If absent, check script loading, blocker/consent, property ID and service reachability separately.

Capability: Configure Umami or Matomo in its own application UI
Sources: [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/)

### 5. Set operations and retention

**Where:** Analytics admin and xCloud Docker Backup

**Permissions:** Authorized xCloud team/site operator with the discovered write scope for this exact operation and owner approval for its target and interruption.

**Inputs:** Internal traffic rule, data retention, database backup

**Action:** Decide exclusion of team traffic, report access, data deletion and backup scope. For Matomo include database/config/plugins; for Umami inspect its database and persistent paths.

**Expected result:** Reports with understood scope and recoverable data.

**Verify:** Repeat a test after filtering, and check completed backup.

**If it fails:** If analytics data cannot be restored or policy is unclear, keep reports labeled experimental.

Capability: Create and inspect Docker backups
Sources: [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [Umami tracking setup](https://docs.umami.is/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/)

## Maintenance

- Review this task after app or template updates and at the cadence agreed with the owner. Record failures as dated observations rather than assuming host health proves service health. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)
- Watch access changes, backup completion, free storage and external providers. Recheck integrations after credential, DNS, mail or source-data changes. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)

## Recovery decisions

- Before data recovery, identify incident time, completed backup, target and records created after the snapshot. Preserve current evidence and live data before replacement. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)
- Use the documented dashboard or application recovery procedure with the authorized owner. Repeat the task-specific limited-user check; reconcile newer records before reopening writes. Sources: [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md); [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [Umami tracking setup](https://docs.umami.is/); [Umami event tracking](https://docs.umami.is/docs/track-events); [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/); [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/); [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/); [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/); [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md); [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/)

## AI handoff

Connect an authorized xCloud MCP profile and discover its exact tools and team scope. The packaged REST wrapper is GET-only; use dashboard or app controls for undocumented writes.

### Supported scope

- **Confirm requirements and inspect resources** (mcp; read): Discover the connected profile and operation schema first; only teams granted to the connection are visible. Checkpoint: Confirm exact team, server and site identity. Use dashboard\_url returned by the resource; do not invent a dashboard link. Operation identifiers to discover: teams.index, servers.show, sites.show. Scopes: read:servers, read:sites. Sources: [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs); [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md)

### Copyable agent brief

```text
Read the authorized WordPress site, chosen analytics template and Docker server. Return a resource and hostname plan. Umami installation is dashboard-only; do not claim MCP adds a property, script or consent rule. Ask the app owner for observed visit data.
```

### Manual checkpoints

- Approve exact site, target, cost and any write or maintenance window after inspecting the proposed plan.
- An authorized Umami administrator must configure and test app users, content, integrations and business rules in the app.
- Native WordPress staging, backup schedule/settings, push/pull and all restores are dashboard-only; Docker restore is dashboard-only and replaces state.
- Reconcile data created after the chosen recovery point before any destructive restore.

## Feature coverage

- **analytics decision, evidence and task action** (covered): The procedure identifies the authorized task boundary and observable result. Steps: step-1, step-2, step-3, step-4
- **backup, ongoing operation and recovery** (covered): Recovery and maintenance are checked in the task procedure. Steps: step-4, step-5

## Sources

- [xCloud agent capability boundaries](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/reference/capability-map.md) — reviewed 2026-09-30; v4.4.2 package; xCloud v2.8.8 capability review
- [xCloud MCP documentation and connection profiles](https://app.xcloud.host/mcp/docs) — reviewed 2026-09-30
- [Umami tracking setup](https://docs.umami.is/) — reviewed 2026-09-30
- [Umami event tracking](https://docs.umami.is/docs/track-events) — reviewed 2026-09-30
- [Matomo tracking code for WordPress](https://matomo.org/faq/new-to-piwik/how-do-i-install-the-matomo-tracking-code-on-wordpress/) — reviewed 2026-09-30
- [Matomo application and data backup](https://matomo.org/faq/how-to-install/faq_138/) — reviewed 2026-09-30
- [Matomo report auto-archiving](https://matomo.org/faq/on-premise/how-to-set-up-auto-archiving-of-your-reports/) — reviewed 2026-09-30
- [Back up and restore Docker apps](https://xcloud.host/docs/backup-and-restore-docker-apps/) — reviewed 2026-09-30
- [Docker backup operations and storage constraints](https://github.com/xCloudDev/xcloud-agent-skills/blob/main/plugins/xcloud/skills/sites/reference/docker-backups.md) — reviewed 2026-09-30; v4.4.2
- [xCloud One Click Apps catalog](https://xcloud.host/one-click-apps/) — reviewed 2026-09-30

## Continue

[Explore all use cases](https://xcloud.host/use-cases/)

- [Back up and recover a Docker application](https://xcloud.host/use-cases/operations/docker-backup-and-recovery/)
