claude-plugin-wordpress-manager 1.5.0 → 1.7.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.
Files changed (68) hide show
  1. package/.claude-plugin/plugin.json +2 -2
  2. package/CHANGELOG.md +97 -0
  3. package/README.md +27 -13
  4. package/agents/wp-accessibility-auditor.md +206 -0
  5. package/agents/wp-content-strategist.md +18 -0
  6. package/agents/wp-deployment-engineer.md +34 -2
  7. package/agents/wp-performance-optimizer.md +12 -0
  8. package/agents/wp-security-auditor.md +20 -0
  9. package/agents/wp-security-hardener.md +266 -0
  10. package/agents/wp-site-manager.md +14 -0
  11. package/agents/wp-test-engineer.md +207 -0
  12. package/docs/guides/INDEX.md +46 -0
  13. package/docs/guides/wp-blog.md +590 -0
  14. package/docs/guides/wp-design-system.md +976 -0
  15. package/docs/guides/wp-ecommerce.md +786 -0
  16. package/docs/guides/wp-landing-page.md +762 -0
  17. package/docs/guides/wp-portfolio.md +713 -0
  18. package/docs/plans/2026-02-27-design-system-guide-design.md +30 -0
  19. package/docs/plans/2026-02-27-site-type-guides-design.md +44 -0
  20. package/package.json +2 -2
  21. package/skills/wordpress-router/references/decision-tree.md +12 -2
  22. package/skills/wp-accessibility/SKILL.md +170 -0
  23. package/skills/wp-accessibility/references/a11y-audit-tools.md +248 -0
  24. package/skills/wp-accessibility/references/a11y-testing.md +222 -0
  25. package/skills/wp-accessibility/references/block-a11y.md +247 -0
  26. package/skills/wp-accessibility/references/interactive-a11y.md +272 -0
  27. package/skills/wp-accessibility/references/media-a11y.md +254 -0
  28. package/skills/wp-accessibility/references/theme-a11y.md +309 -0
  29. package/skills/wp-audit/SKILL.md +4 -0
  30. package/skills/wp-block-development/SKILL.md +5 -0
  31. package/skills/wp-block-themes/SKILL.md +4 -0
  32. package/skills/wp-e2e-testing/SKILL.md +186 -0
  33. package/skills/wp-e2e-testing/references/ci-integration.md +174 -0
  34. package/skills/wp-e2e-testing/references/jest-wordpress.md +114 -0
  35. package/skills/wp-e2e-testing/references/phpunit-wordpress.md +141 -0
  36. package/skills/wp-e2e-testing/references/playwright-wordpress.md +108 -0
  37. package/skills/wp-e2e-testing/references/test-data-generation.md +127 -0
  38. package/skills/wp-e2e-testing/references/visual-regression.md +107 -0
  39. package/skills/wp-e2e-testing/references/wp-env-setup.md +97 -0
  40. package/skills/wp-e2e-testing/scripts/test_inspect.mjs +375 -0
  41. package/skills/wp-headless/SKILL.md +168 -0
  42. package/skills/wp-headless/references/api-layer-choice.md +160 -0
  43. package/skills/wp-headless/references/cors-config.md +245 -0
  44. package/skills/wp-headless/references/frontend-integration.md +331 -0
  45. package/skills/wp-headless/references/headless-auth.md +286 -0
  46. package/skills/wp-headless/references/webhooks.md +277 -0
  47. package/skills/wp-headless/references/wpgraphql.md +331 -0
  48. package/skills/wp-headless/scripts/headless_inspect.mjs +321 -0
  49. package/skills/wp-i18n/SKILL.md +170 -0
  50. package/skills/wp-i18n/references/js-i18n.md +201 -0
  51. package/skills/wp-i18n/references/multilingual-setup.md +219 -0
  52. package/skills/wp-i18n/references/php-i18n.md +196 -0
  53. package/skills/wp-i18n/references/rtl-support.md +206 -0
  54. package/skills/wp-i18n/references/translation-workflow.md +178 -0
  55. package/skills/wp-i18n/references/wpcli-i18n.md +177 -0
  56. package/skills/wp-i18n/scripts/i18n_inspect.mjs +330 -0
  57. package/skills/wp-interactivity-api/SKILL.md +4 -0
  58. package/skills/wp-plugin-development/SKILL.md +6 -0
  59. package/skills/wp-rest-api/SKILL.md +4 -0
  60. package/skills/wp-security/SKILL.md +179 -0
  61. package/skills/wp-security/references/api-restriction.md +147 -0
  62. package/skills/wp-security/references/authentication-hardening.md +105 -0
  63. package/skills/wp-security/references/filesystem-hardening.md +105 -0
  64. package/skills/wp-security/references/http-headers.md +105 -0
  65. package/skills/wp-security/references/incident-response.md +144 -0
  66. package/skills/wp-security/references/user-capabilities.md +115 -0
  67. package/skills/wp-security/references/wp-config-security.md +129 -0
  68. package/skills/wp-security/scripts/security_inspect.mjs +393 -0
@@ -0,0 +1,762 @@
1
+ # WordPress Landing Page — Guida Completa
2
+
3
+ **Tipologia:** Landing Page (conversione, lead generation, lancio prodotto)
4
+ **Versione:** 1.0.0
5
+ **Ultima modifica:** 2026-02-28
6
+ **Skill correlate:** wp-block-themes, wp-local-env, wp-deploy, wp-performance
7
+
8
+ ---
9
+
10
+ ## 1. Panoramica
11
+
12
+ ### Cos'e una Landing Page
13
+
14
+ Una landing page e una pagina web progettata con un unico obiettivo: convertire il visitatore in un'azione specifica (iscrizione, acquisto, download, contatto). A differenza delle pagine tradizionali, una landing page elimina le distrazioni — navigazione ridotta, nessun link esterno, tutto focalizzato sulla conversione.
15
+
16
+ ### Quando usare una landing page
17
+
18
+ - **Lancio prodotto**: presentare un nuovo prodotto con pre-order o waitlist
19
+ - **Lead generation**: raccogliere email in cambio di un lead magnet (ebook, webinar, free trial)
20
+ - **Campagna marketing**: destinazione per ads (Google Ads, Meta Ads, newsletter)
21
+ - **Evento**: iscrizione a webinar, conferenza, workshop
22
+ - **Coming soon**: raccogliere interesse prima del lancio ufficiale
23
+
24
+ ### Varianti comuni
25
+
26
+ | Variante | Obiettivo | CTA tipico |
27
+ |----------|-----------|------------|
28
+ | **Squeeze page** | Raccogliere email | "Scarica gratis" |
29
+ | **Sales page** | Vendere un prodotto | "Acquista ora" |
30
+ | **Click-through** | Portare al checkout | "Inizia la prova gratuita" |
31
+ | **Webinar** | Iscrizione evento | "Prenota il tuo posto" |
32
+ | **Coming soon** | Raccogliere interesse | "Avvisami al lancio" |
33
+
34
+ ### Metriche chiave
35
+
36
+ | Metrica | Cosa misura | Benchmark |
37
+ |---------|-------------|-----------|
38
+ | Conversion Rate | % visitatori che completano la CTA | 2-5% (media), 10%+ (ottimizzata) |
39
+ | Bounce Rate | % che abbandona senza interagire | < 40% (buono) |
40
+ | Time on Page | Tempo medio sulla pagina | > 1 min (buono) |
41
+ | CPA (Cost per Acquisition) | Costo per conversione da ads | Varia per settore |
42
+ | CTR (Click-Through Rate) | % click su CTA | > 3% (buono) |
43
+ | Form Completion Rate | % che completa il form | > 25% (buono) |
44
+
45
+ ---
46
+
47
+ ## 2. Per l'Utente
48
+
49
+ Questa sezione copre la gestione operativa della landing page tramite Claude Code e il plugin wordpress-manager.
50
+
51
+ ### 2.1 Concept e Pianificazione
52
+
53
+ **Definisci l'obiettivo prima di progettare la pagina.**
54
+
55
+ 1. **Un solo obiettivo**: ogni landing page ha UNA sola CTA. Non due, non tre. Una.
56
+ 2. **Target audience**: chi arriva su questa pagina? Da dove? (ads, email, social)
57
+ 3. **Value proposition**: perche il visitatore dovrebbe agire? Cosa ottiene?
58
+ 4. **Urgenza**: perche agire ORA? (offerta limitata, posti limitati, scadenza)
59
+ 5. **Social proof**: perche fidarsi? (testimonianze, numeri, loghi clienti)
60
+
61
+ ### 2.2 Setup Ambiente Locale
62
+
63
+ **Creare una landing page WordPress locale con wp-env:**
64
+
65
+ ```bash
66
+ # 1. Creare la directory del progetto
67
+ mkdir -p ~/projects/mia-landing
68
+ cd ~/projects/mia-landing
69
+
70
+ # 2. Creare .wp-env.json
71
+ cat > .wp-env.json << 'EOF'
72
+ {
73
+ "core": "WordPress/WordPress#master",
74
+ "themes": ["./themes/landing-theme"],
75
+ "plugins": [],
76
+ "config": {
77
+ "WP_DEBUG": true,
78
+ "WP_DEBUG_LOG": true,
79
+ "SCRIPT_DEBUG": true
80
+ },
81
+ "port": 8888
82
+ }
83
+ EOF
84
+
85
+ # 3. Creare la struttura del tema
86
+ mkdir -p themes/landing-theme/{templates,parts,patterns}
87
+
88
+ # 4. Avviare WordPress
89
+ npx wp-env start
90
+
91
+ # 5. Impostare homepage statica
92
+ npx wp-env run cli wp post create \
93
+ --post_type=page \
94
+ --post_status=publish \
95
+ --post_title="Landing Page"
96
+
97
+ npx wp-env run cli wp option update show_on_front page
98
+ npx wp-env run cli wp option update page_on_front 2
99
+ ```
100
+
101
+ **Con Claude Code (linguaggio naturale):**
102
+
103
+ > "Crea un nuovo progetto WordPress landing page con wp-env, tema minimalista con CTA arancione su sfondo scuro, homepage statica"
104
+
105
+ **Credenziali default wp-env:** `admin` / `password` su `http://localhost:8888/wp-admin/`
106
+
107
+ ### 2.3 Anatomia della Landing Page
108
+
109
+ Una landing page efficace segue questa struttura dall'alto verso il basso:
110
+
111
+ ```
112
+ ┌─────────────────────────────────────┐
113
+ │ HEADER MINIMALE (logo, no nav) │
114
+ ├─────────────────────────────────────┤
115
+ │ │
116
+ │ HERO │
117
+ │ - Headline (value proposition) │
118
+ │ - Sub-headline (beneficio chiave) │
119
+ │ - CTA primario (bottone) │
120
+ │ - Immagine/video prodotto │
121
+ │ │
122
+ ├─────────────────────────────────────┤
123
+ │ SOCIAL PROOF │
124
+ │ - Loghi clienti / Media mentions │
125
+ │ - "Usato da 10.000+ persone" │
126
+ ├─────────────────────────────────────┤
127
+ │ BENEFICI (3-4 punti) │
128
+ │ - Icona + titolo + descrizione │
129
+ │ - Focus sul risultato, non feature │
130
+ ├─────────────────────────────────────┤
131
+ │ COME FUNZIONA (3 step) │
132
+ │ - Step 1 → Step 2 → Step 3 │
133
+ ├─────────────────────────────────────┤
134
+ │ TESTIMONIANZE │
135
+ │ - Foto + nome + ruolo + quote │
136
+ ├─────────────────────────────────────┤
137
+ │ PRICING / OFFERTA │
138
+ │ - Prezzo barrato / sconto │
139
+ │ - Cosa include │
140
+ ├─────────────────────────────────────┤
141
+ │ FAQ │
142
+ │ - Risposte alle obiezioni comuni │
143
+ ├─────────────────────────────────────┤
144
+ │ CTA FINALE │
145
+ │ - Ripetizione del CTA primario │
146
+ │ - Urgenza / garanzia │
147
+ ├─────────────────────────────────────┤
148
+ │ FOOTER MINIMALE │
149
+ │ - Privacy policy, termini, P.IVA │
150
+ └─────────────────────────────────────┘
151
+ ```
152
+
153
+ #### Above the Fold
154
+
155
+ I primi 600px della pagina (visibili senza scroll) sono critici:
156
+ - Headline chiara e immediata (max 10 parole)
157
+ - Sub-headline che espande il beneficio (max 20 parole)
158
+ - CTA visibile e contrastato
159
+ - Immagine del prodotto/risultato
160
+
161
+ #### Testo dei CTA
162
+
163
+ | CTA debole | CTA forte |
164
+ |------------|-----------|
165
+ | "Invia" | "Scarica la guida gratuita" |
166
+ | "Clicca qui" | "Inizia la prova di 14 giorni" |
167
+ | "Submit" | "Prenota il tuo posto" |
168
+ | "Registrati" | "Crea il tuo account gratuito" |
169
+
170
+ **Regola**: il testo del CTA deve completare la frase "Voglio..."
171
+
172
+ ### 2.4 SEO per Landing Page
173
+
174
+ Le landing page hanno esigenze SEO diverse da un blog:
175
+
176
+ ```bash
177
+ # Permalink pulito
178
+ npx wp-env run cli wp rewrite structure '/%postname%/'
179
+ npx wp-env run cli wp rewrite flush --hard
180
+
181
+ # Impostare titolo e tagline
182
+ npx wp-env run cli wp option update blogname "Nome Brand"
183
+ npx wp-env run cli wp option update blogdescription ""
184
+ ```
185
+
186
+ - **Title tag**: keyword + beneficio (es. "Software Gestionale | Prova Gratuita 14 Giorni")
187
+ - **Meta description**: 150-160 caratteri con CTA implicita
188
+ - **Un solo H1**: la headline principale
189
+ - **URL slug**: breve e descrittivo (es. `/prova-gratuita/`)
190
+ - **Canonical**: impostare per evitare duplicati (varianti A/B)
191
+
192
+ ### 2.5 Performance = Conversione
193
+
194
+ Ogni secondo di caricamento in piu riduce le conversioni del 7%.
195
+
196
+ | Azione | Impatto | Come |
197
+ |--------|---------|------|
198
+ | Ottimizzazione immagini | Alto | WebP, dimensioni appropriate, lazy loading |
199
+ | Minificazione CSS/JS | Medio | Autoptimize o plugin simile |
200
+ | CDN | Alto | Cloudflare (free tier) |
201
+ | Hosting veloce | Alto | LiteSpeed, Nginx, non shared hosting |
202
+ | Preload font | Medio | `<link rel="preload">` per font custom |
203
+ | Critical CSS inline | Alto | Solo CSS above-the-fold inline |
204
+
205
+ **Target Core Web Vitals:**
206
+ - LCP (Largest Contentful Paint): < 2.5s
207
+ - FID (First Input Delay): < 100ms
208
+ - CLS (Cumulative Layout Shift): < 0.1
209
+
210
+ ---
211
+
212
+ ## 3. Per lo Sviluppatore
213
+
214
+ Questa sezione copre l'architettura tecnica e le best practice per sviluppare un block theme per landing page.
215
+
216
+ ### 3.1 Architettura Theme
217
+
218
+ Una landing page richiede un template dedicato senza la navigazione standard:
219
+
220
+ ```
221
+ themes/landing-theme/
222
+ ├── style.css # Header theme (metadata)
223
+ ├── theme.json # Design tokens e stili globali
224
+ ├── functions.php # Enqueue fonts, setup theme
225
+ ├── templates/
226
+ │ ├── index.html # Fallback
227
+ │ ├── front-page.html # Homepage statica (landing)
228
+ │ ├── page.html # Pagina generica
229
+ │ ├── page-landing.html # Template custom senza nav
230
+ │ └── 404.html # Pagina non trovata
231
+ ├── parts/
232
+ │ ├── header.html # Header standard (per pagine non-landing)
233
+ │ ├── header-minimal.html # Header minimale (solo logo)
234
+ │ └── footer-minimal.html # Footer legale minimale
235
+ └── patterns/
236
+ ├── hero-landing.php
237
+ ├── social-proof.php
238
+ ├── benefits.php
239
+ ├── testimonials.php
240
+ ├── pricing-table.php
241
+ ├── faq-accordion.php
242
+ └── cta-final.php
243
+ ```
244
+
245
+ ### 3.2 theme.json — Design Tokens per Conversione
246
+
247
+ #### Palette CTA-Focused
248
+
249
+ ```json
250
+ {
251
+ "$schema": "https://schemas.wp.org/wp/6.7/theme.json",
252
+ "version": 3,
253
+ "settings": {
254
+ "color": {
255
+ "palette": [
256
+ { "slug": "base", "color": "#0a0a0a", "name": "Base" },
257
+ { "slug": "contrast", "color": "#ffffff", "name": "Contrast" },
258
+ { "slug": "accent", "color": "#f97316", "name": "Accent (CTA)" },
259
+ { "slug": "accent-hover", "color": "#ea580c", "name": "Accent Hover" },
260
+ { "slug": "surface", "color": "#171717", "name": "Surface" },
261
+ { "slug": "muted", "color": "#a3a3a3", "name": "Muted" },
262
+ { "slug": "success", "color": "#22c55e", "name": "Success" }
263
+ ],
264
+ "defaultPalette": false,
265
+ "defaultGradients": false
266
+ }
267
+ }
268
+ }
269
+ ```
270
+
271
+ **Nota**: il colore CTA (`accent`) deve avere il massimo contrasto visivo rispetto al resto della pagina. Arancione su sfondo scuro e una combinazione ad alta conversione.
272
+
273
+ #### Typography Persuasiva
274
+
275
+ ```json
276
+ {
277
+ "settings": {
278
+ "typography": {
279
+ "fontFamilies": [
280
+ {
281
+ "fontFamily": "'Inter', -apple-system, sans-serif",
282
+ "slug": "body",
283
+ "name": "Body"
284
+ },
285
+ {
286
+ "fontFamily": "'Cal Sans', 'Inter', sans-serif",
287
+ "slug": "heading",
288
+ "name": "Heading"
289
+ }
290
+ ],
291
+ "fontSizes": [
292
+ { "slug": "small", "size": "0.875rem" },
293
+ { "slug": "medium", "size": "1rem" },
294
+ { "slug": "large", "size": "1.25rem" },
295
+ { "slug": "x-large", "size": "clamp(1.5rem, 3vw, 2rem)" },
296
+ { "slug": "xx-large", "size": "clamp(2rem, 5vw, 3.5rem)" },
297
+ { "slug": "hero", "size": "clamp(2.5rem, 6vw, 4.5rem)" }
298
+ ]
299
+ }
300
+ }
301
+ }
302
+ ```
303
+
304
+ **`clamp()`** per il hero: il titolo si scala fluidamente da mobile (2.5rem) a desktop (4.5rem) senza media queries.
305
+
306
+ #### Layout e Stili Globali
307
+
308
+ ```json
309
+ {
310
+ "settings": {
311
+ "layout": {
312
+ "contentSize": "800px",
313
+ "wideSize": "1200px"
314
+ }
315
+ },
316
+ "styles": {
317
+ "elements": {
318
+ "button": {
319
+ "color": {
320
+ "background": "var(--wp--preset--color--accent)",
321
+ "text": "var(--wp--preset--color--contrast)"
322
+ },
323
+ "typography": {
324
+ "fontWeight": "600",
325
+ "fontSize": "var(--wp--preset--font-size--large)"
326
+ },
327
+ "border": {
328
+ "radius": "8px"
329
+ },
330
+ "spacing": {
331
+ "padding": {
332
+ "top": "1rem",
333
+ "bottom": "1rem",
334
+ "left": "2rem",
335
+ "right": "2rem"
336
+ }
337
+ },
338
+ ":hover": {
339
+ "color": {
340
+ "background": "var(--wp--preset--color--accent-hover)"
341
+ }
342
+ }
343
+ },
344
+ "heading": {
345
+ "typography": {
346
+ "fontFamily": "var(--wp--preset--font-family--heading)",
347
+ "fontWeight": "700",
348
+ "lineHeight": "1.1"
349
+ }
350
+ }
351
+ },
352
+ "blocks": {
353
+ "core/button": {
354
+ "variations": {
355
+ "outline": {
356
+ "border": {
357
+ "color": "var(--wp--preset--color--accent)",
358
+ "width": "2px"
359
+ },
360
+ "color": {
361
+ "text": "var(--wp--preset--color--accent)",
362
+ "background": "transparent"
363
+ }
364
+ }
365
+ }
366
+ }
367
+ }
368
+ }
369
+ }
370
+ ```
371
+
372
+ ### 3.3 Templates
373
+
374
+ #### page-landing.html — Template senza navigazione
375
+
376
+ ```html
377
+ <!-- wp:template-part {"slug":"header-minimal","area":"header"} /-->
378
+
379
+ <!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
380
+ <main class="wp-block-group">
381
+ <!-- wp:post-content {"layout":{"type":"constrained"}} /-->
382
+ </main>
383
+ <!-- /wp:group -->
384
+
385
+ <!-- wp:template-part {"slug":"footer-minimal","area":"footer"} /-->
386
+ ```
387
+
388
+ #### parts/header-minimal.html — Solo logo
389
+
390
+ ```html
391
+ <!-- wp:group {"style":{"spacing":{"padding":{"top":"1rem","bottom":"1rem"}}},"layout":{"type":"constrained"}} -->
392
+ <div class="wp-block-group" style="padding-top:1rem;padding-bottom:1rem">
393
+ <!-- wp:group {"layout":{"type":"flex","justifyContent":"center"}} -->
394
+ <div class="wp-block-group">
395
+ <!-- wp:site-logo {"width":120} /-->
396
+ </div>
397
+ <!-- /wp:group -->
398
+ </div>
399
+ <!-- /wp:group -->
400
+ ```
401
+
402
+ #### parts/footer-minimal.html — Footer legale
403
+
404
+ ```html
405
+ <!-- wp:group {"backgroundColor":"surface","style":{"spacing":{"padding":{"top":"2rem","bottom":"2rem"}}},"layout":{"type":"constrained"}} -->
406
+ <div class="wp-block-group has-surface-background-color has-background" style="padding-top:2rem;padding-bottom:2rem">
407
+ <!-- wp:paragraph {"align":"center","textColor":"muted","fontSize":"small"} -->
408
+ <p class="has-text-align-center has-muted-color has-text-color has-small-font-size">
409
+ <a href="/privacy-policy/">Privacy Policy</a> | <a href="/termini/">Termini e Condizioni</a>
410
+ </p>
411
+ <!-- /wp:paragraph -->
412
+ <!-- wp:paragraph {"align":"center","textColor":"muted","fontSize":"small"} -->
413
+ <p class="has-text-align-center has-muted-color has-text-color has-small-font-size">
414
+ Nome Azienda S.r.l. — P.IVA 00000000000
415
+ </p>
416
+ <!-- /wp:paragraph -->
417
+ </div>
418
+ <!-- /wp:group -->
419
+ ```
420
+
421
+ ### 3.4 Patterns
422
+
423
+ #### Pattern: Hero Landing
424
+
425
+ ```php
426
+ <?php
427
+ /**
428
+ * Title: Hero Landing
429
+ * Slug: landing-theme/hero-landing
430
+ * Categories: featured, landing
431
+ * Keywords: hero, landing, CTA
432
+ */
433
+ ?>
434
+ <!-- wp:group {"align":"full","backgroundColor":"base","style":{"spacing":{"padding":{"top":"6rem","bottom":"6rem","left":"2rem","right":"2rem"}}},"layout":{"type":"constrained","contentSize":"800px"}} -->
435
+ <div class="wp-block-group alignfull has-base-background-color has-background" style="padding:6rem 2rem">
436
+ <!-- wp:heading {"textAlign":"center","level":1,"fontSize":"hero","textColor":"contrast"} -->
437
+ <h1 class="wp-block-heading has-text-align-center has-contrast-color has-text-color has-hero-font-size">Headline con la tua value proposition</h1>
438
+ <!-- /wp:heading -->
439
+ <!-- wp:paragraph {"align":"center","textColor":"muted","fontSize":"large"} -->
440
+ <p class="has-text-align-center has-muted-color has-text-color has-large-font-size">Una frase che espande il beneficio principale e motiva il visitatore ad agire adesso.</p>
441
+ <!-- /wp:paragraph -->
442
+ <!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
443
+ <div class="wp-block-buttons">
444
+ <!-- wp:button {"fontSize":"large"} -->
445
+ <div class="wp-block-button has-custom-font-size has-large-font-size"><a class="wp-block-button__link wp-element-button">Inizia la prova gratuita</a></div>
446
+ <!-- /wp:button -->
447
+ </div>
448
+ <!-- /wp:buttons -->
449
+ <!-- wp:paragraph {"align":"center","textColor":"muted","fontSize":"small"} -->
450
+ <p class="has-text-align-center has-muted-color has-text-color has-small-font-size">Nessuna carta di credito richiesta. Cancella quando vuoi.</p>
451
+ <!-- /wp:paragraph -->
452
+ </div>
453
+ <!-- /wp:group -->
454
+ ```
455
+
456
+ #### Pattern: Social Proof
457
+
458
+ ```php
459
+ <?php
460
+ /**
461
+ * Title: Social Proof Bar
462
+ * Slug: landing-theme/social-proof
463
+ * Categories: landing
464
+ * Keywords: social proof, loghi, trust
465
+ */
466
+ ?>
467
+ <!-- wp:group {"style":{"spacing":{"padding":{"top":"2rem","bottom":"2rem"}},"border":{"top":{"color":"var(--wp--preset--color--surface)","width":"1px"},"bottom":{"color":"var(--wp--preset--color--surface)","width":"1px"}}},"layout":{"type":"constrained"}} -->
468
+ <div class="wp-block-group" style="border-top:1px solid var(--wp--preset--color--surface);border-bottom:1px solid var(--wp--preset--color--surface);padding:2rem">
469
+ <!-- wp:paragraph {"align":"center","textColor":"muted","fontSize":"small"} -->
470
+ <p class="has-text-align-center has-muted-color has-text-color has-small-font-size"><strong>Scelto da oltre 10.000 professionisti</strong></p>
471
+ <!-- /wp:paragraph -->
472
+ <!-- wp:group {"layout":{"type":"flex","justifyContent":"center","flexWrap":"wrap"}} -->
473
+ <div class="wp-block-group">
474
+ <!-- wp:paragraph {"textColor":"muted"} -->
475
+ <p class="has-muted-color has-text-color">Logo 1</p>
476
+ <!-- /wp:paragraph -->
477
+ <!-- wp:paragraph {"textColor":"muted"} -->
478
+ <p class="has-muted-color has-text-color">Logo 2</p>
479
+ <!-- /wp:paragraph -->
480
+ <!-- wp:paragraph {"textColor":"muted"} -->
481
+ <p class="has-muted-color has-text-color">Logo 3</p>
482
+ <!-- /wp:paragraph -->
483
+ <!-- wp:paragraph {"textColor":"muted"} -->
484
+ <p class="has-muted-color has-text-color">Logo 4</p>
485
+ <!-- /wp:paragraph -->
486
+ </div>
487
+ <!-- /wp:group -->
488
+ </div>
489
+ <!-- /wp:group -->
490
+ ```
491
+
492
+ #### Pattern: Testimonials
493
+
494
+ ```php
495
+ <?php
496
+ /**
497
+ * Title: Testimonianze
498
+ * Slug: landing-theme/testimonials
499
+ * Categories: landing, testimonials
500
+ * Keywords: testimonials, recensioni, social proof
501
+ */
502
+ ?>
503
+ <!-- wp:group {"style":{"spacing":{"padding":{"top":"4rem","bottom":"4rem"}}},"layout":{"type":"constrained"}} -->
504
+ <div class="wp-block-group" style="padding:4rem 0">
505
+ <!-- wp:heading {"textAlign":"center","level":2} -->
506
+ <h2 class="wp-block-heading has-text-align-center">Cosa dicono i nostri clienti</h2>
507
+ <!-- /wp:heading -->
508
+ <!-- wp:columns {"isStackedOnMobile":true,"style":{"spacing":{"blockGap":{"left":"2rem"}}}} -->
509
+ <div class="wp-block-columns is-stacked-on-mobile">
510
+ <!-- wp:column {"backgroundColor":"surface","style":{"spacing":{"padding":{"top":"2rem","bottom":"2rem","left":"1.5rem","right":"1.5rem"}},"border":{"radius":"12px"}}} -->
511
+ <div class="wp-block-column has-surface-background-color has-background" style="border-radius:12px;padding:2rem 1.5rem">
512
+ <!-- wp:paragraph {"fontSize":"large"} -->
513
+ <p class="has-large-font-size">"Risultato incredibile. Ho raddoppiato le conversioni in due settimane."</p>
514
+ <!-- /wp:paragraph -->
515
+ <!-- wp:paragraph {"textColor":"muted","fontSize":"small"} -->
516
+ <p class="has-muted-color has-text-color has-small-font-size"><strong>Mario Rossi</strong> — CEO, Azienda Srl</p>
517
+ <!-- /wp:paragraph -->
518
+ </div>
519
+ <!-- /wp:column -->
520
+ <!-- wp:column {"backgroundColor":"surface","style":{"spacing":{"padding":{"top":"2rem","bottom":"2rem","left":"1.5rem","right":"1.5rem"}},"border":{"radius":"12px"}}} -->
521
+ <div class="wp-block-column has-surface-background-color has-background" style="border-radius:12px;padding:2rem 1.5rem">
522
+ <!-- wp:paragraph {"fontSize":"large"} -->
523
+ <p class="has-large-font-size">"Semplice da usare, risultati misurabili dal primo giorno."</p>
524
+ <!-- /wp:paragraph -->
525
+ <!-- wp:paragraph {"textColor":"muted","fontSize":"small"} -->
526
+ <p class="has-muted-color has-text-color has-small-font-size"><strong>Laura Bianchi</strong> — Marketing Manager, Brand SpA</p>
527
+ <!-- /wp:paragraph -->
528
+ </div>
529
+ <!-- /wp:column -->
530
+ </div>
531
+ <!-- /wp:columns -->
532
+ </div>
533
+ <!-- /wp:group -->
534
+ ```
535
+
536
+ #### Pattern: FAQ Accordion
537
+
538
+ ```php
539
+ <?php
540
+ /**
541
+ * Title: FAQ Accordion
542
+ * Slug: landing-theme/faq-accordion
543
+ * Categories: landing, faq
544
+ * Keywords: faq, domande, accordion
545
+ */
546
+ ?>
547
+ <!-- wp:group {"style":{"spacing":{"padding":{"top":"4rem","bottom":"4rem"}}},"layout":{"type":"constrained","contentSize":"700px"}} -->
548
+ <div class="wp-block-group" style="padding:4rem 0">
549
+ <!-- wp:heading {"textAlign":"center","level":2} -->
550
+ <h2 class="wp-block-heading has-text-align-center">Domande frequenti</h2>
551
+ <!-- /wp:heading -->
552
+ <!-- wp:details -->
553
+ <details class="wp-block-details">
554
+ <summary>Come funziona la prova gratuita?</summary>
555
+ <!-- wp:paragraph {"textColor":"muted"} -->
556
+ <p class="has-muted-color has-text-color">Hai 14 giorni per provare tutte le funzionalita senza limiti. Non serve carta di credito. Se non ti convince, non paghi nulla.</p>
557
+ <!-- /wp:paragraph -->
558
+ </details>
559
+ <!-- /wp:details -->
560
+ <!-- wp:details -->
561
+ <details class="wp-block-details">
562
+ <summary>Posso cancellare in qualsiasi momento?</summary>
563
+ <!-- wp:paragraph {"textColor":"muted"} -->
564
+ <p class="has-muted-color has-text-color">Si, puoi cancellare con un click dalle impostazioni del tuo account. Nessun vincolo contrattuale.</p>
565
+ <!-- /wp:paragraph -->
566
+ </details>
567
+ <!-- /wp:details -->
568
+ <!-- wp:details -->
569
+ <details class="wp-block-details">
570
+ <summary>Offrite supporto in italiano?</summary>
571
+ <!-- wp:paragraph {"textColor":"muted"} -->
572
+ <p class="has-muted-color has-text-color">Certo! Il nostro team di supporto risponde in italiano via email e chat dal lunedi al venerdi, 9-18.</p>
573
+ <!-- /wp:paragraph -->
574
+ </details>
575
+ <!-- /wp:details -->
576
+ </div>
577
+ <!-- /wp:group -->
578
+ ```
579
+
580
+ #### Pattern: CTA Finale
581
+
582
+ ```php
583
+ <?php
584
+ /**
585
+ * Title: CTA Finale
586
+ * Slug: landing-theme/cta-final
587
+ * Categories: landing, call-to-action
588
+ * Keywords: CTA, conversione, finale
589
+ */
590
+ ?>
591
+ <!-- wp:group {"align":"full","backgroundColor":"surface","style":{"spacing":{"padding":{"top":"5rem","bottom":"5rem","left":"2rem","right":"2rem"}}},"layout":{"type":"constrained","contentSize":"600px"}} -->
592
+ <div class="wp-block-group alignfull has-surface-background-color has-background" style="padding:5rem 2rem">
593
+ <!-- wp:heading {"textAlign":"center","level":2,"fontSize":"xx-large"} -->
594
+ <h2 class="wp-block-heading has-text-align-center has-xx-large-font-size">Pronto a iniziare?</h2>
595
+ <!-- /wp:heading -->
596
+ <!-- wp:paragraph {"align":"center","textColor":"muted","fontSize":"large"} -->
597
+ <p class="has-text-align-center has-muted-color has-text-color has-large-font-size">Unisciti a migliaia di professionisti che hanno gia scelto noi.</p>
598
+ <!-- /wp:paragraph -->
599
+ <!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
600
+ <div class="wp-block-buttons">
601
+ <!-- wp:button {"fontSize":"large"} -->
602
+ <div class="wp-block-button has-custom-font-size has-large-font-size"><a class="wp-block-button__link wp-element-button">Inizia la prova gratuita</a></div>
603
+ <!-- /wp:button -->
604
+ </div>
605
+ <!-- /wp:buttons -->
606
+ <!-- wp:paragraph {"align":"center","textColor":"muted","fontSize":"small"} -->
607
+ <p class="has-text-align-center has-muted-color has-text-color has-small-font-size">14 giorni gratis. Nessuna carta richiesta. Cancella quando vuoi.</p>
608
+ <!-- /wp:paragraph -->
609
+ </div>
610
+ <!-- /wp:group -->
611
+ ```
612
+
613
+ ### 3.5 Plugin Consigliati
614
+
615
+ | Plugin | Scopo | Alternativa |
616
+ |--------|-------|-------------|
617
+ | **WPForms Lite** | Form contatti/lead gen | Contact Form 7, Fluent Forms |
618
+ | **MonsterInsights** | Google Analytics integrato | Site Kit by Google |
619
+ | **Yoast SEO** | SEO on-page, meta | Rank Math |
620
+ | **WP Super Cache** | Caching pagine | W3 Total Cache, LiteSpeed Cache |
621
+ | **ShortPixel** | Ottimizzazione immagini | Imagify, EWWW |
622
+ | **Complianz** | GDPR cookie banner | Iubenda, CookieYes |
623
+ | **Perfmatters** | Performance fine-tuning | Asset CleanUp |
624
+
625
+ ### 3.6 Workflow di Sviluppo
626
+
627
+ #### Ciclo di sviluppo
628
+
629
+ ```
630
+ 1. Modifica file theme (templates, theme.json, patterns)
631
+
632
+ 2. Salva — wp-env monta i file in tempo reale
633
+
634
+ 3. Ricarica browser su localhost:8888
635
+
636
+ 4. Verifica nel Site Editor (wp-admin/site-editor.php)
637
+
638
+ 5. Testa responsive (mobile, tablet, desktop)
639
+
640
+ 6. Verifica CTA visibilita e contrasto
641
+
642
+ 7. Ripeti
643
+ ```
644
+
645
+ #### Comandi WP-CLI utili
646
+
647
+ ```bash
648
+ # Creare pagine di supporto
649
+ npx wp-env run cli wp post create \
650
+ --post_type=page \
651
+ --post_status=publish \
652
+ --post_title="Privacy Policy"
653
+
654
+ npx wp-env run cli wp post create \
655
+ --post_type=page \
656
+ --post_status=publish \
657
+ --post_title="Termini e Condizioni"
658
+
659
+ # Impostare homepage statica
660
+ npx wp-env run cli wp option update show_on_front page
661
+ npx wp-env run cli wp option update page_on_front 2
662
+
663
+ # Fermare e riavviare
664
+ npx wp-env stop
665
+ npx wp-env start
666
+ ```
667
+
668
+ #### Debug
669
+
670
+ ```bash
671
+ # Leggere il log di debug
672
+ npx wp-env run cli cat /var/www/html/wp-content/debug.log
673
+
674
+ # Controllare errori PHP
675
+ npx wp-env logs wordpress --watch
676
+
677
+ # Verificare che il tema sia valido
678
+ npx wp-env run cli wp theme status landing-theme
679
+ ```
680
+
681
+ ---
682
+
683
+ ## 4. Checklist di Lancio
684
+
685
+ ### Conversione
686
+ - [ ] CTA primario visibile above the fold
687
+ - [ ] Un solo obiettivo per pagina (una sola CTA)
688
+ - [ ] Testo CTA orientato all'azione ("Inizia", "Scarica", "Prenota")
689
+ - [ ] Form con meno campi possibili (solo quelli essenziali)
690
+ - [ ] Social proof presente (testimonianze, numeri, loghi)
691
+ - [ ] FAQ che rispondono alle obiezioni piu comuni
692
+ - [ ] Senso di urgenza o scarsita (se appropriato)
693
+
694
+ ### Contenuto
695
+ - [ ] Headline chiara e immediata (< 10 parole)
696
+ - [ ] Sub-headline che espande il beneficio
697
+ - [ ] Benefici focalizzati sul risultato, non sulle feature
698
+ - [ ] Testimonianze reali con nome e ruolo
699
+ - [ ] Nessun errore grammaticale o di formattazione
700
+
701
+ ### Tecnico
702
+ - [ ] Navigazione minimale o assente
703
+ - [ ] Template responsive: mobile, tablet, desktop
704
+ - [ ] Form funzionante e testato (invio + email di conferma)
705
+ - [ ] Favicon/site icon impostata
706
+ - [ ] Redirect HTTP → HTTPS attivo
707
+ - [ ] Template 404 personalizzato
708
+
709
+ ### SEO
710
+ - [ ] Title tag con keyword + beneficio
711
+ - [ ] Meta description con CTA implicita
712
+ - [ ] Un solo H1 (headline principale)
713
+ - [ ] URL slug breve e descrittivo
714
+ - [ ] Canonical URL impostato
715
+ - [ ] robots.txt non blocca la pagina
716
+
717
+ ### Performance
718
+ - [ ] LCP < 2.5 secondi
719
+ - [ ] CLS < 0.1
720
+ - [ ] Immagini ottimizzate (WebP, dimensioni appropriate)
721
+ - [ ] Lazy loading per immagini below the fold
722
+ - [ ] Lighthouse Performance > 90 su mobile
723
+ - [ ] Nessun plugin inutile attivo
724
+
725
+ ### Analytics e Tracking
726
+ - [ ] Google Analytics/Tag Manager configurato
727
+ - [ ] Evento di conversione tracciato (form submit, click CTA)
728
+ - [ ] UTM parameters gestiti (per campagne ads)
729
+ - [ ] Facebook Pixel / altri pixel installati (se ads)
730
+ - [ ] Heatmap tool attivo (Hotjar, Microsoft Clarity — opzionale)
731
+
732
+ ---
733
+
734
+ ## 5. Riferimenti
735
+
736
+ ### Skill del Plugin
737
+
738
+ | Skill | Quando usarla |
739
+ |-------|---------------|
740
+ | `wp-block-themes` | Sviluppo theme.json, templates, parts, patterns |
741
+ | `wp-local-env` | Setup e gestione ambiente wp-env |
742
+ | `wp-deploy` | Deploy in produzione |
743
+ | `wp-performance` | Ottimizzazione performance e Core Web Vitals |
744
+ | `wp-backup` | Backup e restore |
745
+ | `wp-audit` | Verifica sicurezza e compliance |
746
+ | `wp-content` | Gestione contenuti pagine |
747
+ | `wp-interactivity-api` | Interattivita (form validazione, countdown timer) |
748
+ | `wp-block-development` | Blocchi custom per funzionalita specifiche |
749
+
750
+ ### Risorse Esterne
751
+
752
+ - [Block Theme Handbook](https://developer.wordpress.org/themes/block-themes/) — Documentazione ufficiale
753
+ - [theme.json Reference](https://developer.wordpress.org/themes/global-settings-and-styles/) — Schema completo
754
+ - [WordPress Template Hierarchy](https://developer.wordpress.org/themes/templates/template-hierarchy/) — Quale template viene usato
755
+ - [Core Web Vitals](https://web.dev/vitals/) — Metriche performance Google
756
+ - [Landing Page Best Practices](https://unbounce.com/landing-page-articles/landing-page-best-practices/) — Guida conversion optimization
757
+ - [WP-CLI Commands](https://developer.wordpress.org/cli/commands/) — Tutti i comandi CLI
758
+ - [GDPR Compliance for WordPress](https://developer.wordpress.org/apis/privacy/) — Privacy API WordPress
759
+
760
+ ---
761
+
762
+ *Guida per il plugin [wordpress-manager](https://github.com/morrealev/wordpress-manager) v1.5.0+*