Modificare il tema pubblicato direttamente dall’editor di codice di Shopify è come cambiare una gomma con l’auto in corsa. Il flusso che uso si basa invece su Shopify CLI, un tema di sviluppo, GitHub e un controllo automatico del codice prima di pubblicare.
Shopify CLI è lo strumento a riga di comando di Shopify per lavorare sui temi in locale. Con shopify theme dev vedi le modifiche in anteprima senza toccare il negozio online, con theme check trovi gli errori, con theme push --unpublished carichi una copia da approvare. GitHub tiene la storia di ogni modifica.
Ti mostro il flusso passo per passo, con i comandi corretti, come funziona l’integrazione con GitHub (comprese le modifiche fatte dall’editor) e come pubblico senza sorprese. Anche se non sei uno sviluppatore, ti serve per capire come lavora chi mette le mani nel tuo tema.
Perché non si lavora sul tema pubblicato
Ogni salvataggio sul tema pubblicato è subito visibile ai clienti. Un errore in una sezione può nascondere il pulsante “Aggiungi al carrello” per minuti o per ore, finché qualcuno se ne accorge.
L’editor di codice di Shopify conserva una cronologia dei file (la vista Timeline), ma il Centro assistenza avverte che è limitata e che le versioni più vecchie possono non essere disponibili. Non è un vero sistema di versioni.
Le regole che seguo sono semplici: si lavora su una copia, ogni modifica ha una storia, e il tema online cambia solo con una pubblicazione voluta. È una forma di sicurezza, come le altre che descrivo in come rendere sicuro un sito web.

Installare Shopify CLI e collegarsi al negozio
Servono Node.js 22.12 o successivo, un gestore di pacchetti (npm, Yarn o pnpm) e Git 2.28 o successivo: requisiti verificati a ottobre 2026 sulla documentazione di Shopify CLI. Poi si installa la CLI:
terminale
# installa Shopify CLI
npm install -g @shopify/cli@latest
# controlla la versione installata
shopify versionNon serve un account Partner per lavorare sul tema di un negozio: basta un account del negozio (proprietario, staff o collaboratore) con il permesso Temi. Al primo comando la CLI apre il browser per l’accesso. Per i sistemi automatici c’è l’app Theme Access, che genera una password da passare con --password.
Il primo passo vero è scaricare il tema com’è oggi:
terminale
shopify theme pull --store=tuonegozio --live--store accetta il prefisso del negozio (la parte prima di .myshopify.com) o l’indirizzo completo; --live scarica il tema pubblicato.
theme dev: anteprima locale con ricarica
Con shopify theme dev la CLI carica i file su un tema di sviluppo e apre un’anteprima su http://127.0.0.1:9292. Ogni salvataggio si vede subito: le modifiche a CSS e sezioni senza nemmeno ricaricare la pagina, le altre con un aggiornamento automatico.
terminale
shopify theme dev --store=tuonegozioOltre all’anteprima locale, il comando restituisce un link all’editor e un link di anteprima da condividere. Alcune opzioni utili, tutte nella documentazione di theme dev:
--theme-editor-sync: riporta nei file locali le modifiche fatte nell’editor del tema di sviluppo;--store-password: serve se il negozio è protetto da password;--live-reload=full-page: ricarica sempre l’intera pagina.
Due cose da sapere: i temi di sviluppo vengono eliminati quando esci con shopify auth logout, e il checkout non si può provare dall’anteprima locale.
GitHub collegato al tema
Shopify ha un’integrazione nativa con GitHub, descritta nella documentazione ufficiale. Si installa l’app Shopify GitHub, poi da Negozio online > Temi > Aggiungi tema > Collega da GitHub si scelgono account, repository e branch.
Branch e temi
Ogni branch collegato diventa un tema nella libreria. L’impostazione che uso:
maincollegato al tema pubblicato: ciò che c’è sumainè ciò che vedono i clienti;- un branch per ogni lavoro (una nuova sezione, una campagna), collegato a un tema non pubblicato per l’anteprima;
- si unisce a
mainsolo dopo controllo e approvazione.
Due vincoli da conoscere. Il branch deve avere la struttura standard di un tema: le cartelle che non la rispettano vengono ignorate, quindi niente src e dist nello stesso branch. E un branch scollegato non si può ricollegare allo stesso tema: viene aggiunto come tema nuovo.
Le modifiche fatte dall’editor
Qui sta il punto che sorprende di più: la sincronizzazione va nei due sensi. Quando qualcuno salva una modifica nell’editor del tema o nell’editor di codice, Shopify fa un commit sul branch collegato, firmato dal bot shopify. Non si può disattivare.
Le personalizzazioni dell’editor finiscono nei file di impostazioni: config/settings_data.json, i template JSON e i section group. Per questo, prima di iniziare un lavoro, aggiorno sempre il mio branch con gli ultimi commit di main: altrimenti rischio di sovrascrivere i testi che il cliente ha appena cambiato.
Quando carico codice dalla CLI su un tema che il cliente sta già usando, escludo i file che lui modifica dall’editor. Lo faccio con --ignore sul singolo comando, oppure con un file .shopifyignore nella radice del tema, che accetta nomi di file, caratteri jolly ed espressioni regolari:
terminale
shopify theme push --theme="Revisione" --ignore "config/settings_data.json" --ignore "templates/*.json"Theme Check prima di pubblicare
Theme Check è il controllo automatico del codice di Shopify: trova errori di sintassi, template mancanti, variabili e snippet inutilizzati, tag sconosciuti o deprecati e problemi di prestazioni.
terminale
# controlla tutto il tema
shopify theme check
# crea il file di configurazione .theme-check.yml
shopify theme check --init
# corregge in automatico ciò che può
shopify theme check --auto-correctLo stesso controllo è integrato nell’estensione Shopify Liquid per Visual Studio Code, quindi vedo gli errori mentre scrivo. E con shopify theme push --strict la CLI si rifiuta di caricare il tema se Theme Check trova errori (gli avvisi sono ammessi).
Theme Check però non sostituisce la prova a mano: non sa se il pulsante è del colore giusto o se il carrello calcola bene la spedizione. Dopo il controllo automatico c’è sempre la mia revisione in anteprima.
Pubblicare senza sorprese

L’ultimo passo è quello in cui si sbaglia di più, di solito per fretta. Il mio ordine:
- carico il lavoro su un tema non pubblicato con
shopify theme push --unpublished --theme="Revisione", oppure usoshopify theme share, che crea un tema non pubblicato con un nome casuale e restituisce un link di anteprima; - mando il link di anteprima al cliente e aspetto il suo ok;
- controllo pagina prodotto, collezioni, carrello e un ordine di prova;
- riporto sulla copia le ultime modifiche fatte dall’editor sul tema pubblicato, così non si perdono;
- pubblico con
shopify theme publish --theme="Revisione", che chiede conferma, oppure unendo il branch sumainse uso GitHub; - tengo il tema precedente nella libreria: se qualcosa va storto, si ripubblica in un attimo.
Questo flusso è anche la base della manutenzione: aggiornamenti, piccole modifiche e correzioni passano tutti da qui. Se vuoi sapere quanto pesa sul budget, ne parlo in quanto costa la manutenzione di un sito web.
Se stai creando un tema nuovo, la struttura dei file è spiegata in creare un tema Shopify da zero; se devi intervenire su un tema esistente, leggi prima dove mettere le mani nel codice del tema Shopify.
Domande frequenti
Conclusione
Shopify CLI, un tema di sviluppo, GitHub e Theme Check: insieme trasformano le modifiche al tema da salto nel buio a lavoro controllato. Il negozio online cambia solo quando lo decidi tu, e ogni passo si può annullare.
Se stai progettando un negozio nuovo o una migrazione, trovi come lavoro in realizzazione e migrazione Shopify.
Hai paura di toccare il tema? Posso impostare io il flusso con GitHub e copia di sicurezza, nella mia assistenza e manutenzione del negozio online. Oppure scrivimi dalla pagina contatti: ti rispondo io.




