# Simon's Guest House Rome — Redesign · Design Spec

- **Data:** 2026-06-24
- **Autore:** Paolo + Claude
- **Stato:** Approvato (direzione) → in attesa di review dello spec
- **Tipo progetto:** Redesign completo sito vetrina (statico, multilingua) di una guest house a Roma

---

## 1. Obiettivo

Sostituire l'attuale sito Mobirise (4 pagine HTML, solo italiano, anonimo, immagini pesanti) con un sito **Astro statico, moderno, audace e multilingua (15 lingue)**, ottimizzato per **SEO e GEO** (citabilità da Google AI Overviews / ChatGPT / Gemini / Perplexity), veloce, accessibile, ospitabile su **Aruba (Apache condiviso, no Node)**.

### Risultati attesi
- Sito 100% statico (zero PHP/MySQL), Lighthouse ≥ 95 in tutte le categorie.
- 15 lingue con rilevamento automatico + selettore manuale + memoria della scelta.
- Immagini ottimizzate (da 5–6 MB → ~100–300 KB AVIF/WebP responsive).
- Design distintivo "Eleganza Romana × Street Art del Pigneto" con animazioni curate.
- Contenuti casa migliorati; **contenuti camere preservati alla lettera** (solo tradotti).
- Structured data, hreflang, sitemap multilingua, robots che ammette i crawler AI.

---

## 2. Vincoli (non negoziabili)

1. **Le informazioni delle camere NON si toccano.** Si possono solo tradurre e ri-presentare graficamente. I testi sono congelati nella §6.
2. **Hosting Aruba, Apache condiviso.** Solo output statico. Deploy via FTP/SFTP della cartella `dist/`. Nessun runtime Node lato server. Path tutti **minuscoli** (filesystem case-sensitive).
3. **Nessun backend.** Niente form server-side, niente DB. Contatti diretti (WhatsApp / email / telefono / mappa).
4. **Booking esterno:** Amenitiz → `https://simonsguesthouserome.amenitiz.io/{locale}/booking/room`. Non replicare prezzi/disponibilità sul sito.
5. **Conformità legale Italia:** mostrare **CIN** (Codice Identificativo Nazionale, obbligatorio) e dati aziendali; Privacy & Cookie policy.

---

## 3. Concept & Design System

### 3.1 Concept
**"Eleganza Romana × Street Art del Pigneto".** Le camere sono classico-romantiche (marmo, specchi dorati, Klimt); il quartiere (Pigneto / Tor Pignattara) è giovane e street-art. Il sito **mette in scena questa tensione** come firma: lusso editoriale da rivista + accenti urbani audaci. Si osa con layout, fotografia grande e motion, mantenendo raffinatezza.

### 3.2 Palette (valori di partenza, rifinibili in fase design)
- **Travertino / crema** (sfondo): `#F4EFE6` · bianco caldo `#FBF8F2`
- **Inchiostro** (testo): `#1A1715`
- **Corallo Roma** (brand pop, evoluzione del colore logo attuale): `#F25C4D`
- **Ottone / oro** (filo elegante, dettagli): `#C9A24B`
- Neutri di supporto (grigi caldi) derivati dalla base travertino.
- Disciplina: l'energia "street-art" arriva da **tipografia, layout, motion e fotografia**, non da una palette arcobaleno.

### 3.3 Tipografia
- **Display serif editoriale:** Fraunces (variabile, con personalità/optical sizing). *(alternative: Playfair Display, Cormorant)*
- **Body sans:** Inter (variabile, ottima copertura Latin/Cyrillic). *(alternative: Schibsted Grotesk, Geist)*
- **Multi-script (obbligatorio):** Noto Sans SC (cinese), Noto Sans JP (giapponese), Noto Sans KR (coreano), IBM Plex Sans Arabic / Noto Sans Arabic (arabo), Noto Sans Hebrew / Heebo (ebraico).
- **Font self-hosted e subsettati** (niente chiamata esterna a Google Fonts → performance + privacy/GDPR). Caricamento condizionato per script (es. font arabo servito solo a `/ar/` via `unicode-range` U+0600–06FF).

### 3.4 Motion ("osiamo", ma con misura)
- Transizioni di pagina fluide: **Astro View Transitions**.
- Scroll-reveal a sezioni (IntersectionObserver), parallax hero, hover cinematici sulle foto (scale/clip).
- Tocco street-art: separatori/maschere con effetto "pennellata/spray" (SVG mask).
- Prevalentemente CSS, JS minimo. **Rispetto totale di `prefers-reduced-motion`** (fallback statico).

### 3.5 Logo
- Logo attuale debole (icona generica corallo). Proposta: **wordmark + monogramma "S" rinnovati**, corallo come colore-ponte. *(Da confermare con il cliente; fino ad allora si usa un wordmark provvisorio.)*

---

## 4. Architettura informativa

4 pagine arricchite + sezioni ad alto valore SEO/GEO. Stessa navigazione su tutte le pagine (header con selettore lingua + CTA "Prenota", footer completo).

### 4.1 Home (`/{lang}/`)
1. **Hero** audace (foto forte, titolo display, sub, CTA "Prenota ora", scroll cue, parallax).
2. **Intro/racconto** breve e migliorato (vedi §7 copy).
3. **Anteprima camere** (4 tipologie, card con foto + link a `/camere`).
4. **Highlights / "Perché noi"** (Wi-Fi gratis, A/C, insonorizzate, ascensore, posizione, reception, deposito bagagli…).
5. **Teaser quartiere & street-art** (link a Chi siamo/Quartiere).
6. **"Come arrivare" in sintesi** (aeroporti/Termini, distanze in minuti — answer-first).
7. **Recensioni** (le 3 esistenti, struttura per aggiungerne).
8. **FAQ** (4–6 domande chiave, answer-first).
9. **CTA finale** "Prenota ora".
10. **Footer** (indirizzo, contatti, orari, social, CIN, mappa, link legali).

### 4.2 Le Camere (`/{lang}/camere`)
- Intro breve.
- Una sezione per camera (ordine: Suite Deluxe → Deluxe → Standard → Economy), ciascuna con: **descrizione verbatim**, **servizi inclusi verbatim**, **servizi extra verbatim**, gallery dedicata (lightbox), CTA "Prenota".
- Nav rapida / anchor per camera.

### 4.3 Chi siamo / Il quartiere (`/{lang}/chi-siamo`)
- **Storia dei gestori** (segnale E-E-A-T, "ospitiamo da…", lingue parlate, byline + data aggiornamento).
- La struttura (testo esistente migliorato, mai contraddetto).
- **Guida al quartiere** (Pigneto/Tor Pignattara: street-art, atmosfera, cosa vedere) — paragrafi auto-conclusivi e citabili.
- **"Come arrivare"** dettagliato e denso di fatti: Fiumicino (Leonardo Express ~30 min ~€14; FL1; shuttle; taxi tariffa fissa), Ciampino, Termini/Tiburtina → porta (minuti a piedi, bus/tram 105/linee, metro Malatesta MEC), avviso **ZTL** per chi arriva in auto, parcheggio. *(Distanze/prezzi datati e verificati prima della pubblicazione.)*
- **Cosa fare nei dintorni** (landmark + distanze/minuti).

### 4.4 Contatti (`/{lang}/contatti`)
- WhatsApp / email / telefono in evidenza (azioni dirette).
- Mappa Google embed, indirizzo, orari reception.
- **Dati legali + CIN**, link a Privacy/Cookie policy.
- Indicazioni essenziali (rimando a "Come arrivare").

### 4.5 Pagine di sistema
- `/{lang}/privacy`, `/{lang}/cookie` (policy).
- Root `/` = pagina-ponte JS per redirect lingua (vedi §5.3).
- `404.html` (lingua default).
- `robots.txt`, `sitemap-index.xml`, `llms.txt` (sperimentale, basso costo).

---

## 5. Strategia multilingua (15 lingue)

### 5.1 Lingue (data-driven — fonti: Roma Capitale Annuario 2024 + propensione booking online)
Confermate (14): **EN, IT, ES, DE, FR, PT-BR, ZH-Hans, JA, KO, AR (RTL), NL, PL, RU, HE (RTL)**.
**15ª lingua = slot da confermare** (default: Português Europeu `pt-PT`; alternative su misura degli ospiti reali: `ro` rumeno, `uk` ucraino, `tr` turco). L'architettura rende l'aggiunta/scambio una semplice modifica di config.

- **Default / x-default:** Inglese (`en`).
- **RTL:** Arabo + Ebraico.

### 5.2 Routing & SEO i18n (Astro i18n nativo)
- `output: 'static'`, `i18n.routing.prefixDefaultLocale: true` → ogni lingua su `/{lang}/...` (anche EN), URL simmetrici.
- `trailingSlash: 'never'` + `build.format: 'file'` → URL puliti `/{lang}/camere`. **Una sola policy**, coerente tra Astro, sitemap, canonical e `.htaccess`.
- `site: 'https://www.simonsguesthouserome.com'` (da confermare www vs non-www).
- **hreflang** in due punti: `@astrojs/sitemap` (alternates XML, mappa locale→codice) **+** `<head>` del layout con set completo di alternate **auto-referenziali**, **x-default**, e **canonical** (URL assoluti via `getAbsoluteLocaleUrl`).
- `i18n.fallback` (es. lingue minori → `en`) con `fallbackType: 'rewrite'` per non avere 404 / hreflang verso URL inesistenti.
- Dizionari UI tipizzati (`src/i18n/ui.ts`) + contenuti per lingua; tutto risolto a build (zero JS runtime per i testi).

### 5.3 Auto-rilevamento + selettore + memoria
- **Root `/`** = piccola pagina-ponte JS: ordine di scelta **scelta salvata (localStorage) → `navigator.language` → `en`**, poi redirect a `/{lang}/`. `<noscript>` con link a tutte le lingue. *(Scelta SEO-safe rispetto al redirect via Accept-Language in `.htaccess`, perché Googlebot manda sempre `en-US`; così tutte le 15 versioni restano indicizzate e i deep-link non vengono mai reindirizzati.)*
- **Selettore lingua** sempre visibile in header (lista da `getRelativeLocaleUrlList`), mantiene la pagina corrente cambiando lingua; salva la scelta.
- Nessun cookie banner per questo (preferenza tecnica, non tracciamento).

### 5.4 RTL (arabo, ebraico)
- `<html lang dir>` per locale (mappa direzione; `dir="rtl"` solo per `ar`/`he`).
- **CSS logical properties** ovunque (`margin-inline-*`, `inset-inline-*`, `text-align: start/end`, `border-start-*-radius`) → nessuno stylesheet RTL duplicato.
- Override mirati `[dir="rtl"]` solo per icone direzionali (chevron/frecce ⇒ `scaleX(-1)`); **non** specchiare icone neutre (telefono, social, play, check).
- `<bdi>`/`dir="ltr"` per numeri, email, brand latini dentro testo RTL.
- Verifica visiva obbligatoria delle pagine arabo/ebraico.

### 5.5 Qualità traduzioni
- Traduzione **AI di qualità con localizzazione** (keyword/domande adattate per mercato, non traduzione meccanica grezza — Google penalizza la MT non editata).
- Cliente può far rileggere a madrelingua le lingue principali (EN/FR/DE/ES) quando vuole.
- "Prenota ora" → deep-link Amenitiz nel locale corrispondente dove supportato, fallback `/en/` o `/it/`. *(L'elenco esatto dei locale Amenitiz va verificato in fase di implementazione — la pagina booking risponde 403 ai bot; mappatura sito→Amenitiz con fallback.)*

---

## 6. Contenuti camere — CONGELATI (verbatim, solo da tradurre)

> Questi testi non vanno modificati in italiano. Le altre lingue sono traduzioni fedeli.

### 6.1 Camera Suite Deluxe con vasca idromassaggio
**Descrizione:** «Camera Suite Deluxe con Vasca Idromassaggio Jacuzzi è una camera moderna e piena di charme, creata per un soggiorno romantico, con elementi di marmo di varie tipologie e colori presenti sia nel bagno che nella camera. La camera dispone di una comodissima cabina armadio e balcone che offre una vista sulle strade adiacenti. Il bagno offre sia Vasca Idromassaggio che box doccia semicircolare in cristallo. La Vasca Jacuzzi offre vari tipi di idromassaggi tra cui idromassaggio Shiatsu capace di stimolare l'energia e recare un profondo benessere psico-fisico.»
**Servizi inclusi:** Wi-Fi illimitato Gratuito; Bagno con Doccia e Vasca con Set di Cortesia; Asciugacapelli; Biancheria con Asciugamani; Schermo Piatto; Cassaforte; Macchina del Caffè a cialde; Deposito Bagagli Gratuito.
**Servizi Extra (su richiesta):** Allestimento romantico con bottiglia; parcheggio interno a circa 300m dalla struttura disponibile con prenotazione anticipata.
**Foto:** `img-3737.jpg`, `img-3807.jpg`, `img-3867.jpg`, `img-3758.jpg`

### 6.2 Camera Deluxe
**Descrizione:** «Camera Deluxe è una camera creata per esaltare l'eleganza e charme con il marmo in tutta la sua bellezza. La camera affaccia sulla via principale - Casilina e dispone di una spaziosissima cabina armadio. Nella creazione del bagno è stato utilizzato il marmo di colore Verde Alpi, un marmo storico italiano con delle particolari venature chiare. La doccia al suo interno offre una comodissima panchina in marmo dove potersi rilassare sotto l'acqua corrente.»
**Servizi inclusi:** Wi-Fi illimitato Gratuito; Bagno con Doccia e Set di Cortesia; Asciugacapelli; Biancheria con Asciugamani; Schermo Piatto; Cassaforte; Macchina del Caffè a cialde; Deposito Bagagli Gratuito.
**Servizi Extra (su richiesta):** Allestimento romantico con bottiglia; parcheggio interno a circa 300m dalla struttura disponibile con prenotazione anticipata.
**Foto:** `img-3922.jpg`, `img-3903.jpg`, `img-3898.jpg`

### 6.3 Camera Standard
**Descrizione:** «Camera Standard è una camera moderna perfetta per il soggiorno delle famiglie che offre un letto matrimoniale e letto a castello. La camera ha una spaziosa cabina armadio ed un ampio balcone che affaccia sulla Piazza Michele Sanmicheli con una vista sulle strade adiacenti. Il bagno dispone di una grande cabina doccia idromassaggio, finestra, wc con doccetta, lavandino con specchio e termoarredo.»
**Servizi inclusi:** Wi-Fi illimitato Gratuito; Bagno con Doccia e Set di Cortesia; Asciugacapelli; Biancheria con Asciugamani; Schermo Piatto; Cassaforte; Deposito Bagagli Gratuito.
**Servizi Extra (su richiesta):** Allestimento romantico con bottiglia; parcheggio interno a circa 300m dalla struttura disponibile con prenotazione anticipata.
**Foto:** `img-755.jpg`, `img-748.jpg`, `img-769.jpg`

### 6.4 Camera Economy con Bagno Esterno (Privato)
**Descrizione:** «Camera Economy è una camera moderna perfetta per i brevi soggiorni. La camera è dotata di aria condizionata e riscaldamento, è ampia e molto luminosa grazie alla presenza di una grande finestra. Il bagno è esterno e separato dalla camera, ma privato e rimane ad uso solo delle persone soggiornanti in questa camera. Il bagno dispone di una cabina doccia angolare, finestra, wc, bidet, lavandino con specchio e termoarredo.»
**Servizi inclusi:** Wi-Fi illimitato Gratuito; Bagno con Doccia e Set di Cortesia; Asciugacapelli; Biancheria con Asciugamani; Schermo Piatto; Cassaforte; Deposito Bagagli Gratuito.
**Servizi Extra (su richiesta):** Allestimento romantico con bottiglia.
**Foto:** `zcs1l1bll0mq8ivgubot.webp`, `c1wn37ddblgqn3xm13hs.webp`, `ioxipurzzcxpph9nms0g.webp`

> Nota: il "Chi siamo" attuale parla di **cinque camere**; le tipologie descritte sono 4. Da chiarire col cliente (es. due Standard/Economy). Non cambia i testi sopra.

---

## 7. Contenuti casa nuovi/migliorati (da produrre, poi tradurre)

I testi delle camere sono congelati; il resto **si migliora**. Da scrivere in italiano (sorgente) + EN, poi tradurre:
- Hero (titolo/sub) e intro home più evocativi (mantenendo i fatti reali: Piazza Michele Sanmicheli, Pigneto/Tor Pignattara, street-art).
- Highlights/"perché noi" (derivati dai servizi reali del "Chi siamo": insonorizzazione, A/C+riscaldamento, ascensore, Wi-Fi/TV/cassaforte/asciugacapelli gratuiti, deposito bagagli, reception, servizi a pagamento: bar/parcheggio/animali).
- Guida quartiere + "Come arrivare" (basati sul testo esistente del "Chi siamo": bus 105, tram/trenino Termini–Filarete ~8 min, metro Malatesta MEC <10 min a piedi, bus 409, vicino Mausoleo di Sant'Elena e Santa Maria Ausiliatrice) **+ dati verificati** (aeroporti, prezzi/minuti).
- FAQ (check-in/out, bagno privato/condiviso, A/C, Wi-Fi, ascensore, animali, parcheggio/ZTL, deposito bagagli, come arrivare).
- "Storia dei gestori" (E-E-A-T) — bozza da validare col cliente.

Tutti i testi scritti **answer-first** (risposta in 40–60 parole), heading come domande reali, densità di fatti (minuti/metri/€), paragrafi auto-conclusivi/citabili.

---

## 8. SEO & GEO

### 8.1 SEO tecnico
- Sitemap XML multilingua con hreflang (`@astrojs/sitemap`), referenziata in `robots.txt`.
- Meta title/description per pagina e per lingua; Open Graph/Twitter card; canonical per-locale.
- HTML semantico, heading gerarchici, `alt` descrittivi, mobile-first, < 3s mobile (statico).
- NAP coerente (nome/indirizzo/telefono identici) tra sito, Google Business Profile, OTA.

### 8.2 GEO (citabilità AI)
- Scrittura answer-first + heading-domanda + densità di fatti (vedi §7).
- Blocchi modulari indipendentemente citabili (un fatto = una sezione breve).
- **`robots.txt` ammette i crawler AI**: GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended.
- Byline + "aggiornato il" sulle pagine guida; expertise locale dei gestori.
- `llms.txt` sperimentale (basso costo, non determinante).
- Off-site (consiglio, non codice): curare Google Business Profile, recensioni reali, `sameAs`.

### 8.3 Structured data (JSON-LD `@graph`, server-rendered nell'HTML)
- Entità principale: **`LodgingBusiness`** (default prudente per affittacamere) **oppure `BedAndBreakfast`** se la colazione è servita — *da confermare col cliente*. **Evitare** `Hotel`/`VacationRental`/`LocalBusiness` generico.
- Campi: `@id` stabile (es. `#lodging`, identico in tutte le lingue), `name`, `description` (localizzata, content-match), `url` per-locale, `telephone` (E.164), `email`, `address` (PostalAddress: Roma/RM/00176/IT), `geo` (lat/lng), `image` (ImageObject), `priceRange` (indicatore grezzo, es. `€€`), `currenciesAccepted: EUR`, `checkinTime`/`checkoutTime`, `numberOfRooms`, `petsAllowed`, `amenityFeature` (solo servizi reali e visibili), `availableLanguage` (lingue parlate dai gestori), `sameAs` (GBP/Booking/TripAdvisor/Instagram).
- Camere: ogni tipologia come `["HotelRoom","Product"]` (multi-typed) con `occupancy`, `bed`, `amenityFeature`. **Niente prezzi statici.**
- Prenotabilità: `potentialAction: ReserveAction` → `EntryPoint(urlTemplate = URL Amenitiz)` → `LodgingReservation`.
- Supporto: `Organization`, `WebSite` (senza SearchAction, deprecato), `BreadcrumbList` (rich result reale), `FAQPage` (per estrazione AI, non per rich result Google), `ImageObject`.
- **Recensioni:** niente `aggregateRating`/`review` auto-pubblicate per le stelle (non idonee per LocalBusiness/lodging e rischio spam); le stelle reali via GBP/OTA. Eventuali recensioni solo come contesto onesto/content-matched.
- Multilingua: un blocco JSON-LD per lingua, **stessa struttura**, testo localizzato, `inLanguage` allineato all'hreflang, **un solo `@id`** per entità.

---

## 9. Stack tecnico & struttura repo

- **Astro** (5.x) + `@astrojs/sitemap`, i18n nativo, `astro:assets` (Sharp), View Transitions. JS minimo (islands solo dove serve: lightbox, selettore lingua, scroll-reveal).
- **Immagini:** importate da `src/` (mai da `public/`), `<Picture>` per hero/gallery (`formats: ['avif','webp']`, `widths` + `sizes`), `<Image>` per inline; `loading="lazy"`+`decoding="async"` di default, hero `eager`/`fetchpriority="high"`; `image.layout: 'constrained'`. Pre-ridurre i sorgenti monster (>2000px), `NODE_OPTIONS=--max-old-space-size=4096` per il build, preservare cache `.astro`.

### Struttura cartelle (proposta)
```
/(root = app Astro)
  astro.config.mjs · package.json · tsconfig.json
  src/
    assets/images/...        # foto sorgente (ottimizzate a build)
    components/  layouts/  styles/
    i18n/ (ui.ts, content per lingua)
    pages/[lang]/(index, camere, chi-siamo, contatti, privacy, cookie).astro
    pages/index.astro o public/index.html  # pagina-ponte root
  public/ (.htaccess, robots.txt, llms.txt, favicon, fonts/, 404.html)
  docs/superpowers/specs/...
  _legacy/                   # sito Mobirise preservato (HTML, project.mobirise, foto originali) per riferimento
```
> Le foto attualmente in `assets/images/` e `" - mat"/` vengono **curate e copiate** in `src/assets/images/`; gli originali restano in `_legacy/`.

---

## 10. Deploy su Aruba (Apache)

- Build locale/CI → upload contenuto di `dist/` in `public_html`.
- **`.htaccess`** (in `public/`, finisce in `dist/`):
  - `Options -MultiViews`, `DirectorySlash Off`.
  - Clean URL: servire `$1.html` quando manca il file (per `build.format:'file'`).
  - Enforce **no trailing slash** (301).
  - `ErrorDocument 404 /404.html`.
  - Compressione: `mod_brotli` se disponibile (in `<IfModule>`), fallback `mod_deflate` (gzip); `Vary: Accept-Encoding`.
  - Cache: asset fingerprinted (`_astro/*`, immagini, css, js, woff2) `max-age=31536000, immutable`; **HTML `no-cache`** (i contenuti/traduzioni cambiano).
  - *(Redirect lingua gestito dalla pagina-ponte JS su `/`, non in `.htaccess` — vedi §5.3.)*
- Verifiche post-deploy: `content-encoding` (brotli/gzip), header cache, URL puliti, 404, case dei path.

---

## 11. Performance, accessibilità, privacy

- **Performance:** Lighthouse ≥ 95 (tutte le categorie), LCP < 2.0s, CLS < 0.05, immagini moderne responsive, font self-hosted subsettati, JS minimo.
- **Responsive (mobile-first):** deve essere perfetto su **smartphone, tablet e desktop**. Verifica a ~360, 768, 1024, 1440px: nessun overflow orizzontale, tap target ≥44px, nav che collassa in hamburger sotto i 900px, tipografia/spaziature fluide (clamp), immagini responsive con `sizes` corretti.
- **Accessibilità:** WCAG 2.2 AA — contrasto, focus visibili, navigazione tastiera, `alt`, heading semantici, `prefers-reduced-motion`, lightbox accessibile.
- **Privacy/GDPR:** font self-hosted (no Google Fonts esterno); mappa Google in embed (valutare consenso/lazy-load o statica con link); analytics cookieless consigliato (Plausible) → niente banner; pagine Privacy/Cookie presenti.

---

## 12. Dati/asset richiesti al cliente (non bloccanti — placeholder fino a consegna)

1. **CIN** + dati aziendali (ragione sociale, P.IVA) per footer/legale.
2. **Colazione** servita? → `BedAndBreakfast` vs `LodgingBusiness`.
3. **Numero camere** esatto (4 tipologie vs "cinque camere").
4. Accesso **FTP/SFTP Aruba** (oppure consegna `dist/`). *(Dominio confermato: `https://www.simonsguesthouserome.com`, con `www`; sito live = file locali, parità verificata.)*
5. **Analytics:** Plausible (consigliato) / GA4 / nessuno.
6. **15ª lingua** + eventuali scambi nella lista.
7. **Logo:** ok a rinnovarlo? colore brand definitivo.
8. **Coordinate GPS** struttura (le ricavo dall'indirizzo, cliente conferma).
9. Recensioni: ok a mostrare le 3 esistenti? collegare GBP/Booking?
10. Eventuali **foto nuove** del quartiere/street-art (per ora si usano le esistenti).

---

## 13. Default assunti (in assenza di risposta)

- Dominio `https://www.simonsguesthouserome.com` **(confermato, con `www`)**.
- Schema `LodgingBusiness` (switch a `BedAndBreakfast` se colazione confermata).
- `numberOfRooms: 5`.
- 15ª lingua: `pt-PT`.
- Analytics: Plausible (cookieless).
- Logo: wordmark provvisorio (corallo) fino a brief logo.
- Recensioni: mostro le 3 esistenti come testimonianze (senza markup stelle).

---

## 14. Fuori scope (YAGNI)

- Nessun form/back-end, CMS, area riservata, motore di prenotazione proprio (resta Amenitiz).
- Nessun e-commerce, nessun blog (eventuale fase 2 per contenuti GEO).
- Nessuna app/PWA offline avanzata (solo buone basi statiche).
- Nessuna migrazione dati (sito vetrina).

---

## 15. Criteri di accettazione

1. 15 lingue navigabili su `/{lang}/...`, switcher funzionante, scelta ricordata, default EN su lingua non supportata.
2. Root `/` reindirizza correttamente (salvata → browser → EN), con `<noscript>` fallback.
3. Contenuti camere identici all'originale italiano (verbatim) e tradotti nelle altre lingue.
4. hreflang + x-default + canonical corretti e reciproci (validati); sitemap multilingua.
5. JSON-LD valido (Rich Results Test per Breadcrumb/Local business; Schema Validator per il grafo).
6. RTL corretto per arabo ed ebraico (verifica visiva).
7. Lighthouse ≥ 95 in tutte le categorie su Home e Camere (mobile); immagini AVIF/WebP responsive.
8. Build statico che gira su Apache (URL puliti, 404, compressione, cache) — testato.
9. `robots.txt` ammette i crawler AI; CIN e dati legali presenti; Privacy/Cookie presenti.
10. Nessun PHP/MySQL richiesto.

---

## 16. Fasi di lavoro (dettaglio nel piano di implementazione)

1. Scaffold Astro + i18n + design system (token, font, layout base, View Transitions).
2. Componenti condivisi (header/selettore lingua, footer, card camera, gallery/lightbox, sezioni).
3. Home (IT+EN) → Camere (verbatim) → Chi siamo/Quartiere/Come arrivare → Contatti → Privacy/Cookie.
4. Pagina-ponte root + memoria scelta lingua.
5. Estensione alle 15 lingue (traduzioni + RTL).
6. SEO/GEO: meta, structured data, sitemap, robots, llms.txt.
7. Pipeline immagini (cura, import, ottimizzazione).
8. `.htaccess` + build + prova deploy.
9. QA: Lighthouse, validazione hreflang/schema, check RTL, link, cross-browser/mobile.
