claude-plugin-wordpress-manager 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wordpress-manager",
3
- "version": "2.0.0",
4
- "description": "Unified WordPress management plugin for Claude Code. Orchestrates Hostinger MCP (infrastructure), WP REST API bridge (81 tools incl. WooCommerce + Multisite), and WordPress.com MCP (hosted sites) with 10 specialized agents, 27 skills, and security hooks. Includes CI/CD pipeline automation (GitHub Actions, GitLab CI, Bitbucket), WordPress Multisite network management (10 tools via WP-CLI), WooCommerce store management (30 tools), local dev environment support, development, testing, security, i18n, accessibility, headless, and operations.",
3
+ "version": "2.1.0",
4
+ "description": "Unified WordPress management plugin for Claude Code. Orchestrates Hostinger MCP (infrastructure), WP REST API bridge (81 tools incl. WooCommerce + Multisite), and WordPress.com MCP (hosted sites) with 11 specialized agents, 28 skills, and security hooks. Includes site monitoring (uptime, performance baseline, security scanning, content integrity, alerting), CI/CD pipeline automation (GitHub Actions, GitLab CI, Bitbucket), WordPress Multisite network management, WooCommerce store management, local dev environment support, development, testing, security, i18n, accessibility, headless, and operations.",
5
5
  "author": {
6
6
  "name": "vinmor",
7
7
  "email": "morreale.v@gmail.com"
@@ -23,7 +23,9 @@
23
23
  "multisite",
24
24
  "network",
25
25
  "ci-cd",
26
- "github-actions"
26
+ "github-actions",
27
+ "monitoring",
28
+ "uptime"
27
29
  ],
28
30
  "mcpServers": "./.mcp.json"
29
31
  }
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  All notable changes to the WordPress Manager plugin for Claude Code.
4
4
 
5
+ ## [2.1.0] - 2026-02-28
6
+
7
+ ### Added
8
+ - **WordPress monitoring support** — new skill and agent for ongoing site observability
9
+ - **New skill**: `wp-monitoring` with 6 reference files (uptime checks, performance baseline, security scanning, content integrity, alerting strategies, reporting templates)
10
+ - **New agent**: `wp-monitoring-agent` (color: teal) — read-only monitoring, health reports, anomaly detection, baseline comparison
11
+ - **Detection script**: `monitoring_inspect.mjs` — detects existing monitoring setup (uptime, performance, security, logging, content integrity)
12
+
13
+ ### Changed
14
+ - Router decision-tree.md upgraded to v8 with monitoring keywords and routing
15
+ - `wp-audit` skill: added monitoring cross-reference
16
+ - `wp-security-auditor` agent: added periodic scanning cross-reference to wp-monitoring
17
+ - `wp-performance-optimizer` agent: added trend tracking cross-reference to wp-monitoring
18
+ - `wp-site-manager` agent: added monitoring delegation row
19
+ - Plugin now has 11 agents and 28 skills
20
+
5
21
  ## [2.0.0] - 2026-02-28
6
22
 
7
23
  ### Added
@@ -0,0 +1,184 @@
1
+ ---
2
+ name: wp-monitoring-agent
3
+ color: teal
4
+ description: |
5
+ Use this agent when the user needs ongoing WordPress site monitoring — uptime checks, performance trend analysis, security scanning, content integrity verification, or generating health reports. This agent is read-only and does not modify the site.
6
+
7
+ <example>
8
+ Context: User wants to set up monitoring for their WordPress site.
9
+ user: "Set up monitoring for my opencactus.com site"
10
+ assistant: "I'll use the wp-monitoring-agent to establish a monitoring baseline and configure health checks."
11
+ <commentary>Monitoring setup requires running detection, establishing baselines, and configuring checks.</commentary>
12
+ </example>
13
+
14
+ <example>
15
+ Context: User wants a health report for their site.
16
+ user: "Give me a health report for my WordPress site"
17
+ assistant: "I'll use the wp-monitoring-agent to run uptime, performance, security, and content checks and generate a comprehensive report."
18
+ <commentary>Health reports combine data from multiple monitoring areas into a structured report.</commentary>
19
+ </example>
20
+
21
+ <example>
22
+ Context: User wants to track performance trends over time.
23
+ user: "Is my site getting slower? Can you check the performance trend?"
24
+ assistant: "I'll use the wp-monitoring-agent to analyze performance metrics and compare with the baseline."
25
+ <commentary>Performance trend analysis requires collecting current metrics and comparing with historical data.</commentary>
26
+ </example>
27
+ model: inherit
28
+ tools: Read, Grep, Glob, Bash, WebFetch, WebSearch
29
+ ---
30
+
31
+ # WordPress Monitoring Agent
32
+
33
+ You are a WordPress monitoring specialist. You perform comprehensive site health assessments across uptime, performance, security, and content integrity. You generate structured reports and surface anomalies. **You are read-only — you do not modify the site.**
34
+
35
+ ## Available Tools
36
+
37
+ ### WP REST Bridge (`mcp__wp-rest-bridge__*`)
38
+ - **Multi-site**: `get_active_site`, `list_sites` — identify target site
39
+ - **Content**: `list_content` — monitor content changes, detect unauthorized modifications
40
+ - **Plugins**: `list_plugins` — track plugin versions, detect outdated/vulnerable plugins
41
+ - **Users**: `list_users` — audit user accounts, detect anomalies
42
+ - **Comments**: `list_comments` — monitor spam levels and moderation queue
43
+ - **Media**: `list_media` — track media volume and integrity
44
+ - **Discovery**: `discover_content_types` — verify API health
45
+
46
+ ### Hostinger MCP (`mcp__hostinger-mcp__*`)
47
+ - **Hosting**: `hosting_listWebsites` — check hosting status and resources
48
+ - **DNS**: `DNS_getDNSRecordsV1` — verify DNS records and email auth (SPF, DKIM, DMARC)
49
+
50
+ ### External Tools
51
+ - **Bash**: Run health-check scripts, SSL checks, Lighthouse CLI, file integrity scans
52
+ - **WebFetch**: Fetch PageSpeed Insights, check external URLs, verify sitemap
53
+ - **WebSearch**: Research plugin CVEs, check vulnerability databases
54
+
55
+ ## Monitoring Procedures
56
+
57
+ ### Procedure 1: Detection — Assess Current Monitoring State
58
+
59
+ 1. Run the detection script:
60
+ ```bash
61
+ node skills/wp-monitoring/scripts/monitoring_inspect.mjs [--cwd=/path/to/project]
62
+ ```
63
+ 2. Review findings: which areas have existing monitoring, which have gaps
64
+ 3. Present summary of current monitoring coverage
65
+ 4. Recommend areas that need monitoring setup
66
+
67
+ ### Procedure 2: Baseline Establishment
68
+
69
+ Run a full assessment to create a monitoring baseline:
70
+
71
+ 1. **Uptime baseline**: Check HTTP response, SSL expiry, WP-Cron status
72
+ 2. **Performance baseline**: Run Lighthouse audit, record CWV, measure TTFB
73
+ 3. **Security baseline**: Verify core checksums, list plugins with versions, count admin users
74
+ 4. **Content baseline**: Count published posts/pages, record media count, check comments
75
+ 5. **Save baseline**: Record all metrics with timestamp for future comparison
76
+
77
+ ### Procedure 3: Uptime Check
78
+
79
+ 1. Verify HTTP status via Bash: `curl -sL -o /dev/null -w "%{http_code} %{time_total}s" <site-url>`
80
+ 2. Check SSL expiry: `openssl s_client` command
81
+ 3. Verify REST API: `discover_content_types` via WP REST Bridge
82
+ 4. Check WP-Cron: verify last execution timestamp
83
+ 5. Report with response times and any failures
84
+
85
+ ### Procedure 4: Performance Scan
86
+
87
+ 1. Run Lighthouse audit (if CLI available): `lighthouse <url> --output=json`
88
+ 2. Measure TTFB via Bash: `curl -sL -o /dev/null -w "%{time_starttransfer}"`
89
+ 3. Check PageSpeed Insights via WebFetch (if site is public)
90
+ 4. Count active plugins via `list_plugins` — flag if > 20
91
+ 5. Compare with baseline — flag regressions > 20%
92
+ 6. Report CWV values with trend arrows
93
+
94
+ ### Procedure 5: Security Scan
95
+
96
+ 1. List plugins via `list_plugins` — check for updates and known CVEs
97
+ 2. Count admin users via `list_users` — compare with baseline
98
+ 3. Check WordPress core version — flag if update available
99
+ 4. Verify file integrity (if SSH access): `wp core verify-checksums`
100
+ 5. Check DNS records: SPF, DKIM, DMARC via `DNS_getDNSRecordsV1`
101
+ 6. Check SSL configuration via Bash
102
+ 7. Report findings with severity classification
103
+
104
+ ### Procedure 6: Content Audit
105
+
106
+ 1. List recent content via `list_content` with `orderby: "modified"` — check for unexpected changes
107
+ 2. Check comments: `list_comments` with `status: "hold"` and `status: "spam"` — report queue size
108
+ 3. Verify sitemap via WebFetch: check HTTP status and URL count
109
+ 4. Check robots.txt via WebFetch: verify no unexpected rules
110
+ 5. Report content changes, spam levels, and SEO health
111
+
112
+ ## Report Generation
113
+
114
+ After completing relevant procedures, generate a report following the templates in `references/reporting-templates.md`:
115
+
116
+ ```
117
+ ## WordPress Health Report — [site-name]
118
+ **Date:** [date] | **Scope:** [full / uptime / performance / security / content]
119
+
120
+ ### Overall Status: [✅ Healthy / ⚠️ Degraded / ❌ Critical]
121
+
122
+ ### Summary
123
+ | Area | Status | Key Finding |
124
+ |------|--------|-------------|
125
+ | Uptime | [✅/⚠️/❌] | [brief note] |
126
+ | Performance | [✅/⚠️/❌] | [brief note] |
127
+ | Security | [✅/⚠️/❌] | [brief note] |
128
+ | Content | [✅/⚠️/❌] | [brief note] |
129
+
130
+ ### Findings (by Severity)
131
+
132
+ #### Critical
133
+ [findings or "None"]
134
+
135
+ #### High
136
+ [findings or "None"]
137
+
138
+ #### Medium
139
+ [findings or "None"]
140
+
141
+ #### Low / Info
142
+ [findings or "None"]
143
+
144
+ ### Trend vs Baseline
145
+ | Metric | Baseline | Current | Delta | Status |
146
+ |--------|----------|---------|-------|--------|
147
+ | TTFB | Xms | Xms | [+/-X%] | [✅/⚠️/❌] |
148
+ | LCP | X.Xs | X.Xs | [+/-X%] | [✅/⚠️/❌] |
149
+ | Active plugins | X | X | [+/-X] | [✅/⚠️] |
150
+ | Admin users | X | X | [+/-X] | [✅/⚠️] |
151
+
152
+ ### Recommendations (Priority Order)
153
+ 1. [Most urgent action]
154
+ 2. [Second priority]
155
+ 3. [Third priority]
156
+ ```
157
+
158
+ ## Safety Rules
159
+
160
+ - **NEVER modify any site data** — this agent is strictly read-only
161
+ - **NEVER deactivate plugins**, update WordPress, or change any configuration
162
+ - **NEVER expose credentials** or API tokens in reports
163
+ - **ALWAYS verify site identity** before running checks (confirm with user)
164
+ - **ALWAYS report anomalies** immediately — don't wait for the full report
165
+ - If an active security incident is detected, **immediately alert the user** and recommend delegation to `wp-security-auditor` + `wp-security-hardener`
166
+
167
+ ## Delegation
168
+
169
+ For issues found during monitoring:
170
+
171
+ | Issue Found | Delegate To |
172
+ |-------------|------------|
173
+ | Security vulnerability or incident | `wp-security-auditor` agent (assessment) → `wp-security-hardener` agent (remediation) |
174
+ | Performance degradation | `wp-performance-optimizer` agent |
175
+ | Content or SEO issues | `wp-content-strategist` agent |
176
+ | Plugin/deployment issues | `wp-deployment-engineer` agent |
177
+ | Infrastructure/hosting issues | `wp-site-manager` agent |
178
+
179
+ ## Related Skills
180
+
181
+ - **`wp-monitoring` skill** — monitoring strategies, reference files, and decision tree
182
+ - **`wp-audit` skill** — one-time comprehensive audit (security + performance + SEO)
183
+ - **`wp-security` skill** — security hardening procedures
184
+ - **`wp-performance` skill** — backend profiling and optimization
@@ -208,3 +208,4 @@ Use both tool sets together for a complete picture — WP REST Bridge tells you
208
208
 
209
209
  - **`wp-performance` skill** — backend profiling with WP-CLI doctor/profile, query optimization, database analysis
210
210
  - **`wp-audit` skill** — performance audit checklists and scoring framework
211
+ - **`wp-monitoring` skill** — for ongoing performance trend tracking and baseline comparison (via `wp-monitoring-agent`)
@@ -179,3 +179,4 @@ This checks wp-config constants, file permissions, .htaccess rules, and active s
179
179
 
180
180
  - **`wp-security` skill** — comprehensive hardening references (filesystem, headers, auth, API, incident response)
181
181
  - **`wp-audit` skill** — security/performance/SEO audit checklists and scoring
182
+ - **`wp-monitoring` skill** — for scheduled periodic security scans and trend tracking (via `wp-monitoring-agent`)
@@ -149,3 +149,4 @@ For domain-specific tasks, delegate to specialized agents:
149
149
  | WooCommerce store management | `wp-ecommerce-manager` | Products, orders, customers, coupons, analytics |
150
150
  | Multisite network management | `wp-site-manager` (this agent) | Sub-sites, network plugins, Super Admin — see section above |
151
151
  | CI/CD pipeline setup and troubleshooting | `wp-cicd-engineer` | GitHub Actions, GitLab CI, Bitbucket, quality gates |
152
+ | Site monitoring and health reports | `wp-monitoring-agent` | Uptime, performance trends, security scanning, content integrity |
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "claude-plugin-wordpress-manager",
3
- "version": "2.0.0",
4
- "description": "Unified WordPress management and development plugin for Claude Code. Orchestrates Hostinger MCP, WP REST API bridge (81 tools incl. 30 WooCommerce + 10 Multisite), and WordPress.com MCP with 27 skills, 10 agents, and security hooks. v2.0.0 adds CI/CD pipeline automation: GitHub Actions, GitLab CI, Bitbucket Pipelines, quality gates, deploy strategies, secrets management.",
3
+ "version": "2.1.0",
4
+ "description": "Unified WordPress management and development plugin for Claude Code. Orchestrates Hostinger MCP, WP REST API bridge (81 tools incl. 30 WooCommerce + 10 Multisite), and WordPress.com MCP with 28 skills, 11 agents, and security hooks. v2.1.0 adds site monitoring: uptime checks, performance baseline, security scanning, content integrity, alerting strategies, and reporting templates.",
5
5
  "author": {
6
6
  "name": "vinmor",
7
7
  "email": "morreale.v@gmail.com"
@@ -30,7 +30,10 @@
30
30
  "network",
31
31
  "ci-cd",
32
32
  "github-actions",
33
- "gitlab-ci"
33
+ "gitlab-ci",
34
+ "monitoring",
35
+ "uptime",
36
+ "health-check"
34
37
  ],
35
38
  "repository": {
36
39
  "type": "git",
@@ -1,4 +1,4 @@
1
- # Router decision tree (v7 — development + local environment + operations + multisite + CI/CD)
1
+ # Router decision tree (v8 — development + local environment + operations + multisite + CI/CD + monitoring)
2
2
 
3
3
  This routing guide covers WordPress **development**, **local environment**, and **operations** workflows.
4
4
 
@@ -14,7 +14,7 @@ Keywords that indicate **local environment**:
14
14
  local site, Studio, LocalWP, Local by Flywheel, wp-env, local WordPress, start site, stop site, create local site, local development, symlink plugin, local database, switch PHP version, localhost, local preview, detect environment, WASM, SQLite local
15
15
 
16
16
  Keywords that indicate **operations**:
17
- deploy, push to production, audit, security check, backup, restore, migrate, move site, create post, manage content, site status, check plugins, performance check, SEO audit, WooCommerce, prodotto, ordine, coupon, negozio, catalogo, inventario, vendite, carrello, multisite, network, sub-site, sub-sito, domain mapping, super admin, network activate
17
+ deploy, push to production, audit, security check, backup, restore, migrate, move site, create post, manage content, site status, check plugins, performance check, SEO audit, WooCommerce, prodotto, ordine, coupon, negozio, catalogo, inventario, vendite, carrello, multisite, network, sub-site, sub-sito, domain mapping, super admin, network activate, monitor, uptime, health report, trend, scansione periodica, alerting, performance baseline
18
18
 
19
19
  Keywords that indicate **development**:
20
20
  create block, block.json, theme.json, register_rest_route, plugin development, hooks, PHPStan, build, test, scaffold, i18n, translation, accessibility, a11y, headless, decoupled, WPGraphQL, CI, CD, pipeline, GitHub Actions, GitLab CI, deploy automatico, workflow, quality gate
@@ -92,6 +92,8 @@ Priority: `gutenberg` > `wp-core` > `wp-site` > `wp-block-theme` > `wp-block-plu
92
92
  → `wp-woocommerce` skill + `wp-ecommerce-manager` agent
93
93
  - **Multisite / network / sub-sites / domain mapping / super admin / network activate**
94
94
  → `wp-multisite` skill + `wp-site-manager` agent
95
+ - **Monitor / uptime / health report / trend / scansione periodica / alerting / performance baseline / ongoing checks**
96
+ → `wp-monitoring` skill + `wp-monitoring-agent` agent
95
97
 
96
98
  ## Step 2c: route by local environment intent (keywords)
97
99
 
@@ -117,3 +117,4 @@ Combine findings into a unified report with:
117
117
  ## Related skills
118
118
 
119
119
  - `wp-security` — Deep security hardening, filesystem permissions, HTTP headers, incident response procedures
120
+ - `wp-monitoring` — For ongoing monitoring (uptime, performance trends, security scanning, content integrity) beyond one-time audits
@@ -0,0 +1,121 @@
1
+ ---
2
+ name: wp-monitoring
3
+ description: This skill should be used when the user asks to "monitor my site", "set up
4
+ uptime checks", "performance baseline", "health report", "security scanning schedule",
5
+ "content integrity check", "alerting", "reporting", "trend analysis", "is my site up",
6
+ "site health over time", or mentions any form of ongoing WordPress monitoring and
7
+ observability. Orchestrates uptime, performance, security, and content monitoring.
8
+ version: 1.0.0
9
+ ---
10
+
11
+ # WordPress Monitoring Skill
12
+
13
+ ## Overview
14
+
15
+ Provides strategies and procedures for continuous WordPress monitoring across five areas: uptime, performance, security, content integrity, and alerting. Combines WP REST Bridge tools, hosting APIs, Bash scripts, and external services for comprehensive observability.
16
+
17
+ ## When to Use
18
+
19
+ - User wants ongoing site health monitoring (not a one-time audit)
20
+ - User asks about uptime checks, performance trends, or scheduled security scans
21
+ - User wants alerting when something goes wrong
22
+ - User needs a periodic health report
23
+ - User wants to track performance over time (baselines, trends)
24
+
25
+ ## Monitoring vs Audit
26
+
27
+ | Need | Skill |
28
+ |------|-------|
29
+ | One-time assessment | `wp-audit` |
30
+ | Ongoing monitoring | `wp-monitoring` (this skill) |
31
+ | Security hardening | `wp-security` |
32
+ | Performance optimization | `wp-performance` |
33
+
34
+ ## Decision Tree
35
+
36
+ 1. **What to monitor?**
37
+ - "uptime" / "is it up" / "response time" → Uptime checks (Section 1)
38
+ - "performance" / "speed trend" / "CWV over time" → Performance baseline (Section 2)
39
+ - "security scan" / "vulnerability check" / "malware" → Security scanning (Section 3)
40
+ - "content changed" / "broken links" / "spam" → Content integrity (Section 4)
41
+ - "alert me" / "notify" / "threshold" → Alerting strategies (Section 5)
42
+ - "report" / "weekly summary" / "dashboard" → Reporting templates (Section 6)
43
+ - "full monitoring" / "set up everything" → All sections, start with detection
44
+
45
+ 2. **Run detection first:**
46
+ ```bash
47
+ node skills/wp-monitoring/scripts/monitoring_inspect.mjs [--cwd=/path/to/project]
48
+ ```
49
+ This identifies existing monitoring setup and gaps.
50
+
51
+ ## Monitoring Areas
52
+
53
+ ### Section 1: Uptime Checks
54
+ See `references/uptime-checks.md`
55
+ - HTTP probe configuration
56
+ - SSL certificate expiry monitoring
57
+ - WP REST API health endpoint
58
+ - Cron job scheduling
59
+ - Response time thresholds
60
+
61
+ ### Section 2: Performance Baseline
62
+ See `references/performance-baseline.md`
63
+ - Core Web Vitals baseline capture
64
+ - Lighthouse CI scheduled runs
65
+ - TTFB trend tracking
66
+ - Database query performance
67
+ - Plugin impact over time
68
+
69
+ ### Section 3: Security Scanning
70
+ See `references/security-scanning.md`
71
+ - Plugin vulnerability checks (CVE database)
72
+ - File integrity monitoring
73
+ - User account anomaly detection
74
+ - Malware scanning
75
+ - WordPress core version tracking
76
+
77
+ ### Section 4: Content Integrity
78
+ See `references/content-integrity.md`
79
+ - Unauthorized content change detection
80
+ - Broken link checking
81
+ - Comment spam monitoring
82
+ - Media file integrity
83
+ - SEO health indicators
84
+
85
+ ### Section 5: Alerting Strategies
86
+ See `references/alerting-strategies.md`
87
+ - Severity thresholds and escalation
88
+ - Notification channels (email, Slack, webhook)
89
+ - Alert fatigue prevention
90
+ - On-call rotation patterns
91
+ - Incident response triggers
92
+
93
+ ### Section 6: Reporting Templates
94
+ See `references/reporting-templates.md`
95
+ - Daily health summary
96
+ - Weekly performance report
97
+ - Monthly security report
98
+ - Quarterly trend analysis
99
+ - Executive dashboard format
100
+
101
+ ## Reference Files
102
+
103
+ | File | Content |
104
+ |------|---------|
105
+ | `references/uptime-checks.md` | HTTP probe, SSL, health endpoints, cron |
106
+ | `references/performance-baseline.md` | CWV baseline, Lighthouse CI, TTFB trends |
107
+ | `references/security-scanning.md` | CVE checks, file integrity, malware scanning |
108
+ | `references/content-integrity.md` | Change detection, link checking, spam |
109
+ | `references/alerting-strategies.md` | Thresholds, escalation, notification channels |
110
+ | `references/reporting-templates.md` | Daily/weekly/monthly report templates |
111
+
112
+ ## Recommended Agent
113
+
114
+ **`wp-monitoring-agent`** — executes monitoring procedures, generates reports, and surfaces anomalies. Read-only: does not modify the site.
115
+
116
+ ## Related Skills
117
+
118
+ - **`wp-audit`** — one-time security/performance/SEO assessment (complements ongoing monitoring)
119
+ - **`wp-security`** — hardening procedures triggered by monitoring alerts
120
+ - **`wp-performance`** — optimization actions based on performance trends
121
+ - **`wp-cicd`** — CI/CD quality gates that complement monitoring (pre-deploy checks)
@@ -0,0 +1,205 @@
1
+ # Alerting Strategies
2
+
3
+ ## Severity Levels
4
+
5
+ | Level | Criteria | Response Time | Example |
6
+ |-------|----------|--------------|---------|
7
+ | **P0 — Critical** | Site down or data breach | Immediate (< 15 min) | HTTP 500, malware detected, admin account compromised |
8
+ | **P1 — High** | Major degradation | Within 1 hour | TTFB > 5s, SSL expires in < 7 days, plugin with critical CVE |
9
+ | **P2 — Medium** | Performance regression | Within 24 hours | CWV degradation > 20%, outdated plugins, spam spike |
10
+ | **P3 — Low** | Informational | Next maintenance window | Minor CWV change, new WordPress version, content audit findings |
11
+
12
+ ## Alert Threshold Configuration
13
+
14
+ ### Uptime Thresholds
15
+
16
+ ```yaml
17
+ uptime:
18
+ http_check:
19
+ warning: response_time > 3s
20
+ critical: response_time > 10s OR http_code != 200
21
+ consecutive_failures_before_alert: 3
22
+ ssl_expiry:
23
+ warning: days_remaining < 30
24
+ critical: days_remaining < 7
25
+ wp_cron:
26
+ warning: last_run > 30min
27
+ critical: last_run > 2h
28
+ ```
29
+
30
+ ### Performance Thresholds
31
+
32
+ ```yaml
33
+ performance:
34
+ lcp:
35
+ warning: value > 2500ms
36
+ critical: value > 4000ms
37
+ cls:
38
+ warning: value > 0.1
39
+ critical: value > 0.25
40
+ ttfb:
41
+ warning: value > 800ms
42
+ critical: value > 1800ms
43
+ lighthouse_score:
44
+ warning: score < 70
45
+ critical: score < 50
46
+ regression:
47
+ warning: delta > 20% from baseline
48
+ critical: delta > 50% from baseline
49
+ ```
50
+
51
+ ### Security Thresholds
52
+
53
+ ```yaml
54
+ security:
55
+ plugin_updates:
56
+ warning: outdated_count >= 3
57
+ critical: security_update_available == true
58
+ admin_accounts:
59
+ warning: count > baseline + 1
60
+ critical: unknown_admin_detected == true
61
+ file_integrity:
62
+ critical: core_files_modified == true
63
+ critical: php_in_uploads == true
64
+ malware_patterns:
65
+ critical: suspicious_code_detected == true
66
+ ```
67
+
68
+ ### Content Thresholds
69
+
70
+ ```yaml
71
+ content:
72
+ spam_comments:
73
+ warning: count_24h > 50
74
+ critical: count_24h > 200
75
+ broken_links:
76
+ warning: count > 5
77
+ critical: count > 20 OR homepage_links_broken == true
78
+ unauthorized_changes:
79
+ warning: modified_outside_hours == true
80
+ critical: admin_content_modified_by_unknown == true
81
+ ```
82
+
83
+ ## Notification Channels
84
+
85
+ ### Email Alerts
86
+
87
+ ```bash
88
+ #!/bin/bash
89
+ # send-alert.sh — Unified alert sender
90
+
91
+ SEVERITY="$1" # P0, P1, P2, P3
92
+ SUBJECT="$2"
93
+ BODY="$3"
94
+ ALERT_EMAIL="admin@example.com"
95
+
96
+ case "$SEVERITY" in
97
+ P0) PREFIX="🔴 CRITICAL" ;;
98
+ P1) PREFIX="🟠 HIGH" ;;
99
+ P2) PREFIX="🟡 MEDIUM" ;;
100
+ P3) PREFIX="🔵 INFO" ;;
101
+ esac
102
+
103
+ echo "$BODY" | mail -s "[$PREFIX] $SUBJECT" "$ALERT_EMAIL"
104
+ ```
105
+
106
+ ### Slack Webhook
107
+
108
+ ```bash
109
+ #!/bin/bash
110
+ # slack-alert.sh — Send alert to Slack channel
111
+
112
+ WEBHOOK_URL="$SLACK_WEBHOOK_URL"
113
+ SEVERITY="$1"
114
+ MESSAGE="$2"
115
+
116
+ case "$SEVERITY" in
117
+ P0) COLOR="#FF0000"; ICON=":red_circle:" ;;
118
+ P1) COLOR="#FF8C00"; ICON=":large_orange_circle:" ;;
119
+ P2) COLOR="#FFD700"; ICON=":large_yellow_circle:" ;;
120
+ P3) COLOR="#4169E1"; ICON=":large_blue_circle:" ;;
121
+ esac
122
+
123
+ curl -s -X POST "$WEBHOOK_URL" \
124
+ -H 'Content-type: application/json' \
125
+ -d "{
126
+ \"attachments\": [{
127
+ \"color\": \"$COLOR\",
128
+ \"text\": \"$ICON $MESSAGE\",
129
+ \"footer\": \"WordPress Monitor | $(date -u +%Y-%m-%dT%H:%M:%SZ)\"
130
+ }]
131
+ }"
132
+ ```
133
+
134
+ ### Generic Webhook
135
+
136
+ ```bash
137
+ #!/bin/bash
138
+ # webhook-alert.sh — Send alert to any webhook endpoint
139
+
140
+ WEBHOOK_URL="$1"
141
+ PAYLOAD=$(jq -n \
142
+ --arg severity "$2" \
143
+ --arg site "$3" \
144
+ --arg message "$4" \
145
+ --arg timestamp "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
146
+ '{severity: $severity, site: $site, message: $message, timestamp: $timestamp}')
147
+
148
+ curl -s -X POST "$WEBHOOK_URL" \
149
+ -H 'Content-type: application/json' \
150
+ -d "$PAYLOAD"
151
+ ```
152
+
153
+ ## Alert Fatigue Prevention
154
+
155
+ ### Deduplication
156
+
157
+ - **Same alert suppression**: Don't re-alert for the same issue within the cooldown period
158
+ - **Cooldown periods**: P0 = 5 min, P1 = 30 min, P2 = 4h, P3 = 24h
159
+ - **Recovery notification**: Send "resolved" when condition clears
160
+
161
+ ### Aggregation
162
+
163
+ - **Batch P3 alerts**: Collect low-priority alerts and send as a daily digest
164
+ - **Group related alerts**: If multiple plugins need updates, send one alert listing all
165
+ - **Threshold escalation**: If P2 persists for 24h without resolution, escalate to P1
166
+
167
+ ### Noise Reduction Rules
168
+
169
+ ```yaml
170
+ noise_reduction:
171
+ # Don't alert during known maintenance windows
172
+ maintenance_window:
173
+ day: sunday
174
+ start: "02:00"
175
+ end: "06:00"
176
+ suppress: [P2, P3]
177
+
178
+ # Ignore brief transient failures
179
+ consecutive_checks_required:
180
+ P0: 2 # Alert after 2 consecutive failures (10 min)
181
+ P1: 3 # Alert after 3 consecutive failures (15 min)
182
+
183
+ # Don't alert on performance during traffic spikes
184
+ suppress_performance_during_high_traffic: true
185
+ ```
186
+
187
+ ## Escalation Procedures
188
+
189
+ ### Escalation Matrix
190
+
191
+ | Time Since Alert | P0 Action | P1 Action |
192
+ |------------------|-----------|-----------|
193
+ | 0 min | Notify primary on-call + Slack channel | Notify primary on-call |
194
+ | 15 min | Escalate to secondary on-call | — |
195
+ | 30 min | Escalate to team lead + phone call | Escalate to secondary |
196
+ | 1 hour | Escalate to management | Escalate to team lead |
197
+
198
+ ### Incident Response Triggers
199
+
200
+ When monitoring detects a P0 condition, automatically:
201
+ 1. Create incident record with timestamp and evidence
202
+ 2. Notify on-call via all channels (email + Slack + webhook)
203
+ 3. Capture current state: `wp plugin list`, `wp core version`, server logs
204
+ 4. **Delegate to `wp-security-auditor`** for security incidents
205
+ 5. **Delegate to `wp-security-hardener`** for immediate containment (if compromised)