claude-plugin-wordpress-manager 2.12.0 → 2.12.1
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.
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the WordPress Manager plugin for Claude Code.
|
|
4
4
|
|
|
5
|
+
## [2.12.1] — 2026-03-01
|
|
6
|
+
|
|
7
|
+
### Fixed — Critical MCP Tool Parameter Passing
|
|
8
|
+
|
|
9
|
+
**Server registration fix (affects ~60 tools)**
|
|
10
|
+
- Fixed `toZodType()` conversion in server.js: tools defined with JSON Schema properties (plain objects) instead of Zod `.shape` references were not receiving parameters from the MCP client
|
|
11
|
+
- Affected modules: GSC (8), Mailchimp (7), Buffer (5), SendGrid (6), Slack (3), CWV (4), Plausible (4), GA4 (6), LinkedIn (5), Twitter (5), Schema (3), WC-Webhooks (4), WC-Workflows (4)
|
|
12
|
+
- Original WordPress core (44) and WooCommerce (30) tools were unaffected (use Zod `.shape`)
|
|
13
|
+
|
|
14
|
+
**Schema tool fixes**
|
|
15
|
+
- Fixed import `makeRequest` → `makeWordPressRequest` in schema.js (prevented server startup)
|
|
16
|
+
- Fixed duplicated REST API path `wp/v2/wp/v2/posts` → `posts` in sd_list_schemas and sd_inject
|
|
17
|
+
|
|
18
|
+
**Documentation**
|
|
19
|
+
- Corrected tool count from 145 to 148 across GUIDE.md and package.json
|
|
20
|
+
- WordPress core: Plugins 6 (not 5), Users 6 (not 5), Media 5 (not 4), +Search (1)
|
|
21
|
+
|
|
22
|
+
### Validated end-to-end on opencactus.com
|
|
23
|
+
- `get_active_site`, `list_content`, `sd_validate` (markup + URL), `sd_list_schemas`
|
|
24
|
+
- GSC, Mailchimp tools return correct "not configured" errors
|
|
25
|
+
|
|
5
26
|
## [2.12.0] — 2026-03-01
|
|
6
27
|
|
|
7
28
|
### Added — Content Generation + Structured Data (Tier 7: Content Factory Completeness)
|
|
@@ -25,7 +46,7 @@ All notable changes to the WordPress Manager plugin for Claude Code.
|
|
|
25
46
|
- Router v18 (+2 categories: content generation, structured data)
|
|
26
47
|
- Updated wp-content-strategist agent with AI generation and schema procedures
|
|
27
48
|
|
|
28
|
-
**Stats:** 41 → 43 skills | 142 →
|
|
49
|
+
**Stats:** 41 → 43 skills | 142 → 148 MCP tools | Router v17 → v18
|
|
29
50
|
|
|
30
51
|
### WCOP Score
|
|
31
52
|
- Content Factory: 9/10 → 10/10 (AI generation + structured data)
|
package/docs/GUIDE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# WordPress Manager - Guida Completa per Utenti e Amministratori
|
|
2
2
|
|
|
3
|
-
**Versione:** 2.
|
|
3
|
+
**Versione:** 2.12.1
|
|
4
4
|
**Ultimo aggiornamento:** 2026-03-01
|
|
5
5
|
**Repository:** https://github.com/morrealev/wordpress-manager
|
|
6
6
|
|
|
@@ -69,6 +69,11 @@ WordPress Manager e un plugin per **Claude Code** (la CLI ufficiale di Anthropic
|
|
|
69
69
|
- **Analytics unificata**: GA4, Plausible e Core Web Vitals in un unico punto di accesso, con dashboard, trend e confronto pagine
|
|
70
70
|
- **Smart alerting**: routing alerting basato su severity (info→Slack webhook, warning→Slack Bot con thread, critical→Slack + email) via Slack e SendGrid
|
|
71
71
|
- **Workflow automatizzati**: trigger basati su schedule (cron), hook WordPress e lifecycle contenuti con azioni multi-canale (Slack, email, webhook)
|
|
72
|
+
- **Pubblicare su LinkedIn**: postare contenuti nel feed, articoli long-form, analytics engagement (impressions, click, reaction)
|
|
73
|
+
- **Pubblicare su Twitter/X**: tweet singoli, thread multi-tweet, metriche interazioni, gestione tweet
|
|
74
|
+
- **Auto-transform contenuti**: convertire automaticamente post WordPress in tweet, thread, post LinkedIn, articoli LinkedIn, email snippet con template per piattaforma
|
|
75
|
+
- **Generare contenuti AI**: pipeline 7 step (brief → keyword research → outline → draft → SEO optimize → structured data → publish) con template e pattern
|
|
76
|
+
- **Gestire dati strutturati**: validare, iniettare e auditare Schema.org/JSON-LD (Article, Product, FAQ, HowTo, LocalBusiness, Event, Organization, BreadcrumbList)
|
|
72
77
|
|
|
73
78
|
### Requisiti
|
|
74
79
|
|
|
@@ -92,7 +97,7 @@ WordPress Manager e un plugin per **Claude Code** (la CLI ufficiale di Anthropic
|
|
|
92
97
|
wordpress-manager plugin
|
|
93
98
|
/ | \
|
|
94
99
|
Hostinger MCP WP REST Bridge WordPress.com MCP
|
|
95
|
-
(119 tool) (
|
|
100
|
+
(119 tool) (148 tool) (~15 tool)
|
|
96
101
|
| | |
|
|
97
102
|
Infrastruttura Contenuti + Siti hosted
|
|
98
103
|
DNS, SSL, VPS Plugin, Utenti su WordPress.com
|
|
@@ -105,7 +110,7 @@ WordPress Manager e un plugin per **Claude Code** (la CLI ufficiale di Anthropic
|
|
|
105
110
|
### Componenti del Plugin
|
|
106
111
|
|
|
107
112
|
```
|
|
108
|
-
wordpress-manager/ # v2.
|
|
113
|
+
wordpress-manager/ # v2.12.1
|
|
109
114
|
+-- .claude-plugin/plugin.json # Manifest
|
|
110
115
|
+-- .mcp.json # Server MCP bundled
|
|
111
116
|
+-- LICENSE # MIT + GPL-2.0-or-later
|
|
@@ -113,7 +118,7 @@ wordpress-manager/ # v2.9.0
|
|
|
113
118
|
+-- agents/ # 12 agenti specializzati
|
|
114
119
|
| +-- wp-site-manager.md # Orchestratore centrale
|
|
115
120
|
| +-- wp-deployment-engineer.md # Specialista deploy
|
|
116
|
-
| +-- wp-content-strategist.md # Contenuti, SEO, GSC feedback, AI optimization
|
|
121
|
+
| +-- wp-content-strategist.md # Contenuti, SEO, GSC feedback, AI optimization, content generation, structured data
|
|
117
122
|
| +-- wp-security-auditor.md # Audit sicurezza (read-only)
|
|
118
123
|
| +-- wp-security-hardener.md # Hardening e incident response
|
|
119
124
|
| +-- wp-performance-optimizer.md # Performance e CWV
|
|
@@ -122,10 +127,10 @@ wordpress-manager/ # v2.9.0
|
|
|
122
127
|
| +-- wp-ecommerce-manager.md # WooCommerce store management (v1.8.0)
|
|
123
128
|
| +-- wp-cicd-engineer.md # CI/CD pipeline specialist (v2.0.0)
|
|
124
129
|
| +-- wp-monitoring-agent.md # Site monitoring read-only (v2.1.0)
|
|
125
|
-
| +-- wp-distribution-manager.md # Multi-channel distribution (v2.
|
|
130
|
+
| +-- wp-distribution-manager.md # Multi-channel distribution + LinkedIn + Twitter/X (v2.10.0)
|
|
126
131
|
+-- commands/ # 5 slash commands
|
|
127
132
|
| +-- wp-status.md / wp-deploy.md / wp-audit.md / wp-backup.md / wp-setup.md
|
|
128
|
-
+-- skills/ #
|
|
133
|
+
+-- skills/ # 43 skill totali
|
|
129
134
|
| +-- [OPERATIVE - 5 skill]
|
|
130
135
|
| +-- wp-deploy/ # Procedure deploy
|
|
131
136
|
| +-- wp-audit/ # Checklist audit
|
|
@@ -135,7 +140,7 @@ wordpress-manager/ # v2.9.0
|
|
|
135
140
|
| +-- [AMBIENTE LOCALE - 1 skill]
|
|
136
141
|
| +-- wp-local-env/ # Studio/LocalWP/wp-env
|
|
137
142
|
| +-- [SVILUPPO - 13 skill da WordPress/agent-skills]
|
|
138
|
-
| +-- wordpress-router/ # Router unificato
|
|
143
|
+
| +-- wordpress-router/ # Router unificato v18 (dev + local + ops + multisite + cicd + monitoring + webhooks + repurposing + pseo + attribution + multilang + distribution + gsc + content-optimization + analytics + alerting + workflows + linkedin + twitter + content-generation + structured-data)
|
|
139
144
|
| +-- wp-project-triage/ # Auto-detect tipo progetto
|
|
140
145
|
| +-- wp-block-development/ # Blocchi Gutenberg
|
|
141
146
|
| +-- wp-block-themes/ # Temi a blocchi
|
|
@@ -173,8 +178,13 @@ wordpress-manager/ # v2.9.0
|
|
|
173
178
|
| +-- wp-analytics/ # GA4, Plausible, Core Web Vitals unificati (v2.7.0)
|
|
174
179
|
| +-- wp-alerting/ # Smart alerting severity-based via Slack/SendGrid (v2.8.0)
|
|
175
180
|
| +-- wp-content-workflows/ # Workflow triggers (schedule, lifecycle, hooks) con azioni multi-canale (v2.9.0)
|
|
176
|
-
+--
|
|
177
|
-
| +--
|
|
181
|
+
| +-- [DISTRIBUZIONE DIRETTA + CONTENT FACTORY - 4 skill]
|
|
182
|
+
| +-- wp-linkedin/ # LinkedIn direct posting e analytics (v2.10.0)
|
|
183
|
+
| +-- wp-twitter/ # Twitter/X direct posting e thread (v2.10.0)
|
|
184
|
+
| +-- wp-structured-data/ # Schema.org/JSON-LD validation e injection (v2.12.1)
|
|
185
|
+
| +-- wp-content-generation/ # AI content generation pipeline (v2.12.1)
|
|
186
|
+
+-- hooks/ # 12 hook di sicurezza
|
|
187
|
+
| +-- hooks.json # 10 prompt + 2 command
|
|
178
188
|
| +-- scripts/ # Script per hook command-type
|
|
179
189
|
+-- scripts/ # Utility
|
|
180
190
|
+-- servers/wp-rest-bridge/ # MCP Server custom (TypeScript)
|
|
@@ -582,8 +592,8 @@ Il plugin include **12 agenti** organizzati per area di competenza. Alcuni agent
|
|
|
582
592
|
| Proprieta | Valore |
|
|
583
593
|
|-----------|--------|
|
|
584
594
|
| Colore | Magenta |
|
|
585
|
-
| Ruolo | Creazione contenuti, SEO, gestione editoriale, contenuti multilingue, GSC feedback, AI optimization |
|
|
586
|
-
| Attivazione | Creazione post, ottimizzazione SEO, gestione tassonomie, keyword tracking, content optimization |
|
|
595
|
+
| Ruolo | Creazione contenuti, SEO, gestione editoriale, contenuti multilingue, GSC feedback, AI optimization, content generation, structured data |
|
|
596
|
+
| Attivazione | Creazione post, ottimizzazione SEO, gestione tassonomie, keyword tracking, content optimization, genera contenuto, structured data, Schema.org |
|
|
587
597
|
|
|
588
598
|
**Ciclo di vita contenuti**:
|
|
589
599
|
```
|
|
@@ -609,7 +619,11 @@ IDEAZIONE -> BOZZA -> REVISIONE -> OTTIMIZZAZIONE -> PUBBLICAZIONE -> MONITORAGG
|
|
|
609
619
|
|
|
610
620
|
**AI Content Optimization** (v2.6.0): Pipeline AI-driven in 5 step per ottimizzazione contenuti: headline scoring → readability analysis (Flesch-Kincaid) → SEO scoring → meta optimization → content freshness check. Include bulk triage per analisi rapida di tutti i contenuti con classificazione Quick Wins / Maintain / Deep Review / Outdated. Usa la skill `wp-content-optimization`.
|
|
611
621
|
|
|
612
|
-
**
|
|
622
|
+
**AI Content Generation** (v2.12.1): Pipeline completa 7 step per generare contenuti da zero: brief → keyword research (GSC se disponibile) → outline (4 pattern: standard, tutorial, listicle, FAQ) → draft (calibrato sulla voce del sito) → SEO optimize → structured data injection → publish as draft. Procedure-based, usa tool MCP esistenti (`wp/v2`, `gsc_*`, `sd_*`). Usa la skill `wp-content-generation`.
|
|
623
|
+
|
|
624
|
+
**Structured Data Management** (v2.12.1): Gestione completa Schema.org/JSON-LD con 3 tool MCP dedicati: `sd_validate` (validazione markup via URL o inline), `sd_inject` (iniezione JSON-LD nei post), `sd_list_schemas` (audit sitewide). 8 tipi supportati: Article, Product, FAQ, HowTo, LocalBusiness, Event, Organization, BreadcrumbList. Usa la skill `wp-structured-data`.
|
|
625
|
+
|
|
626
|
+
**Skill correlata**: `wp-content`, `wp-i18n`, `wp-content-repurposing`, `wp-programmatic-seo`, `wp-search-console`, `wp-content-optimization`, `wp-content-generation`, `wp-structured-data`
|
|
613
627
|
|
|
614
628
|
---
|
|
615
629
|
|
|
@@ -860,27 +874,30 @@ Complementa `wp-security-auditor`: l'auditor **trova** i problemi, l'hardener **
|
|
|
860
874
|
| Proprieta | Valore |
|
|
861
875
|
|-----------|--------|
|
|
862
876
|
| Colore | Indigo |
|
|
863
|
-
| Ruolo | Distribuzione multi-canale contenuti su Mailchimp, Buffer e
|
|
864
|
-
| Attivazione | "Distribuisci il post", "invia newsletter", "programma social", "email campaign", "Buffer schedule" |
|
|
877
|
+
| Ruolo | Distribuzione multi-canale contenuti su Mailchimp, Buffer, SendGrid, LinkedIn e Twitter/X |
|
|
878
|
+
| Attivazione | "Distribuisci il post", "invia newsletter", "programma social", "email campaign", "Buffer schedule", "pubblica su LinkedIn", "pubblica tweet", "Twitter thread" |
|
|
865
879
|
|
|
866
|
-
**
|
|
880
|
+
**5 canali supportati**:
|
|
867
881
|
|
|
868
882
|
| Canale | Servizio | Tool prefix | Operazioni |
|
|
869
883
|
|--------|----------|-------------|-----------|
|
|
870
884
|
| Email Marketing | Mailchimp | `mc_*` | Liste, campagne, template, audience |
|
|
871
|
-
| Social
|
|
885
|
+
| Social Scheduling | Buffer | `buf_*` | Profili, post scheduling, analytics |
|
|
872
886
|
| Email Transazionale | SendGrid | `sg_*` | Template, invio, contatti, statistiche |
|
|
887
|
+
| LinkedIn Direct | LinkedIn API | `li_*` | Post feed, articoli long-form, analytics engagement (v2.10.0) |
|
|
888
|
+
| Twitter/X Direct | Twitter API v2 | `tw_*` | Tweet, thread, metriche, gestione tweet (v2.10.0) |
|
|
873
889
|
|
|
874
890
|
**Workflow distribuzione**:
|
|
875
891
|
1. Seleziona contenuto WordPress da distribuire (via `list_content`)
|
|
876
892
|
2. Detection con `distribution_inspect.mjs` (servizi configurati, credenziali)
|
|
877
893
|
3. Adatta contenuto per ogni canale (lunghezza, formato, CTA)
|
|
878
|
-
4.
|
|
879
|
-
5.
|
|
894
|
+
4. Auto-transform se disponibile: usa template pipeline per conversioni blog→tweet, blog→thread, blog→LinkedIn post (v2.11.0)
|
|
895
|
+
5. Programma o invia su canali selezionati
|
|
896
|
+
6. Report: conferma invio, link preview, metriche
|
|
880
897
|
|
|
881
|
-
**Prerequisiti**: Almeno un servizio configurato in `WP_SITES_CONFIG` (Mailchimp API key, Buffer access token,
|
|
898
|
+
**Prerequisiti**: Almeno un servizio configurato in `WP_SITES_CONFIG` (Mailchimp API key, Buffer access token, SendGrid API key, LinkedIn access token, o Twitter Bearer/OAuth tokens).
|
|
882
899
|
|
|
883
|
-
**Skill correlata**: `wp-social-email`
|
|
900
|
+
**Skill correlata**: `wp-social-email`, `wp-linkedin`, `wp-twitter`, `wp-content-repurposing`
|
|
884
901
|
|
|
885
902
|
---
|
|
886
903
|
|
|
@@ -906,7 +923,7 @@ Il `wp-site-manager` puo delegare a tutti i 12 agent specializzati:
|
|
|
906
923
|
| WooCommerce, e-commerce | `wp-ecommerce-manager` |
|
|
907
924
|
| CI/CD pipeline | `wp-cicd-engineer` |
|
|
908
925
|
| Site monitoring e health reports | `wp-monitoring-agent` |
|
|
909
|
-
| Distribuzione social/email | `wp-distribution-manager` |
|
|
926
|
+
| Distribuzione social/email, LinkedIn, Twitter | `wp-distribution-manager` |
|
|
910
927
|
|
|
911
928
|
---
|
|
912
929
|
|
|
@@ -948,10 +965,11 @@ Le skill di sviluppo provengono da due fonti:
|
|
|
948
965
|
- **3 skill strategia + SEO internazionale** (MIT) aggiunte in v2.3.0: Programmatic SEO, Content-Commerce Attribution, Multi-Language Network.
|
|
949
966
|
- **3 skill distribuzione + SEO avanzato** (MIT) aggiunte in v2.4.0-v2.6.0: Social/Email Distribution, Google Search Console, AI Content Optimization.
|
|
950
967
|
- **3 skill analytics + alerting + automazione** (MIT) aggiunte in v2.7.0-v2.9.0: Analytics (GA4/Plausible/CWV), Smart Alerting (Slack/SendGrid severity routing), Automated Workflows (triggers + multi-channel actions).
|
|
968
|
+
- **4 skill distribuzione diretta + content factory** (MIT) aggiunte in v2.10.0-v2.12.1: LinkedIn Direct (posting + analytics), Twitter/X Direct (tweet + thread + metriche), Structured Data (Schema.org/JSON-LD), AI Content Generation (pipeline 7-step).
|
|
951
969
|
|
|
952
970
|
### Il Router Unificato
|
|
953
971
|
|
|
954
|
-
La skill `wordpress-router` (
|
|
972
|
+
La skill `wordpress-router` (v18) e il punto d'ingresso per tutti i task WordPress. Classifica automaticamente il task in **ventuno categorie**: sviluppo, ambiente locale, operativo, multisite, CI/CD, monitoring, content repurposing, webhook, programmatic SEO, content attribution, multi-language network, social/email distribution, search console, content optimization, analytics, alerting, content workflows, LinkedIn, Twitter/X, content generation, structured data.
|
|
955
973
|
|
|
956
974
|
```
|
|
957
975
|
Utente: "Crea un blocco custom per la gallery"
|
|
@@ -1166,7 +1184,7 @@ Aggiunte in v2.4.0-v2.6.0, queste skill coprono distribuzione multi-canale, Goog
|
|
|
1166
1184
|
|
|
1167
1185
|
### Panoramica Skills Analytics + Alerting + Automazione (3)
|
|
1168
1186
|
|
|
1169
|
-
Aggiunte in v2.7.0-v2.9.0, queste skill completano il WCOP (WordPress Content Operations Pipeline)
|
|
1187
|
+
Aggiunte in v2.7.0-v2.9.0, queste skill completano il layer Observability + Automation del WCOP (WordPress Content Operations Pipeline).
|
|
1170
1188
|
|
|
1171
1189
|
| Skill | Si attiva quando... | Risorse | Agent dedicato |
|
|
1172
1190
|
|-------|---------------------|---------|----------------|
|
|
@@ -1174,9 +1192,20 @@ Aggiunte in v2.7.0-v2.9.0, queste skill completano il WCOP (WordPress Content Op
|
|
|
1174
1192
|
| `wp-alerting` | "alert Slack", "notifica critiche", "severity routing", "escalation", "alert email" | 4 reference files, alerting_inspect.mjs | `wp-monitoring-agent` |
|
|
1175
1193
|
| `wp-content-workflows` | "crea trigger", "workflow cron", "content lifecycle", "automatizza notifiche", "trigger schedule" | 5 reference files, workflow_inspect.mjs | `wp-site-manager` |
|
|
1176
1194
|
|
|
1195
|
+
### Panoramica Skills Distribuzione Diretta + Content Factory (4)
|
|
1196
|
+
|
|
1197
|
+
Aggiunte in v2.10.0-v2.12.1, queste skill completano il WCOP portando il punteggio totale da 8.8/10 a 9.2/10 (Distribution 9/10, Content Factory 10/10).
|
|
1198
|
+
|
|
1199
|
+
| Skill | Si attiva quando... | Risorse | Agent dedicato |
|
|
1200
|
+
|-------|---------------------|---------|----------------|
|
|
1201
|
+
| `wp-linkedin` | "pubblica su LinkedIn", "LinkedIn post", "LinkedIn article", "B2B social", "LinkedIn analytics" | 3 reference files, linkedin_inspect.mjs | `wp-distribution-manager` |
|
|
1202
|
+
| `wp-twitter` | "pubblica tweet", "Twitter thread", "tweet analytics", "Twitter/X", "crea thread" | 3 reference files, twitter_inspect.mjs | `wp-distribution-manager` |
|
|
1203
|
+
| `wp-structured-data` | "structured data", "Schema.org", "JSON-LD", "rich snippet", "dati strutturati", "FAQ schema" | 3 reference files, schema_inspect.mjs | `wp-content-strategist` |
|
|
1204
|
+
| `wp-content-generation` | "genera contenuto", "scrivi post AI", "content brief", "crea articolo", "draft post" | 3 reference files, content_gen_inspect.mjs | `wp-content-strategist` |
|
|
1205
|
+
|
|
1177
1206
|
### Script di Rilevamento Automatico
|
|
1178
1207
|
|
|
1179
|
-
Le skill includono
|
|
1208
|
+
Le skill includono 31 script Node.js (`.mjs`) che eseguono analisi automatica del progetto:
|
|
1180
1209
|
|
|
1181
1210
|
| Script | Cosa rileva |
|
|
1182
1211
|
|--------|-------------|
|
|
@@ -1207,6 +1236,10 @@ Le skill includono 27 script Node.js (`.mjs`) che eseguono analisi automatica de
|
|
|
1207
1236
|
| `analytics_inspect.mjs` | GA4 property ID, Plausible config, Google API key, analytics setup (v2.7.0) |
|
|
1208
1237
|
| `alerting_inspect.mjs` | Slack webhook/bot token, SendGrid config, monitoring setup, alert readiness (v2.8.0) |
|
|
1209
1238
|
| `workflow_inspect.mjs` | Action channel config, automation plugins, custom REST endpoints, WP-Cron, webhook config (v2.9.0) |
|
|
1239
|
+
| `linkedin_inspect.mjs` | LinkedIn access token, profile info, API connectivity (v2.10.0) |
|
|
1240
|
+
| `twitter_inspect.mjs` | Twitter Bearer token, OAuth tokens, API v2 connectivity (v2.10.0) |
|
|
1241
|
+
| `schema_inspect.mjs` | SEO plugins (Yoast, Rank Math), existing JSON-LD in theme, Schema Pro (v2.12.1) |
|
|
1242
|
+
| `content_gen_inspect.mjs` | REST access, GSC credentials, pipeline step availability (v2.12.1) |
|
|
1210
1243
|
|
|
1211
1244
|
### WordPress Playground — Ambienti Disposable
|
|
1212
1245
|
|
|
@@ -1241,7 +1274,7 @@ Senza il server MCP, la skill usa conoscenza generale di `@wordpress/components`
|
|
|
1241
1274
|
```
|
|
1242
1275
|
1. cd mio-progetto-wordpress/
|
|
1243
1276
|
2. Claude esegue wp-project-triage → rileva "wp-block-plugin"
|
|
1244
|
-
3. wordpress-router
|
|
1277
|
+
3. wordpress-router v18 → instrada a wp-block-development
|
|
1245
1278
|
4. Claude guida la creazione con block.json, edit.js, save.js
|
|
1246
1279
|
5. wp-e2e-testing + wp-test-engineer → esegue test E2E con Playwright
|
|
1247
1280
|
6. wp-accessibility + wp-accessibility-auditor → verifica WCAG 2.2
|
|
@@ -1323,6 +1356,8 @@ Questi hook chiedono a Claude di valutare se l'operazione e stata esplicitamente
|
|
|
1323
1356
|
| 6 | Invio campagna Mailchimp | `mc_send_campaign` | Conferma prima di inviare una campagna email (azione irreversibile verso tutti i destinatari) |
|
|
1324
1357
|
| 7 | Invio email SendGrid | `sg_send_email` | Conferma prima di inviare email transazionali (azione irreversibile) |
|
|
1325
1358
|
| 8 | Eliminazione workflow trigger | `wf_delete_trigger` | Conferma prima di eliminare un trigger di automazione (ferma tutte le notifiche e azioni associate) |
|
|
1359
|
+
| 9 | Eliminazione tweet | `tw_delete_tweet` | Conferma prima di eliminare un tweet (azione irreversibile) |
|
|
1360
|
+
| 10 | Pubblicazione articolo LinkedIn | `li_create_article` | Conferma prima di pubblicare un articolo long-form su LinkedIn (visibile pubblicamente) |
|
|
1326
1361
|
|
|
1327
1362
|
### Hook Command-Based (Validazione Script)
|
|
1328
1363
|
|
|
@@ -1379,19 +1414,20 @@ MCP (Model Context Protocol) e il protocollo che permette a Claude di comunicare
|
|
|
1379
1414
|
| Sorgente | Custom TypeScript server in `servers/wp-rest-bridge/` |
|
|
1380
1415
|
| Trasporto | stdio (JSON-RPC via stdin/stdout) |
|
|
1381
1416
|
| Autenticazione | `WP_SITES_CONFIG` JSON env var |
|
|
1382
|
-
| Tool disponibili |
|
|
1417
|
+
| Tool disponibili | 148 (44 WordPress + 34 WooCommerce + 10 Multisite + 18 Distribution + 8 GSC + 14 Analytics + 3 Alerting + 4 Workflows + 5 LinkedIn + 5 Twitter + 3 Schema) |
|
|
1383
1418
|
|
|
1384
1419
|
**Categorie tool WordPress** (`wp/v2`):
|
|
1385
1420
|
|
|
1386
1421
|
| Categoria | Tool | Esempio |
|
|
1387
1422
|
|-----------|------|---------|
|
|
1388
1423
|
| Multi-site | 3 | `switch_site`, `list_sites`, `get_active_site` |
|
|
1389
|
-
| Content | 8 | `list_content`, `create_content`, `find_content_by_url` |
|
|
1390
|
-
| Taxonomies | 8 | `list_terms`, `create_term`, `assign_terms_to_content` |
|
|
1391
|
-
| Plugins |
|
|
1392
|
-
| Users |
|
|
1393
|
-
| Comments | 5 | `list_comments`, `create_comment`, `delete_comment` |
|
|
1394
|
-
| Media |
|
|
1424
|
+
| Content | 8 | `list_content`, `get_content`, `create_content`, `find_content_by_url` |
|
|
1425
|
+
| Taxonomies | 8 | `list_terms`, `get_term`, `create_term`, `assign_terms_to_content` |
|
|
1426
|
+
| Plugins | 6 | `list_plugins`, `get_plugin`, `activate_plugin`, `deactivate_plugin`, `create_plugin`, `delete_plugin` |
|
|
1427
|
+
| Users | 6 | `list_users`, `get_user`, `get_me`, `create_user`, `update_user`, `delete_user` |
|
|
1428
|
+
| Comments | 5 | `list_comments`, `get_comment`, `create_comment`, `update_comment`, `delete_comment` |
|
|
1429
|
+
| Media | 5 | `list_media`, `get_media`, `create_media`, `edit_media`, `delete_media` |
|
|
1430
|
+
| Search | 1 | `wp_search` |
|
|
1395
1431
|
| WP.org | 2 | `search_plugin_repository`, `get_plugin_details` |
|
|
1396
1432
|
|
|
1397
1433
|
**Categorie tool WooCommerce** (`wc/v3`, richiede Consumer Key/Secret):
|
|
@@ -1451,6 +1487,32 @@ MCP (Model Context Protocol) e il protocollo che permette a Claude di comunicare
|
|
|
1451
1487
|
|-----------|------|---------|
|
|
1452
1488
|
| Trigger Management | 4 | `wf_list_triggers`, `wf_create_trigger`, `wf_update_trigger`, `wf_delete_trigger` |
|
|
1453
1489
|
|
|
1490
|
+
**Categorie tool LinkedIn** (`li_` prefix, richiede LinkedIn Access Token):
|
|
1491
|
+
|
|
1492
|
+
| Categoria | Tool | Esempio |
|
|
1493
|
+
|-----------|------|---------|
|
|
1494
|
+
| Profile | 1 | `li_get_profile` |
|
|
1495
|
+
| Publishing | 2 | `li_create_post` (feed post), `li_create_article` (long-form article) |
|
|
1496
|
+
| Analytics | 1 | `li_get_analytics` (impressions, clicks, engagement rate) |
|
|
1497
|
+
| Listing | 1 | `li_list_posts` (recent user posts) |
|
|
1498
|
+
|
|
1499
|
+
**Categorie tool Twitter/X** (`tw_` prefix, richiede Twitter Bearer Token + OAuth):
|
|
1500
|
+
|
|
1501
|
+
| Categoria | Tool | Esempio |
|
|
1502
|
+
|-----------|------|---------|
|
|
1503
|
+
| Publishing | 2 | `tw_create_tweet` (single tweet), `tw_create_thread` (connected thread) |
|
|
1504
|
+
| Analytics | 1 | `tw_get_metrics` (impressions, likes, retweets, quotes) |
|
|
1505
|
+
| Listing | 1 | `tw_list_tweets` (recent user tweets) |
|
|
1506
|
+
| Management | 1 | `tw_delete_tweet` |
|
|
1507
|
+
|
|
1508
|
+
**Categorie tool Structured Data** (`sd_` prefix, usa WordPress REST API):
|
|
1509
|
+
|
|
1510
|
+
| Categoria | Tool | Esempio |
|
|
1511
|
+
|-----------|------|---------|
|
|
1512
|
+
| Validation | 1 | `sd_validate` (URL fetch + inline markup, controlla @context/@type) |
|
|
1513
|
+
| Injection | 1 | `sd_inject` (build JSON-LD, store in post meta `_schema_json_ld`) |
|
|
1514
|
+
| Audit | 1 | `sd_list_schemas` (scan sitewide, count per @type) |
|
|
1515
|
+
|
|
1454
1516
|
**Architettura multi-sito**: Il server mantiene una `Map<siteId, AxiosInstance>` dove ogni sito ha la propria istanza HTTP autenticata. Il cambio sito e istantaneo.
|
|
1455
1517
|
|
|
1456
1518
|
#### WordPress.com MCP
|
|
@@ -1934,6 +1996,67 @@ Claude (attiva wp-site-manager + skill wp-content-workflows):
|
|
|
1934
1996
|
-> Report: 2 trigger configurati, Slack + email, prossima esecuzione cron
|
|
1935
1997
|
```
|
|
1936
1998
|
|
|
1999
|
+
### Scenario 29: Pubblicare su LinkedIn dal Blog
|
|
2000
|
+
|
|
2001
|
+
```
|
|
2002
|
+
Tu: "Pubblica l'ultimo post del blog su LinkedIn come post nel feed"
|
|
2003
|
+
|
|
2004
|
+
Claude (attiva wp-distribution-manager + skill wp-linkedin):
|
|
2005
|
+
1. Detection con linkedin_inspect.mjs (access token configurato?)
|
|
2006
|
+
2. Seleziona ultimo post via list_content
|
|
2007
|
+
3. Estrae headline, key points, URL del post
|
|
2008
|
+
4. Genera post LinkedIn (max 1300 char): hook + 3 insight + CTA + link
|
|
2009
|
+
5. Pubblica con li_create_post
|
|
2010
|
+
6. Recupera analytics con li_get_analytics (impressions, click, engagement)
|
|
2011
|
+
-> Report: post pubblicato, link al post LinkedIn, metriche iniziali
|
|
2012
|
+
```
|
|
2013
|
+
|
|
2014
|
+
### Scenario 30: Thread Twitter/X dal Blog
|
|
2015
|
+
|
|
2016
|
+
```
|
|
2017
|
+
Tu: "Crea un thread Twitter dal mio ultimo articolo sul fico d'India"
|
|
2018
|
+
|
|
2019
|
+
Claude (attiva wp-distribution-manager + skill wp-twitter):
|
|
2020
|
+
1. Detection con twitter_inspect.mjs (OAuth tokens configurati?)
|
|
2021
|
+
2. Seleziona post via list_content (filtro keyword)
|
|
2022
|
+
3. Estrae headline, H2 sections, key facts
|
|
2023
|
+
4. Genera thread: hook tweet (280 char) + 3-5 tweet di contenuto (uno per H2) + CTA finale
|
|
2024
|
+
5. Pubblica con tw_create_thread (connected tweets)
|
|
2025
|
+
6. Recupera metriche con tw_get_metrics (impressions, like, retweet)
|
|
2026
|
+
-> Report: thread pubblicato (N tweet), link al primo tweet, metriche
|
|
2027
|
+
```
|
|
2028
|
+
|
|
2029
|
+
### Scenario 31: Generare Contenuto AI da Zero
|
|
2030
|
+
|
|
2031
|
+
```
|
|
2032
|
+
Tu: "Scrivi un articolo sui benefici dell'acqua di cactus per l'idratazione"
|
|
2033
|
+
|
|
2034
|
+
Claude (attiva wp-content-strategist + skill wp-content-generation):
|
|
2035
|
+
1. Brief: topic = acqua di cactus, audience = consumatori health-conscious, goal = informare, 1200-1500 parole
|
|
2036
|
+
2. Keyword research: se GSC disponibile, gsc_query_analytics per keyword correlate; altrimenti suggerisce keyword semantiche
|
|
2037
|
+
3. Outline: pattern "Standard Article" — intro + 4 H2 (benefici, scienza, vs alternative, come usare) + conclusione
|
|
2038
|
+
4. Draft: scrive contenuto calibrato sulla voce del sito (analizza ultimi 5 post per tono)
|
|
2039
|
+
5. SEO optimize: keyword in title/first paragraph/H2s, meta description, 2-3 internal links
|
|
2040
|
+
6. Structured data: auto-detect Article schema, inject con sd_inject
|
|
2041
|
+
7. Pubblica come bozza via create_content, presenta per revisione
|
|
2042
|
+
-> Output: articolo completo con SEO + schema, pronto per approvazione
|
|
2043
|
+
```
|
|
2044
|
+
|
|
2045
|
+
### Scenario 32: Audit e Injection Dati Strutturati
|
|
2046
|
+
|
|
2047
|
+
```
|
|
2048
|
+
Tu: "Controlla quali pagine hanno dati strutturati e aggiungi FAQ schema ai post con domande"
|
|
2049
|
+
|
|
2050
|
+
Claude (attiva wp-content-strategist + skill wp-structured-data):
|
|
2051
|
+
1. Audit esistente: sd_list_schemas per vedere tipi presenti (Article su 12 post, nessun FAQ)
|
|
2052
|
+
2. Validazione: sd_validate su homepage e top 5 pagine per verificare markup corretto
|
|
2053
|
+
3. Scan FAQ: list_content + analisi corpo per identificare pattern Q&A (H3 con "?")
|
|
2054
|
+
4. Per ogni post con FAQ: genera FAQPage schema con mainEntity array
|
|
2055
|
+
5. Injection: sd_inject per iniettare JSON-LD nei post identificati
|
|
2056
|
+
6. Verifica: sd_validate su pagine modificate per confermare validita
|
|
2057
|
+
-> Report: N post con FAQ schema aggiunto, validazione completata, prossimi step
|
|
2058
|
+
```
|
|
2059
|
+
|
|
1937
2060
|
---
|
|
1938
2061
|
|
|
1939
2062
|
## 14. Amministrazione Avanzata
|
|
@@ -2240,6 +2363,6 @@ bash ~/.claude/plugins/local/wordpress-manager/scripts/validate-wp-operation.sh
|
|
|
2240
2363
|
|
|
2241
2364
|
---
|
|
2242
2365
|
|
|
2243
|
-
*Guida v2.
|
|
2366
|
+
*Guida v2.12.1 — WordPress Manager Plugin per Claude Code*
|
|
2244
2367
|
*Ultimo aggiornamento: 2026-03-01*
|
|
2245
2368
|
*WCOP Score: 8.8/10 (Tier 4+5 complete)*
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-plugin-wordpress-manager",
|
|
3
|
-
"version": "2.12.
|
|
4
|
-
"description": "Unified WordPress management and development plugin for Claude Code. Orchestrates Hostinger MCP, WP REST API bridge (
|
|
3
|
+
"version": "2.12.1",
|
|
4
|
+
"description": "Unified WordPress management and development plugin for Claude Code. Orchestrates Hostinger MCP, WP REST API bridge (148 tools incl. 30 WooCommerce + 10 Multisite + 4 Webhooks + 7 Mailchimp + 5 Buffer + 6 SendGrid + 8 GSC + 6 GA4 + 4 Plausible + 4 CWV + 3 Slack + 4 Workflows + 5 LinkedIn + 5 Twitter + 3 Schema), and WordPress.com MCP with 43 skills, 12 agents, and security hooks. v2.12.0 completes WCOP Tier 6+7 with content generation + structured data.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "vinmor",
|
|
7
7
|
"email": "morreale.v@gmail.com"
|
|
@@ -30,6 +30,25 @@ server.tool('get_active_site', {}, async () => {
|
|
|
30
30
|
const { getActiveSite } = await import('./wordpress.js');
|
|
31
31
|
return { content: [{ type: 'text', text: getActiveSite() }] };
|
|
32
32
|
});
|
|
33
|
+
// Convert a JSON Schema property to a Zod type, or return as-is if already Zod
|
|
34
|
+
function toZodType(prop, isRequired) {
|
|
35
|
+
if (prop instanceof z.ZodType)
|
|
36
|
+
return prop;
|
|
37
|
+
let zodType;
|
|
38
|
+
switch (prop.type) {
|
|
39
|
+
case 'string': zodType = z.string(); break;
|
|
40
|
+
case 'number': case 'integer': zodType = z.number(); break;
|
|
41
|
+
case 'boolean': zodType = z.boolean(); break;
|
|
42
|
+
case 'array': zodType = z.array(z.any()); break;
|
|
43
|
+
case 'object': zodType = z.record(z.any()); break;
|
|
44
|
+
default: zodType = z.any();
|
|
45
|
+
}
|
|
46
|
+
if (prop.description)
|
|
47
|
+
zodType = zodType.describe(prop.description);
|
|
48
|
+
if (!isRequired)
|
|
49
|
+
zodType = zodType.optional();
|
|
50
|
+
return zodType;
|
|
51
|
+
}
|
|
33
52
|
// Register all WordPress content tools from the ported modules
|
|
34
53
|
for (const tool of allTools) {
|
|
35
54
|
const handler = toolHandlers[tool.name];
|
|
@@ -45,8 +64,13 @@ for (const tool of allTools) {
|
|
|
45
64
|
isError: result.toolResult.isError,
|
|
46
65
|
};
|
|
47
66
|
};
|
|
48
|
-
const
|
|
49
|
-
|
|
67
|
+
const props = tool.inputSchema.properties || {};
|
|
68
|
+
const required = tool.inputSchema.required || [];
|
|
69
|
+
const zodShape = {};
|
|
70
|
+
for (const [key, prop] of Object.entries(props)) {
|
|
71
|
+
zodShape[key] = toZodType(prop, required.includes(key));
|
|
72
|
+
}
|
|
73
|
+
server.tool(tool.name, zodShape, wrappedHandler);
|
|
50
74
|
}
|
|
51
75
|
async function main() {
|
|
52
76
|
const { logToStderr, initWordPress } = await import('./wordpress.js');
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { makeWordPressRequest, getActiveSite } from '../wordpress.js';
|
|
2
2
|
import axios from 'axios';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
@@ -121,7 +121,7 @@ export const schemaHandlers = {
|
|
|
121
121
|
...schema_data,
|
|
122
122
|
});
|
|
123
123
|
// Store JSON-LD in post meta via WordPress REST API
|
|
124
|
-
const response = await
|
|
124
|
+
const response = await makeWordPressRequest('POST', `posts/${post_id}`, {
|
|
125
125
|
meta: { _schema_json_ld: jsonLd },
|
|
126
126
|
});
|
|
127
127
|
return { toolResult: { content: [{ type: "text", text: JSON.stringify({ success: true, post_id, schema_type, stored: true }, null, 2) }] } };
|
|
@@ -135,7 +135,7 @@ export const schemaHandlers = {
|
|
|
135
135
|
try {
|
|
136
136
|
const { schema_type } = params;
|
|
137
137
|
// Fetch recent posts and check for JSON-LD in meta
|
|
138
|
-
const posts = await
|
|
138
|
+
const posts = await makeWordPressRequest('GET', 'posts', { per_page: 100, _fields: 'id,title,meta' });
|
|
139
139
|
const schemas = {};
|
|
140
140
|
for (const post of posts) {
|
|
141
141
|
const meta = post.meta?._schema_json_ld;
|