- terms.html: riscritto da 9 a 18 sezioni con indice cliccabile. Include EULA (concessione, restrizioni, IP), Acceptable Use Policy (cosa si puo'/non si puo' fare con i Contenuti), disclaimer marchi terze parti (Spotify/YouTube/...), procedura DMCA, esclusione garanzie AS IS, cap responsabilita = importo pagato negli ultimi 12 mesi, clausola di manleva (indemnification) a carico dell'utente. - index.html: nuova box "Uso responsabile" sotto al pricing con i 4 punti chiave; FAQ ampliate (no affiliazione, segnalazioni copyright); testo di accettazione esplicito Termini+Privacy+Refund sotto al CTA; footer con titolarita "Luciano Zappacosta". - css/style.css: stili per use-policy box e price-consent. Linee guida prese da boilerplate di settore (4K Video Downloader, JDownloader, MediaHuman) adattate al diritto italiano e GDPR. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
MusicTools — Landing page
Sito vetrina + checkout per MusicTools, deployato su Cloudflare Pages al dominio musictools.djluza.com.
Struttura
landing/
index.html # landing principale
css/style.css # tema dark coerente con l'app
js/main.js # FAQ accordion, animazioni scroll, hook Lemon Squeezy
assets/ # favicon, immagini eventuali
legal/
terms.html # termini di servizio
privacy.html # informativa privacy GDPR
refund.html # politica rimborsi
_headers # security + cache (Cloudflare Pages syntax)
_redirects # redirect rules
Nessun build step. Tutto e' HTML/CSS/JS statico servito così com'è.
Anteprima locale
cd landing
python3 -m http.server 8080
# apri http://localhost:8080
Su file:// Lemon Squeezy overlay non funziona — ma il sito si vede tutto.
Deploy su Cloudflare Pages
Una volta sola:
- Vai su https://dash.cloudflare.com → Workers & Pages → Create application → Pages → Connect to Git.
- Scegli il repo
luzadev/musicdownload. - Configura:
- Production branch:
main - Build command: (lascia vuoto)
- Build output directory:
landing - Root directory: (lascia vuoto)
- Production branch:
- Salva. La build parte automatica — l'URL iniziale sara'
<project>.pages.dev. - Una volta verde, vai su Custom domains → Set up a custom domain → digita
musictools.djluza.com→ conferma. - Cloudflare crea automaticamente il CNAME se il dominio e' gia su Cloudflare DNS.
Ogni git push origin main rilancia la build di Pages — push-to-deploy gratis.
Routing /api/* vs landing
Il Worker di server/ deve essere associato alla route musictools.djluza.com/api/* (vedi server/README.md).
Pages serve tutto il resto. Verifica nel dashboard:
- Workers & Pages →
musictools-api→ Settings → Triggers:- Aggiungi route
musictools.djluza.com/api/*
- Aggiungi route
- Pages →
musictools-landing(o nome che scegli) → Custom domains:musictools.djluza.com
Cloudflare applica prima la regola del Worker (path-specific) e poi quella di Pages (catch-all).
Da fare prima del lancio
- Sostituisci
REPLACE_WITH_LS_PRODUCT_URLinindex.htmlcon l'URL prodotto Lemon Squeezy - Crea immagine OG 1200x630 e referenziarla nei meta
og:image - Aggiungi screenshot reali (sostituiscono il mockup CSS nell'hero se preferisci)
- Verifica i tre documenti legali con un consulente fiscale se vendi in regime di forfettario / partita IVA italiana
- Aggiungi Google Search Console (verification meta) per indicizzazione
Analytics
Puoi aggiungere Cloudflare Web Analytics (gratuito, no cookie) dal dashboard Pages → Analytics. Si attiva con un click — niente codice da incollare.