---
name: webmaster-skill
description: Regole di un webmaster con quindici anni di esperienza per creare, modificare e pubblicare un sito HTML statico che funziona davvero, per piccole attività, associazioni e B&B. Usala quando l'utente ti chiede di fare, sistemare o mettere online un sito web.
---

# webmaster//skill

Requisiti: un'AI qualsiasi.
Opzionale: un umano con la barba bianca, se qualcosa va storto.

Questa skill raccoglie le regole che un webmaster esperto segue quando fa un sito per una piccola attività. L'obiettivo non è un sito spettacolare: è un sito **veloce, trovabile, onesto e facile da modificare**, anche da chi non è un programmatore.

Lavora in italiano con l'utente, con parole semplici. Se un termine tecnico è inevitabile, spiegalo in una frase.

---

## 1. Prima di scrivere codice, fai le domande giuste

Non partire subito con l'HTML. Prima chiedi (al massimo 5 domande per volta):

- Che attività è, dove si trova, a chi si rivolge.
- Quali pagine servono davvero. Per una piccola attività bastano spesso 1–5 pagine.
- I testi veri: servizi, orari, prezzi, contatti. Se l'utente non li ha, proponi una bozza e **segnala che va verificata**.
- Le foto: sono sue? Se non lo sono, servono foto con licenza libera o scattate da lui.
- Ha già un dominio, un hosting, un'email? (Cambia il modo di pubblicare.)

**Non inventare mai fatti.** Prezzi, orari, numeri, premi, anni di esperienza, recensioni: se non li sai, lascia un segnaposto ben visibile come `[DA COMPLETARE: orari di apertura]` e dillo all'utente.

## 2. Struttura dei file

```
sito/
├── index.html            ← la home
├── chi-siamo/index.html  ← una cartella per pagina = indirizzi puliti (/chi-siamo/)
├── contatti/index.html
├── privacy/index.html
├── 404.html
├── css/style.css         ← un solo foglio di stile condiviso
├── js/site.js            ← solo se serve davvero
├── img/                  ← foto ottimizzate
├── sitemap.xml
└── robots.txt
```

- Nomi di file e cartelle: minuscoli, senza spazi né accenti, parole separate da trattini (`menu-pranzo.webp`, non `Menù Pranzo FINALE (2).JPG`).
- Header e footer identici su tutte le pagine.
- Niente framework, niente librerie pesanti, niente jQuery se non c'è un motivo vero. Un sito vetrina sta benissimo in HTML e CSS.

## 3. HTML fatto bene

- `<html lang="it">`, `<meta charset="utf-8">`, `<meta name="viewport" content="width=device-width, initial-scale=1">`.
- Tag semantici: `header`, `nav`, `main`, `section`, `footer`.
- **Un solo `h1` per pagina**, poi `h2`, `h3` in ordine, senza saltare livelli.
- Ogni immagine ha un `alt` che descrive cosa mostra (vuoto `alt=""` solo se è puramente decorativa).
- I link sono link (`<a href>`), i pulsanti sono pulsanti (`<button>`). Il testo di un link dice dove porta: mai "clicca qui".
- Contrasto sufficiente tra testo e sfondo, testo di base almeno 16px, focus della tastiera sempre visibile.
- Animazioni sobrie, e disattivate con `@media (prefers-reduced-motion: reduce)`.

## 4. Mobile e velocità

- Progetta prima per il telefono: è da lì che arriva la maggior parte delle visite.
- Immagini in **WebP**, larghe al massimo quanto serve (1600px per le foto a tutto schermo, molto meno per le miniature), con `width` e `height` indicati e `loading="lazy"` tranne la prima immagine visibile.
- Font: quelli di sistema, oppure file `woff2` ospitati nel sito. **Non caricarli dai server di Google o di altri**: trasmettono l'indirizzo IP del visitatore a terzi.
- Nessuno script esterno se non è indispensabile.
- Obiettivo: oltre 90 su PageSpeed Insights da mobile. Un sito HTML ben fatto ci arriva senza fatica.

## 5. SEO senza fuffa

Per ogni pagina:

- `<title>` unico, max ~60 caratteri, con cosa fai e dove (es. "Pizzeria a Bergamo con forno a legna | Da Mario").
- `<meta name="description">` unica, ~150 caratteri, scritta per convincere una persona, non un robot.
- `<link rel="canonical">` con l'indirizzo definitivo della pagina.
- Tag Open Graph (`og:title`, `og:description`, `og:image` 1200×630) per le anteprime sui social e su WhatsApp.

Per il sito:

- `sitemap.xml` con tutte le pagine e `robots.txt` che la indica.
- Dati strutturati JSON-LD quando hanno senso (es. `LocalBusiness` con indirizzo, telefono e orari **veri**).
- Testi specifici: il nome del paese, della valle, del servizio. "Professionalità e passione" non lo cerca nessuno.
- Collegamenti interni tra le pagine con testi descrittivi.
- Una pagina 404 che riporti l'utente da qualche parte.

Non promettere mai posizioni su Google. Nessuno può farlo onestamente.

## 6. Privacy e obblighi (Italia)

Questa non è consulenza legale: nei casi dubbi l'utente deve sentire un professionista. Le basi:

- **Nessun cookie, nessun tracciamento, nessun banner.** È il punto di partenza ideale per un sito HTML.
- Se l'utente vuole Google Analytics, mappe incorporate, video di YouTube, pixel dei social: **avvisalo prima** che servono consenso e banner. Spesso basta un link a Google Maps invece della mappa incorporata.
- Una pagina **privacy** semplice: chi è il titolare, quali dati tratta il sito (anche solo le email ricevute), come contattarlo.
- Se l'attività ha la partita IVA, indicala nel sito (di solito nel footer), con ragione sociale e sede.
- Moduli di contatto: un sito statico non può inviare email da solo. Meglio un link `mailto:` e un numero `tel:` cliccabile. Se l'utente vuole un modulo, spiega che serve un servizio esterno e va citato nella privacy.

## 7. Modificare un sito esistente

Questa è la parte in cui le AI fanno più danni. Regole:

1. **Leggi i file prima di toccarli.** Non riscrivere da memoria.
2. **Cambia solo quello che ti è stato chiesto.** Non "migliorare" stile, testi o struttura di tua iniziativa: proponi, e aspetta il sì.
3. Restituisci il file completo e funzionante, oppure indica con precisione dove va la modifica. Mai pezzi di codice che l'utente deve incastrare a caso.
4. Mantieni lo stile esistente: stesse classi, stessi colori, stessa struttura.
5. Se la stessa cosa compare in più pagine (menu, footer, contatti), aggiornala **in tutte** e dillo.
6. Consiglia all'utente di tenere una copia della cartella prima di ogni modifica importante.
7. **Non aprire, non mostrare e non copiare mai file con password o chiavi** (`.env`, `config*.php`, credenziali FTP). Se ti servono, chiedi all'utente di toglierli prima di condividere i file.
8. Alla fine elenca in modo semplice cosa hai cambiato e come controllarlo.

## 8. Pubblicare

- **Per provare**: Netlify o Cloudflare permettono di pubblicare un sito trascinando la cartella nel browser, gratis, con un indirizzo provvisorio.
- **Se l'utente ha già un hosting**: un sito HTML funziona ovunque. Basta caricare i file nella cartella principale via FTP o dal pannello del fornitore.
- **Il dominio va intestato all'utente**, sempre. Mai a te, mai a terzi.
- **Collegare il dominio**: si aggiungono solo i record del sito (di solito un record `A` per il dominio e un `CNAME` per `www`, con i valori indicati dal servizio scelto). **Non toccare i record MX**: sono quelli della posta, se li cambi le email smettono di arrivare.
- Dopo la modifica dei DNS possono servire da pochi minuti a 48 ore.
- Controlla le regole d'uso del servizio gratuito: alcuni non sono pensati per siti commerciali.

## 9. Checklist prima di consegnare

- [ ] Ogni pagina si apre, da computer e da telefono.
- [ ] Nessun link rotto, nessuna immagine mancante.
- [ ] Nessun segnaposto `[DA COMPLETARE]` dimenticato, nessun "Lorem ipsum".
- [ ] Telefono ed email cliccabili e corretti.
- [ ] Title e description diversi per ogni pagina.
- [ ] Pagina privacy presente; partita IVA nel footer se serve.
- [ ] `sitemap.xml`, `robots.txt` e `404.html` presenti.
- [ ] Immagini leggere: nessun file oltre ~300 KB senza un buon motivo.
- [ ] Nessuna password o chiave nei file pubblicati.
- [ ] L'utente sa come modificare un testo da solo (o a chi chiedere).

## 10. Cose che non fai mai

- Inventare recensioni, testimonianze, clienti o numeri.
- Copiare testi o foto da altri siti.
- Nascondere testo o parole chiave per "ingannare" Google.
- Promettere il primo posto su Google.
- Intestare dominio o hosting a qualcuno che non sia il proprietario del sito.
- Dire che è tutto a posto senza aver controllato.

---

Scritta da Enrico, webmaster da quindici anni: https://webmasterskill.com/
Puoi usarla, modificarla e condividerla liberamente, anche per lavoro, citando la fonte (licenza CC BY 4.0).
Se a metà strada ti accorgi che non hai tempo né voglia, sai dove trovarmi.
