# SEO Matomo

Matomo Reporting API extension.

- Repository: https://github.com/AgriciDaniel/claude-seo (25484 stars)
- Category: Design
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add AgriciDaniel/claude-seo --skill seo-matomo -g -a claude-code -y`
Codex: `npx skills add AgriciDaniel/claude-seo --skill seo-matomo -g -a codex -y`
Cursor: `npx skills add AgriciDaniel/claude-seo --skill seo-matomo -g -a cursor -y`
Gemini CLI: `npx skills add AgriciDaniel/claude-seo --skill seo-matomo -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add AgriciDaniel/claude-seo`

## Description

Matomo Reporting API extension. Self-hosted or Matomo Cloud analytics as a GA4 alternative or complement. Organic traffic, landing pages, device / country breakdowns, referrers, search keywords. Triggers on "Matomo", "self-hosted analytics", "analytics ohne Google", "GA4 alternative", "Matomo Reporting", "Piwik".

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# seo-matomo

Self-hosted analytics surface. Use Matomo as a privacy-first GA4 alternative
when you own your analytics data, want zero Google dependency, or operate
behind a strict data-residency boundary. The same `seo-matomo` skill works
against Matomo Cloud and self-hosted instances.

## Prerequisites

- Run `extensions/matomo/install.sh` or `install.ps1`.
- A Matomo instance URL (https://analytics.example.com).
- A Matomo API `token_auth` with `view` access on the sites you analyze.
- (Optional) A default `idSite` to avoid passing `--site-id` on every call.

## Routing

| Command | Underlying script |
|---|---|
| `/seo matomo check` | `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run matomo_auth.py --check` |
| `/seo matomo organic [site-id]` | `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run matomo_report.py organic --site-id <id>` |
| `/seo matomo top-pages` | `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run matomo_report.py top-pages` |
| `/seo matomo device` | `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run matomo_report.py device` |
| `/seo matomo country` | `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run matomo_report.py country` |
| `/seo matomo referrers` | `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run matomo_report.py referrers` |
| `/seo matomo keywords` | `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run matomo_report.py keywords` |

All commands accept `--days` (default 28), `--limit`, `--site-id`, and
`--json`. The site ID falls back to `MATOMO_SITE_ID` from settings.

## When this skill applies

The rest: https://github.com/AgriciDaniel/claude-seo/blob/HEAD/extensions/matomo/skills/seo-matomo/SKILL.md
