Sito di origine: CartaCMS, sito analcolici3 (indirizzo e token API: vedi C:\Users\mirco\Desktop\claudetemp\tmp\list_cats_analcolici3.py). Brand “Spirito Libero”: aperitivi, long drink, tropicali e distillati analcolici 0%, formato 1L, 9,90 euro a bottiglia.
Obiettivo: copiare TUTTO (home, pagine, categorie shop, prodotti, categorie blog, articoli, menu, colori, immagini) in questo clone del template. Procedura generale: CLAUDE.md (sezione migrazione pelletteria).
Cartella: C:\Users\mirco\Desktop\claudetemp\migra_analcolici\
export.py, export2.py = scaricano da CartaCMS (sola lettura) e scrivono export\*.jsonfase2_immagini.py = scarica le immagini (JPEG max 1200px) in assets/images/{prodotti,categorie,blog}/, mappa in export\immagini_map.jsonfase3_build.py = costruisce tutto dalla export (catalogo, _negozio/, categorie blog, _posts/, blocchi home e chi siamo, menu, config). Si puo’ rilanciare; dopo di lui va rilanciato python automation\permalink_articoli.py --apply (i post perdono il permalink) e vanno cancellati i file redirect/*.html appena creati (inutili: gli indirizzi vecchi non sono mai stati online).header.teaser) e SEO; indirizzi /blog/<categoria>/<titolo>/en/ e _data/i18n/en; languages: [it]. Per aggiungere l’inglese: admin > Lingue (poi tradurre).analcolici2); nel nuovo sito 40 ricette e 4 collezioni, link rifatti verso lo shop del nuovo sito.contact_endpoint e’ vuoto.contact_endpoint (serve un Worker Cloudflare), whatsapp, email in _config.yml; pagine Privacy e Cookieordini: in _config.yml), dominio personalizzato<style> del vecchio sito: si usano le classi gc-* / ent-* e _data/tema.json.en/ (home, shop, 4 categorie, 40 prodotti, blog 4 categorie + 13 articoli, chi siamo, contatti, carrello, ordine, grazie, filosofia). Lingue: languages: [it, en]. Dati EN in _data/i18n/en/, testi prodotti/categorie in catalogo.json (tr.en).claudetemp\migra_analcolici\fase4a_en.py (struttura EN), tr_prodotti_en.py (traduzioni prodotti scritte a mano), fase4b_marketing.py (blocchi home/azienda/filosofia IT+EN, menu, config). Articoli EN tradotti con automation/traduci_lingua.py en (motore automatico: rileggere i testi), poi permalink_articoli.py --apply, cancellati redirect/*.html, allinea_hash.py en./filosofia/ (EN /en/philosophy/), blocco “Come si gusta” (3 gesti), voce di menu Filosofia.Tutto quello che e’ stato messo a punto su analcolici e vale per ogni nuovo sito clonato da mistraltemplate1. Mirco: “lo riutilizziamo su altri siti”. Regola d’oro: Claude fa tutto da solo con Desktop Commander, senza chiedere cosa cliccare.
C:\Users\mirco\Desktop\gemini_auto\img.py (guida completa gemini_auto\IMMAGINI_API.md). Parla direttamente con Gemini col login Google salvato, 10-20 s a immagine, circa 3 crediti ciascuna (600 per finestra di 5 ore). Crediti: python img.py --crediti.prodotto (1:1, sfondo bianco #FFFFFF, soggetto all’80%, webp 1000/500/200), categoria (1:1), blog (16:9), banner (21:9), generico. I profili sono in gemini_auto\profili\*.md._data/catalogo.json il prodotto con "immagine": "", poi UN comando:
python C:\Users\mirco\Desktop\gemini_auto\core\foto_sito.py --repo C:\Users\mirco\Desktop\repository\<repo> --api
Fa foto, le copia in assets/images/prodotti/<id>.webp, aggiorna il catalogo, commit e push. Opzioni: --ids a,b (rifa solo quelli), --extra "testo", --dry, --no-push, --rielabora (rifa sfondo/ritaglio senza Gemini). Doppio clic: gemini_api_test\foto_prodotti.bat._data/colori_foto.json (un id per riga). Va compilato per ogni nuovo prodotto.python ...\img.py "<soggetto>" --profilo blog --nome <slug-articolo> --out <repo>\assets\images\blog (esce webp; i vecchi articoli hanno jpg, funziona uguale).--extra "The label must contain ONLY the product name. No brand name, no other words, no small print, no logos.". Guardare SEMPRE la foto prima di dire “fatto”.--rielabora.gemini_auto\loginsecondoaccount.bat + SECONDO_ACCOUNT.md. Da finire: leggere i cookie del 2o profilo e passare in automatico sotto 10 crediti._data/catalogo.json (nome, categoria, prezzo, descrizione IT + tr.en, SEO, "immagine": "")._negozio/<id>.md (IT) e en/negozio/<id>.md (permalink /en/shop/<id>/), con ref: shop-prod-<id> in entrambe.colori_foto.json, lancia foto_sito.py --api, guarda la foto, ritocca con --ids ... --extra ... se serve.blog in assets/images/blog/<slug>.webp, guardarla prima._posts/AAAA-MM-GG-<slug>.md + EN in en/_posts/ con stesso ref:.python automation/permalink_articoli.py --apply, poi python automation/allinea_hash.py en...\pubblica.ps1 -Repo <repo> -Msg "..." -Files ... (oppure git add/commit/push), controlla IT, EN e la categoria online. Online ci mette 1-2 minuti.
seo_title_includes/seo.html compone <title> = seo_title - nome sito. Se nel seo_title c’e’ gia’ “ |
Spirito Libero” il nome esce DOPPIO. |
git grep -n -I -E "seo_title:.*\|". Quando si genera contenuto con script, il seo_title deve essere SOLO il titolo.claudetemp\migra_analcolici\ (export.py, export2.py, fase4a_en.py, tr_prodotti_en.py, fase4b_marketing.py).traduci_lingua.py en) sbaglia termini bar e nomi propri (es. “Spirito Libero” -> “Free Spirit”, “Garnish” -> “Gasket”): rileggere sempre.contact_endpoint, whatsapp, email in _config.yml; pagine Privacy e Cookie.