claude-plugin-wordpress-manager 2.13.0 → 2.14.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.
- package/CHANGELOG.md +43 -6
- package/agents/wp-accessibility-auditor.md +1 -1
- package/agents/wp-content-strategist.md +2 -2
- package/agents/wp-deployment-engineer.md +1 -1
- package/agents/wp-distribution-manager.md +1 -1
- package/agents/wp-monitoring-agent.md +1 -1
- package/agents/wp-performance-optimizer.md +1 -1
- package/agents/wp-security-auditor.md +1 -1
- package/agents/wp-site-manager.md +3 -3
- package/commands/wp-setup.md +2 -2
- package/docs/GUIDE.md +26 -26
- package/docs/VALIDATION.md +3 -3
- package/docs/guides/wp-ecommerce.md +4 -4
- package/docs/plans/2026-03-01-tier3-wcop-implementation.md +1 -1
- package/docs/plans/2026-03-01-tier4-5-implementation.md +1 -1
- package/docs/plans/2026-03-02-content-framework-architecture.md +33 -33
- package/docs/plans/2026-03-02-content-framework-strategic-reflections.md +1 -1
- package/docs/plans/2026-03-02-content-intelligence-phase2.md +13 -13
- package/docs/plans/2026-03-02-content-pipeline-phase1.md +10 -10
- package/docs/plans/2026-03-02-dashboard-kanban-design.md +761 -0
- package/docs/plans/2026-03-02-dashboard-kanban-implementation.md +598 -0
- package/docs/plans/2026-03-02-dashboard-strategy.md +363 -0
- package/docs/plans/2026-03-02-editorial-calendar-phase3.md +3 -3
- package/docs/validation/results.json +16 -16
- package/package.json +8 -4
- package/scripts/context-scanner.mjs +446 -0
- package/scripts/dashboard-renderer.mjs +553 -0
- package/scripts/run-validation.mjs +2 -2
- package/servers/wp-rest-bridge/build/server.js +1 -1
- package/skills/wp-analytics/references/signals-feed-schema.md +20 -20
- package/skills/wp-content/references/content-templates.md +1 -1
- package/skills/wp-content/references/seo-optimization.md +8 -8
- package/skills/wp-content-attribution/references/roi-calculation.md +1 -1
- package/skills/wp-content-attribution/references/utm-tracking-setup.md +5 -5
- package/skills/wp-content-generation/references/generation-workflow.md +2 -2
- package/skills/wp-content-pipeline/SKILL.md +7 -7
- package/skills/wp-content-pipeline/references/content-brief-schema.md +25 -25
- package/skills/wp-content-pipeline/references/site-config-schema.md +25 -25
- package/skills/wp-content-repurposing/references/auto-transform-pipeline.md +1 -1
- package/skills/wp-content-repurposing/references/email-newsletter.md +1 -1
- package/skills/wp-content-repurposing/references/platform-specs.md +2 -2
- package/skills/wp-content-repurposing/references/transform-templates.md +27 -27
- package/skills/wp-dashboard/SKILL.md +121 -0
- package/skills/wp-deploy/references/ssh-deploy.md +2 -2
- package/skills/wp-editorial-planner/references/editorial-schema.md +8 -8
- package/skills/wp-multilang-network/references/content-sync.md +3 -3
- package/skills/wp-multilang-network/references/network-architecture.md +1 -1
- package/skills/wp-multilang-network/references/seo-international.md +7 -7
- package/skills/wp-structured-data/references/schema-types.md +4 -4
- package/skills/wp-webhooks/references/payload-formats.md +3 -3
|
@@ -52,10 +52,10 @@ The `entity_id` field uses a typed prefix to identify the entity:
|
|
|
52
52
|
|
|
53
53
|
| Prefix | Format | Example |
|
|
54
54
|
|--------|--------|---------|
|
|
55
|
-
| `Page:` | `Page:{url_path}` | `Page:/
|
|
56
|
-
| `Keyword:` | `Keyword:{search_term}` | `Keyword:acqua
|
|
55
|
+
| `Page:` | `Page:{url_path}` | `Page:/premium-water-benefici` |
|
|
56
|
+
| `Keyword:` | `Keyword:{search_term}` | `Keyword:acqua premium` |
|
|
57
57
|
| `Source:` | `Source:{source_name}` | `Source:linkedin` |
|
|
58
|
-
| `Site:` | `Site:{site_id}` | `Site:
|
|
58
|
+
| `Site:` | `Site:{site_id}` | `Site:mysite` |
|
|
59
59
|
|
|
60
60
|
### Valid Relations by Entity Type
|
|
61
61
|
|
|
@@ -301,12 +301,12 @@ If any validation fails, Step 7 logs the error and does not write the file.
|
|
|
301
301
|
|
|
302
302
|
## Example Feed
|
|
303
303
|
|
|
304
|
-
A complete `signals-feed.md` for the
|
|
304
|
+
A complete `signals-feed.md` for the mysite site, February 2026.
|
|
305
305
|
|
|
306
306
|
````markdown
|
|
307
307
|
---
|
|
308
|
-
feed_id: "FEED-
|
|
309
|
-
site_id:
|
|
308
|
+
feed_id: "FEED-mysite-2026-02"
|
|
309
|
+
site_id: mysite
|
|
310
310
|
generated: "2026-03-01T09:00:00Z"
|
|
311
311
|
period: "2026-02-01..2026-02-28"
|
|
312
312
|
comparison_period: "2026-01-01..2026-01-31"
|
|
@@ -325,7 +325,7 @@ status: generated
|
|
|
325
325
|
## Traffic Signals
|
|
326
326
|
|
|
327
327
|
```yaml
|
|
328
|
-
- entity_id: "Page:/
|
|
328
|
+
- entity_id: "Page:/premium-water-benefici"
|
|
329
329
|
relation: pageviews
|
|
330
330
|
value: 3240
|
|
331
331
|
unit: count
|
|
@@ -333,9 +333,9 @@ status: generated
|
|
|
333
333
|
delta_pct: +47
|
|
334
334
|
provenance:
|
|
335
335
|
source_id: ga4_top_pages
|
|
336
|
-
site:
|
|
336
|
+
site: mysite
|
|
337
337
|
|
|
338
|
-
- entity_id: "Page:/
|
|
338
|
+
- entity_id: "Page:/premium-water-benefici"
|
|
339
339
|
relation: avg_engagement_time
|
|
340
340
|
value: 185
|
|
341
341
|
unit: seconds
|
|
@@ -343,7 +343,7 @@ status: generated
|
|
|
343
343
|
delta_pct: +12
|
|
344
344
|
provenance:
|
|
345
345
|
source_id: ga4_top_pages
|
|
346
|
-
site:
|
|
346
|
+
site: mysite
|
|
347
347
|
|
|
348
348
|
- entity_id: "Page:/prodotti"
|
|
349
349
|
relation: pageviews
|
|
@@ -353,13 +353,13 @@ status: generated
|
|
|
353
353
|
delta_pct: +8
|
|
354
354
|
provenance:
|
|
355
355
|
source_id: ga4_top_pages
|
|
356
|
-
site:
|
|
356
|
+
site: mysite
|
|
357
357
|
```
|
|
358
358
|
|
|
359
359
|
## Search Signals
|
|
360
360
|
|
|
361
361
|
```yaml
|
|
362
|
-
- entity_id: "Keyword:acqua
|
|
362
|
+
- entity_id: "Keyword:acqua premium"
|
|
363
363
|
relation: search_impressions
|
|
364
364
|
value: 8500
|
|
365
365
|
unit: count
|
|
@@ -367,9 +367,9 @@ status: generated
|
|
|
367
367
|
delta_pct: +120
|
|
368
368
|
provenance:
|
|
369
369
|
source_id: gsc_search_analytics
|
|
370
|
-
site:
|
|
370
|
+
site: mysite
|
|
371
371
|
|
|
372
|
-
- entity_id: "Keyword:acqua
|
|
372
|
+
- entity_id: "Keyword:acqua premium benefici"
|
|
373
373
|
relation: search_ctr
|
|
374
374
|
value: 4.2
|
|
375
375
|
unit: percentage
|
|
@@ -377,7 +377,7 @@ status: generated
|
|
|
377
377
|
delta_pct: -8
|
|
378
378
|
provenance:
|
|
379
379
|
source_id: gsc_search_analytics
|
|
380
|
-
site:
|
|
380
|
+
site: mysite
|
|
381
381
|
```
|
|
382
382
|
|
|
383
383
|
## Source Signals
|
|
@@ -391,27 +391,27 @@ status: generated
|
|
|
391
391
|
delta_pct: +85
|
|
392
392
|
provenance:
|
|
393
393
|
source_id: ga4_traffic_sources
|
|
394
|
-
site:
|
|
394
|
+
site: mysite
|
|
395
395
|
```
|
|
396
396
|
|
|
397
397
|
## Performance Signals
|
|
398
398
|
|
|
399
399
|
```yaml
|
|
400
|
-
- entity_id: "Site:
|
|
400
|
+
- entity_id: "Site:mysite"
|
|
401
401
|
relation: lcp
|
|
402
402
|
value: 2.1
|
|
403
403
|
unit: seconds
|
|
404
404
|
ts: "2026-02-28T23:59:59Z"
|
|
405
405
|
provenance:
|
|
406
406
|
source_id: cwv_crux_origin
|
|
407
|
-
site:
|
|
407
|
+
site: mysite
|
|
408
408
|
```
|
|
409
409
|
|
|
410
410
|
# Anomalies & Patterns
|
|
411
411
|
|
|
412
412
|
| Entity | Metric | Delta | Pattern Match | Action |
|
|
413
413
|
|--------|--------|-------|---------------|--------|
|
|
414
|
-
| Keyword:acqua
|
|
414
|
+
| Keyword:acqua premium | search_impressions | +120% | Search Intent Shift | Investigate: content cluster opportunity |
|
|
415
415
|
| Source:linkedin | referral_sessions | +85% | Early-Adopter Surge | Scale: increase posting frequency on linkedin |
|
|
416
|
-
| Page:/
|
|
416
|
+
| Page:/premium-water-benefici | pageviews | +47% | Unclassified anomaly | Review: investigate cause of +47% change in pageviews |
|
|
417
417
|
````
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
- Avoid keyword stuffing
|
|
16
16
|
|
|
17
17
|
### Examples
|
|
18
|
-
- Good: "
|
|
19
|
-
- Bad: "
|
|
18
|
+
- Good: "Sparkling Water Benefits — Zero Calorie Hydration | AcmeBrand"
|
|
19
|
+
- Bad: "Sparkling Water Benefits | Best Sparkling Water | Buy Sparkling Water"
|
|
20
20
|
|
|
21
21
|
## Meta Description (Excerpt)
|
|
22
22
|
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
- Each page must have a unique meta description
|
|
34
34
|
|
|
35
35
|
### Examples
|
|
36
|
-
- Good: "Discover the natural benefits of
|
|
37
|
-
- Bad: "Welcome to our website. We sell
|
|
36
|
+
- Good: "Discover the natural benefits of premium sparkling water. Zero calories, rich in antioxidants. Try AcmeBrand today."
|
|
37
|
+
- Bad: "Welcome to our website. We sell sparkling water products. Click here."
|
|
38
38
|
|
|
39
39
|
## URL Slug Optimization
|
|
40
40
|
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
- Never change an existing indexed slug (use 301 redirect)
|
|
47
47
|
|
|
48
48
|
### Examples
|
|
49
|
-
- Good: `/
|
|
50
|
-
- Bad: `/the-amazing-benefits-of-drinking-
|
|
49
|
+
- Good: `/sparkling-water-benefits`
|
|
50
|
+
- Bad: `/the-amazing-benefits-of-drinking-premium-water-for-your-health-2026`
|
|
51
51
|
|
|
52
52
|
## Heading Hierarchy
|
|
53
53
|
|
|
@@ -91,13 +91,13 @@ Cluster posts link to each other where relevant
|
|
|
91
91
|
|
|
92
92
|
### File Naming
|
|
93
93
|
```
|
|
94
|
-
Good:
|
|
94
|
+
Good: product-bottle-acmebrand.webp
|
|
95
95
|
Bad: IMG_20260226_123456.jpg
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
### Alt Text
|
|
99
99
|
```
|
|
100
|
-
Good: "
|
|
100
|
+
Good: "AcmeBrand sparkling water bottle in three sweetness levels"
|
|
101
101
|
Bad: "image" or "" (empty)
|
|
102
102
|
```
|
|
103
103
|
|
|
@@ -35,7 +35,7 @@ wc_list_orders(status="completed", after="2025-01-01", before="2025-01-31", per_
|
|
|
35
35
|
list_content(type="post", status="publish", after="2025-01-01", before="2025-01-31")
|
|
36
36
|
|
|
37
37
|
# Step 4: Match campaign slugs to post titles
|
|
38
|
-
# Result: { post_title: "
|
|
38
|
+
# Result: { post_title: "Sparkling Water Benefits", slug: "sparkling-water-benefits", revenue: 2500, orders: 15 }
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
### Revenue Per Post Benchmarks
|
|
@@ -10,7 +10,7 @@ Use this file when setting up UTM parameter capture for WooCommerce orders — p
|
|
|
10
10
|
| `utm_medium` | Marketing channel type | `organic`, `email`, `cpc`, `social`, `referral` |
|
|
11
11
|
| `utm_campaign` | Specific campaign name | `spring-sale-2025`, `product-launch-x` |
|
|
12
12
|
| `utm_content` | Differentiates ad/link variants | `cta-button`, `sidebar-banner`, `post-footer` |
|
|
13
|
-
| `utm_term` | Paid search keywords | `
|
|
13
|
+
| `utm_term` | Paid search keywords | `premium-water-buy`, `zero-calorie-drink` |
|
|
14
14
|
|
|
15
15
|
## mu-plugin Pattern: Capture UTM on Checkout
|
|
16
16
|
|
|
@@ -113,13 +113,13 @@ Tag all blog-to-product links with UTMs:
|
|
|
113
113
|
|
|
114
114
|
```html
|
|
115
115
|
<!-- Blog post CTA linking to product -->
|
|
116
|
-
<a href="/product/
|
|
117
|
-
Buy
|
|
116
|
+
<a href="/product/premium-water/?utm_source=blog&utm_medium=cta&utm_campaign=sparkling-water-benefits&utm_content=post-footer-button">
|
|
117
|
+
Buy Sparkling Water
|
|
118
118
|
</a>
|
|
119
119
|
|
|
120
120
|
<!-- Sidebar widget linking to product -->
|
|
121
|
-
<a href="/product/
|
|
122
|
-
Try
|
|
121
|
+
<a href="/product/premium-water/?utm_source=blog&utm_medium=sidebar&utm_campaign=always-on&utm_content=product-widget">
|
|
122
|
+
Try Sparkling Water
|
|
123
123
|
</a>
|
|
124
124
|
```
|
|
125
125
|
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
**Brief structure:**
|
|
13
13
|
| Field | Description | Example |
|
|
14
14
|
|-------|-------------|---------|
|
|
15
|
-
| Topic | Main subject | "Benefits of
|
|
16
|
-
| Primary keyword | Target search term | "
|
|
15
|
+
| Topic | Main subject | "Benefits of sparkling water for athletes" |
|
|
16
|
+
| Primary keyword | Target search term | "sparkling water benefits" |
|
|
17
17
|
| Audience | Who reads this | Health-conscious millennials |
|
|
18
18
|
| Goal | Content purpose | Drive product page visits |
|
|
19
19
|
| Format | Content type | Blog post / Tutorial / Listicle |
|
|
@@ -60,8 +60,8 @@ Each step reads specific files, calls specific tools, and has defined decision p
|
|
|
60
60
|
**Output format:**
|
|
61
61
|
```
|
|
62
62
|
Pipeline Scan Results:
|
|
63
|
-
1. BRF-2026-014 — "Acqua
|
|
64
|
-
2. BRF-2026-015 — "Summer Campaign Launch" →
|
|
63
|
+
1. BRF-2026-014 — "Acqua Premium: La Rivoluzione" → mysite (post) [linkedin, twitter]
|
|
64
|
+
2. BRF-2026-015 — "Summer Campaign Launch" → mysite (page) [mailchimp]
|
|
65
65
|
|
|
66
66
|
Which brief to process? (enter number, or "all")
|
|
67
67
|
```
|
|
@@ -76,8 +76,8 @@ Which brief to process? (enter number, or "all")
|
|
|
76
76
|
- `.content-state/{site_id}.config.md` -- site configuration for the brief's target site
|
|
77
77
|
|
|
78
78
|
**Procedure:**
|
|
79
|
-
1. Read `target.site_id` from the selected brief (e.g., `
|
|
80
|
-
2. Load `.content-state/{site_id}.config.md` (e.g., `.content-state/
|
|
79
|
+
1. Read `target.site_id` from the selected brief (e.g., `mysite`)
|
|
80
|
+
2. Load `.content-state/{site_id}.config.md` (e.g., `.content-state/mysite.config.md`)
|
|
81
81
|
3. Parse the YAML frontmatter for site defaults, brand context, channel config, and SEO settings
|
|
82
82
|
4. Apply the override hierarchy -- brief values take precedence over site config defaults:
|
|
83
83
|
|
|
@@ -182,7 +182,7 @@ Note: Even though the brief has `status: ready`, re-evaluate gates at publish ti
|
|
|
182
182
|
content_type: {target.content_type}
|
|
183
183
|
id: {post_id}
|
|
184
184
|
categories: {target.categories} # e.g., ["sustainability", "innovation"]
|
|
185
|
-
tags: {target.tags} # e.g., ["
|
|
185
|
+
tags: {target.tags} # e.g., ["premium-water", "zero-calorie"]
|
|
186
186
|
```
|
|
187
187
|
|
|
188
188
|
5. **Inject structured data** (if `seo.schema_type` is defined):
|
|
@@ -348,8 +348,8 @@ Note: Even though the brief has `status: ready`, re-evaluate gates at publish ti
|
|
|
348
348
|
```
|
|
349
349
|
Pipeline Complete:
|
|
350
350
|
Brief: BRF-2026-014
|
|
351
|
-
Title: "Acqua
|
|
352
|
-
WordPress: https://
|
|
351
|
+
Title: "Acqua Premium: La Rivoluzione Zero-Calorie dal Mediterraneo"
|
|
352
|
+
WordPress: https://mysite.example.com/acqua-di-premium-rivoluzione/ (published)
|
|
353
353
|
Distribution:
|
|
354
354
|
- LinkedIn: posted ✓
|
|
355
355
|
- Twitter: posted ✓
|
|
@@ -89,7 +89,7 @@ Defines the WordPress destination and publishing parameters.
|
|
|
89
89
|
|
|
90
90
|
```yaml
|
|
91
91
|
target:
|
|
92
|
-
site_id:
|
|
92
|
+
site_id: mysite
|
|
93
93
|
content_type: post
|
|
94
94
|
status: draft
|
|
95
95
|
scheduled_date: 2026-03-15T09:00:00Z
|
|
@@ -97,7 +97,7 @@ target:
|
|
|
97
97
|
- sustainability
|
|
98
98
|
- innovation
|
|
99
99
|
tags:
|
|
100
|
-
-
|
|
100
|
+
- premium-water
|
|
101
101
|
- zero-calorie
|
|
102
102
|
- sicily
|
|
103
103
|
```
|
|
@@ -119,9 +119,9 @@ Core content metadata for the WordPress post.
|
|
|
119
119
|
|
|
120
120
|
```yaml
|
|
121
121
|
content:
|
|
122
|
-
title: "Acqua
|
|
123
|
-
excerpt: "Scopri come il
|
|
124
|
-
featured_image: /assets/images/
|
|
122
|
+
title: "Acqua Premium: La Rivoluzione Zero-Calorie dal Mediterraneo"
|
|
123
|
+
excerpt: "Scopri come il frutto mediterraneo regionale diventa la bevanda del futuro."
|
|
124
|
+
featured_image: /assets/images/premium-field-sicily.jpg
|
|
125
125
|
author: editorial-team
|
|
126
126
|
```
|
|
127
127
|
|
|
@@ -162,12 +162,12 @@ Search engine optimization parameters. Used by the pipeline to validate content
|
|
|
162
162
|
|
|
163
163
|
```yaml
|
|
164
164
|
seo:
|
|
165
|
-
focus_keyword: acqua
|
|
166
|
-
meta_description: "L'acqua
|
|
165
|
+
focus_keyword: acqua premium zero calorie
|
|
166
|
+
meta_description: "L'acqua premium regionale: zero calorie, ricca di antiossidanti. Scopri la bevanda naturale che sta conquistando l'Europa."
|
|
167
167
|
schema_type: Article
|
|
168
168
|
internal_links:
|
|
169
169
|
- /blog/benefici-fico-india
|
|
170
|
-
- /prodotti/
|
|
170
|
+
- /prodotti/light-blend
|
|
171
171
|
```
|
|
172
172
|
|
|
173
173
|
| Field | Type | Required | Default | Description |
|
|
@@ -275,7 +275,7 @@ These fields **must** be present for a brief to be valid:
|
|
|
275
275
|
|
|
276
276
|
## Example Brief
|
|
277
277
|
|
|
278
|
-
A complete `.brief.md` for the
|
|
278
|
+
A complete `.brief.md` for the mysite site:
|
|
279
279
|
|
|
280
280
|
```markdown
|
|
281
281
|
---
|
|
@@ -289,7 +289,7 @@ source:
|
|
|
289
289
|
session_id: sess_7f3a9b2c
|
|
290
290
|
|
|
291
291
|
target:
|
|
292
|
-
site_id:
|
|
292
|
+
site_id: mysite
|
|
293
293
|
content_type: post
|
|
294
294
|
status: draft
|
|
295
295
|
scheduled_date: 2026-03-15T09:00:00Z
|
|
@@ -297,15 +297,15 @@ target:
|
|
|
297
297
|
- sustainability
|
|
298
298
|
- innovation
|
|
299
299
|
tags:
|
|
300
|
-
-
|
|
300
|
+
- premium-water
|
|
301
301
|
- zero-calorie
|
|
302
302
|
- sicily
|
|
303
303
|
- sustainability
|
|
304
304
|
|
|
305
305
|
content:
|
|
306
|
-
title: "Acqua
|
|
307
|
-
excerpt: "Scopri come il
|
|
308
|
-
featured_image: /wp-content/uploads/2026/03/
|
|
306
|
+
title: "Acqua Premium: La Rivoluzione Zero-Calorie dal Mediterraneo"
|
|
307
|
+
excerpt: "Scopri come il frutto mediterraneo regionale diventa la bevanda del futuro: zero calorie, ricca di antiossidanti e 100% sostenibile."
|
|
308
|
+
featured_image: /wp-content/uploads/2026/03/premium-field-sicily.jpg
|
|
309
309
|
author: editorial-team
|
|
310
310
|
|
|
311
311
|
distribution:
|
|
@@ -316,12 +316,12 @@ distribution:
|
|
|
316
316
|
schedule_offset_hours: 2
|
|
317
317
|
|
|
318
318
|
seo:
|
|
319
|
-
focus_keyword: acqua
|
|
320
|
-
meta_description: "L'acqua
|
|
319
|
+
focus_keyword: acqua premium zero calorie
|
|
320
|
+
meta_description: "L'acqua premium regionale: zero calorie, ricca di antiossidanti. Scopri la bevanda naturale che sta conquistando l'Europa."
|
|
321
321
|
schema_type: Article
|
|
322
322
|
internal_links:
|
|
323
323
|
- /blog/benefici-fico-india
|
|
324
|
-
- /prodotti/
|
|
324
|
+
- /prodotti/light-blend
|
|
325
325
|
- /chi-siamo/sostenibilita
|
|
326
326
|
|
|
327
327
|
gates:
|
|
@@ -330,32 +330,32 @@ gates:
|
|
|
330
330
|
require_review: true
|
|
331
331
|
---
|
|
332
332
|
|
|
333
|
-
# Acqua
|
|
333
|
+
# Acqua Premium: La Rivoluzione Zero-Calorie dal Mediterraneo
|
|
334
334
|
|
|
335
|
-
Nel cuore
|
|
335
|
+
Nel cuore del Mediterraneo, tra le terre arse dal sole dell'entroterra, cresce una pianta che sta cambiando il panorama delle bevande salutari: il **frutto mediterraneo** (*Mediterranean fruit*).
|
|
336
336
|
|
|
337
337
|
## Una Tradizione Millenaria, Una Visione Moderna
|
|
338
338
|
|
|
339
|
-
Il
|
|
339
|
+
Il frutto mediterraneo regionale non è solo un simbolo del paesaggio mediterraneo. Per secoli, le comunità locali hanno sfruttato le sue proprietà idratanti naturali. Oggi, grazie a un processo di estrazione innovativo, quell'acqua diventa una [bevanda zero-calorie](/prodotti/light-blend) che conserva tutti i benefici dell'originale.
|
|
340
340
|
|
|
341
|
-
## Perché l'Acqua
|
|
341
|
+
## Perché l'Acqua Premium?
|
|
342
342
|
|
|
343
343
|
I vantaggi rispetto alle alternative convenzionali sono significativi:
|
|
344
344
|
|
|
345
345
|
- **Zero calorie** senza dolcificanti artificiali
|
|
346
346
|
- **Antiossidanti naturali** (betalaine e polifenoli)
|
|
347
347
|
- **Elettroliti bilanciati** per un'idratazione superiore
|
|
348
|
-
- **Impronta idrica minima**:
|
|
348
|
+
- **Impronta idrica minima**: la pianta richiede l'85% di acqua in meno rispetto alle colture tradizionali
|
|
349
349
|
|
|
350
350
|
## Sostenibilità al Centro
|
|
351
351
|
|
|
352
|
-
La nostra filiera è progettata per la [sostenibilità integrale](/chi-siamo/sostenibilita).
|
|
352
|
+
La nostra filiera è progettata per la [sostenibilità integrale](/chi-siamo/sostenibilita). Le piante crescono su terreni marginali, non competono con le colture alimentari e contribuiscono alla rigenerazione del suolo.
|
|
353
353
|
|
|
354
|
-
Ogni bottiglia di
|
|
354
|
+
Ogni bottiglia di AcmeBrand rappresenta una scelta consapevole: per la salute, per il territorio, per il futuro.
|
|
355
355
|
|
|
356
356
|
## Scopri di Più
|
|
357
357
|
|
|
358
|
-
Leggi i [benefici scientifici del
|
|
358
|
+
Leggi i [benefici scientifici del frutto mediterraneo](/blog/benefici-fico-india) o prova la nostra gamma di prodotti, dal delicato **Light Blend** al ricco **Bold Blend**.
|
|
359
359
|
```
|
|
360
360
|
|
|
361
361
|
---
|
|
@@ -15,8 +15,8 @@ Each `.config.md` file consists of:
|
|
|
15
15
|
|
|
16
16
|
```
|
|
17
17
|
---
|
|
18
|
-
site_id:
|
|
19
|
-
site_url: https://
|
|
18
|
+
site_id: mysite
|
|
19
|
+
site_url: https://mysite.example.com
|
|
20
20
|
last_updated: 2026-03-02
|
|
21
21
|
# ... other fields ...
|
|
22
22
|
---
|
|
@@ -37,7 +37,7 @@ Free-form context that Claude uses when generating or adapting content for this
|
|
|
37
37
|
| Type | `string` |
|
|
38
38
|
| Required | **Yes** |
|
|
39
39
|
| Format | Lowercase alphanumeric with hyphens |
|
|
40
|
-
| Example | `
|
|
40
|
+
| Example | `mysite` |
|
|
41
41
|
|
|
42
42
|
Unique identifier for the site. **Must match** the `id` field in the `WP_SITES_CONFIG` environment variable JSON array. This is how the pipeline resolves WordPress credentials (URL, username, app password) for API calls.
|
|
43
43
|
|
|
@@ -48,7 +48,7 @@ Unique identifier for the site. **Must match** the `id` field in the `WP_SITES_C
|
|
|
48
48
|
| Type | `string` (URL) |
|
|
49
49
|
| Required | **Yes** |
|
|
50
50
|
| Format | `https://example.com` (no trailing slash) |
|
|
51
|
-
| Example | `https://
|
|
51
|
+
| Example | `https://mysite.example.com` |
|
|
52
52
|
|
|
53
53
|
The public-facing URL of the WordPress site. Used for constructing internal links and verifying published content. Should match the `url` field in `WP_SITES_CONFIG`.
|
|
54
54
|
|
|
@@ -77,7 +77,7 @@ brand:
|
|
|
77
77
|
language: it
|
|
78
78
|
style_notes: |
|
|
79
79
|
Voice: warm but authoritative. Avoid corporate jargon.
|
|
80
|
-
Always emphasize the
|
|
80
|
+
Always emphasize the Mediterranean heritage and natural ingredients.
|
|
81
81
|
Use "noi" (we) when referring to the company.
|
|
82
82
|
Sustainability is a core value, not a marketing angle.
|
|
83
83
|
```
|
|
@@ -290,8 +290,8 @@ The `WP_SITES_CONFIG` environment variable is a JSON array of site credentials:
|
|
|
290
290
|
```json
|
|
291
291
|
[
|
|
292
292
|
{
|
|
293
|
-
"id": "
|
|
294
|
-
"url": "https://
|
|
293
|
+
"id": "mysite",
|
|
294
|
+
"url": "https://mysite.example.com",
|
|
295
295
|
"username": "api-user",
|
|
296
296
|
"app_password": "xxxx xxxx xxxx xxxx"
|
|
297
297
|
}
|
|
@@ -313,8 +313,8 @@ The mapping between `WP_SITES_CONFIG` and the config file:
|
|
|
313
313
|
|
|
314
314
|
When the pipeline processes a brief, it resolves the site config via `brief.target.site_id`:
|
|
315
315
|
|
|
316
|
-
1. Read `brief.target.site_id` (e.g., `
|
|
317
|
-
2. Load `.content-state/
|
|
316
|
+
1. Read `brief.target.site_id` (e.g., `mysite`)
|
|
317
|
+
2. Load `.content-state/mysite.config.md`
|
|
318
318
|
3. Apply config defaults for any fields the brief omits
|
|
319
319
|
4. Use `brand` block for content adaptation/generation
|
|
320
320
|
5. Use `channels` block for distribution routing
|
|
@@ -323,12 +323,12 @@ When the pipeline processes a brief, it resolves the site config via `brief.targ
|
|
|
323
323
|
|
|
324
324
|
## Example Config
|
|
325
325
|
|
|
326
|
-
A complete `.config.md` for the
|
|
326
|
+
A complete `.config.md` for the mysite site:
|
|
327
327
|
|
|
328
328
|
```markdown
|
|
329
329
|
---
|
|
330
|
-
site_id:
|
|
331
|
-
site_url: https://
|
|
330
|
+
site_id: mysite
|
|
331
|
+
site_url: https://mysite.example.com
|
|
332
332
|
last_updated: 2026-03-02
|
|
333
333
|
|
|
334
334
|
brand:
|
|
@@ -336,11 +336,11 @@ brand:
|
|
|
336
336
|
language: it
|
|
337
337
|
style_notes: |
|
|
338
338
|
Voice: warm but authoritative. Avoid corporate jargon.
|
|
339
|
-
Always emphasize the
|
|
339
|
+
Always emphasize the Mediterranean heritage and natural ingredients.
|
|
340
340
|
Use "noi" (we) when referring to the company.
|
|
341
341
|
Sustainability is a core value, not a marketing angle -- weave it naturally.
|
|
342
|
-
Product names are always capitalized:
|
|
343
|
-
Refer to the
|
|
342
|
+
Product names are always capitalized: Light Blend, Dolce, Bold Blend.
|
|
343
|
+
Refer to the product using its brand name, not generic terms in marketing content.
|
|
344
344
|
Scientific claims must cite specific compounds (betalaine, polifenoli).
|
|
345
345
|
|
|
346
346
|
defaults:
|
|
@@ -353,7 +353,7 @@ defaults:
|
|
|
353
353
|
channels:
|
|
354
354
|
linkedin:
|
|
355
355
|
enabled: true
|
|
356
|
-
profile_id: "urn:li:organization:
|
|
356
|
+
profile_id: "urn:li:organization:mysite"
|
|
357
357
|
format: professional
|
|
358
358
|
twitter:
|
|
359
359
|
enabled: true
|
|
@@ -364,7 +364,7 @@ channels:
|
|
|
364
364
|
format: casual
|
|
365
365
|
mailchimp:
|
|
366
366
|
enabled: true
|
|
367
|
-
audience_id: "
|
|
367
|
+
audience_id: "mc_aud_mysite_main"
|
|
368
368
|
segment: newsletter-subscribers
|
|
369
369
|
|
|
370
370
|
seo:
|
|
@@ -383,34 +383,34 @@ cadence:
|
|
|
383
383
|
|
|
384
384
|
## Brand Context
|
|
385
385
|
|
|
386
|
-
|
|
386
|
+
MySite is the digital home of AcmeBrand, an Italian zero-calorie beverage brand based on premium sparkling water (acqua premium). The brand sits at the intersection of traditional Mediterranean agriculture and modern wellness.
|
|
387
387
|
|
|
388
388
|
### Product Line
|
|
389
389
|
|
|
390
|
-
- **
|
|
390
|
+
- **Light Blend** -- Light sweetness, subtle premium flavor. Entry-level product.
|
|
391
391
|
- **Dolce** -- Medium sweetness, balanced flavor profile. The core product.
|
|
392
|
-
- **
|
|
392
|
+
- **Bold Blend** -- Full sweetness, rich premium flavor. For those who prefer bolder taste.
|
|
393
393
|
|
|
394
394
|
All variants are zero-calorie, naturally flavored, with no artificial sweeteners.
|
|
395
395
|
|
|
396
396
|
### Key Differentiators
|
|
397
397
|
|
|
398
|
-
- Only
|
|
399
|
-
- Zero calorie without artificial sweeteners (uses natural
|
|
398
|
+
- Only sparkling water brand with full regional supply chain
|
|
399
|
+
- Zero calorie without artificial sweeteners (uses natural premium compounds)
|
|
400
400
|
- 85% lower water footprint than conventional beverages
|
|
401
401
|
- Rich in betalains and polyphenols (natural antioxidants)
|
|
402
402
|
|
|
403
403
|
### Content Themes
|
|
404
404
|
|
|
405
405
|
- Sustainability and environmental responsibility
|
|
406
|
-
-
|
|
406
|
+
- Mediterranean heritage and terroir
|
|
407
407
|
- Health and wellness (zero-calorie, natural ingredients)
|
|
408
408
|
- Innovation in food technology
|
|
409
409
|
- Community and local farmers
|
|
410
410
|
|
|
411
411
|
### Competitor Positioning
|
|
412
412
|
|
|
413
|
-
Avoid direct competitor mentions. Focus on
|
|
413
|
+
Avoid direct competitor mentions. Focus on AcmeBrand's unique attributes rather than comparison. Never claim "best" or "only" without substantiation.
|
|
414
414
|
```
|
|
415
415
|
|
|
416
416
|
---
|
|
@@ -424,7 +424,7 @@ Config files follow this naming pattern:
|
|
|
424
424
|
```
|
|
425
425
|
|
|
426
426
|
Examples:
|
|
427
|
-
- `
|
|
427
|
+
- `mysite.config.md`
|
|
428
428
|
- `my-blog.config.md`
|
|
429
429
|
- `corporate-site.config.md`
|
|
430
430
|
|
|
@@ -110,7 +110,7 @@ CTA: Get the complete guide / Shop related products
|
|
|
110
110
|
| Formula | Example |
|
|
111
111
|
|---------|---------|
|
|
112
112
|
| Number + Benefit | "5 ways to reduce sugar intake" |
|
|
113
|
-
| Question | "Is
|
|
113
|
+
| Question | "Is sparkling water the healthiest option?" |
|
|
114
114
|
| How-to | "How to save 200 calories a day" |
|
|
115
115
|
| Curiosity gap | "The drink we didn't expect to love" |
|
|
116
116
|
| Urgency | "Last chance: 20% off ends tonight" |
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
### Hashtag Mix Strategy
|
|
43
43
|
|
|
44
44
|
- **30% broad** (high volume): #marketing, #business, #health
|
|
45
|
-
- **40% niche** (medium volume): #
|
|
46
|
-
- **30% branded** (low volume): #
|
|
45
|
+
- **40% niche** (medium volume): #sparklingwater, #zerocalorie, #healthydrinks
|
|
46
|
+
- **30% branded** (low volume): #AcmeBrand, #PremiumWater
|
|
47
47
|
|
|
48
48
|
## Link Handling
|
|
49
49
|
|