Una documentazione di supporto migliore
Scritta e mantenuta per i brand e le agenzie che stanno affrontando la migrazione di un sito. Soprattutto se sei un team piccolo che deve far rendere ogni ora. Questa guida ti aiuta a costruire una strategia per completare con precisione i redirect 301 se stai migrando su Shopify. Nello specifico, questo documento ti è utile se stai:
- Migrando da Wordpress
- Migrando da Magento
- Migrando da Salesforce
- Migrando da Sitecore
- Migrando da BigCommerce
- Migrando da Webflow
- Migrando da un sito PHP sviluppato internamente
Se stai avviando un progetto che comprende mappature complesse di redirect 301 e ti serve un team che vive questo tipo di lavoro ogni giorno, contattaci.
La logica dei redirect URL di Shopify: panoramica
La documentazione ufficiale di Shopify sui redirect URL si trova qui. È un documento snello, con linee guida generali che chi gestisce un negozio Shopify può consultare per aggiungere redirect 301 singoli e massivi. Non entra nel dettaglio dei tipi di URL che un negozio Shopify supporta nativamente, ed è proprio questo vuoto che questo report intende colmare.
Sintesi dei risultati sul funzionamento dei redirect URL di Shopify
- La logica dei redirect URL di Shopify è molto solida.
- Nel nostro test su 100 formati diversi di stringa URL, Shopify ha supportato funzionalmente 99 tipi su 100.
- Il sistema nativo non supporta le wildcard per i redirect URL.
- Aggiornare i percorsi dei redirect URL esistenti è stato semplice con lo strumento di importazione, a patto di seguire le regole non documentate di Shopify.
- Esistono limiti al numero totale di redirect che i negozi Shopify e ShopifyPlus gestiscono.
- Esistono limiti al numero totale di caratteri di una stringa di redirect URL.
- Non puoi creare catene di redirect 301, per fortuna. (Corretto nel ritest del 2026. La protezione controlla una sola direzione.)
- Esistono molte eccezioni e regole per gli URL con parametri.
- L’interfaccia per la gestione dei redirect URL è facile da usare, ma trarrebbe beneficio da qualche dettaglio in più.
- I test non hanno esaminato le opzioni di redirect disponibili per Hydrogen e Oxygen.
- Al sistema di redirect URL attuale di Shopify assegniamo un punteggio di utilità dell'85%.
Il punteggio è stato abbassato del 5% per l’assenza di supporto alle wildcard, dell'1% per l’unico tipo di stringa URL non supportato, del 2% per i limiti di lunghezza in caratteri degli URL, del 3% per il comportamento anomalo con gli URL parametrizzati e del 4% per le informazioni gestionali essenziali che mancano nella UX dei redirect.
I test sono stati condotti il 19 giugno 2024.
Ogni affermazione contenuta qui è stata riverificata su un negozio Shopify live con piano standard, tramite la Admin GraphQL API e con richieste reali allo storefront. La maggior parte dei risultati del 2024 ha retto. Nove no, e due di questi ribaltano ciò che avevamo pubblicato: la protezione contro le catene controlla una sola direzione ed è l'ordine in cui crei i record a decidere se una catena si forma, e un redirect su /services scatta mentre qualsiasi cosa sotto quel percorso restituisce un 404.
I risultati del 2024 restano dove sono. Ogni correzione è segnalata accanto all'affermazione a cui si riferisce, così chi ha agito sulla versione originale può vedere cosa è cambiato.
La nostra metodologia di test dei redirect
Volevamo rispondere ad alcune domande con i nostri test, per aiutare a evitare le trappole delle regole dei redirect 301 di Shopify:
- Quali caratteri o combinazioni di stringhe non sono supportati dal sistema di redirect URL?
- Esistono limiti alla lunghezza della stringa URL?
- Esiste un numero massimo di record per le importazioni massive?
- Il sistema supporta i redirect con wildcard?
- Esiste una formattazione o conversione automatica delle stringhe dopo l’importazione che modifica i dati originali?
Come riferimento, ecco il nostro elenco completo di URL usato per testare queste diverse condizioni. I test sono stati condotti su un piano Shopify standard (non ShopifyPlus).
11 risultati che ti aiutano con i redirect di Shopify
Shopify non va d’accordo con questi tipi di stringa URL
L’elenco dei formati di stringa URL che Shopify non è riuscito a supportare è breve: un solo tipo di stringa non è stato acquisito. Le stringhe con un punto e virgola dopo l’operatore uguale, come:
/page?param=;semicolon
L’aspetto notevole di questa stringa è che il sistema di Shopify converte il carattere speciale punto e virgola nel suo valore codificato, come segue, nella tabella dei redirect:
/page?param=%3Bsemicolon
Quando inserisci la stringa URL non codificata nella barra degli indirizzi di un browser, ottieni un errore 404.
/page?param=;semicolon
/page?param=%3Bsemicolon
Questo comportamento si discosta dalla gestione degli altri caratteri speciali. Se una stringa URL con caratteri non codificati viene inserita nella barra degli indirizzi, per esempio con la parentesi graffa chiusa:
/page?param=}
Shopify la codifica automaticamente quando riceve la richiesta e non si verifica alcun errore 404.
/page%7Drightbrace
Va notato inoltre che altre varianti di stringa URL con un punto e virgola non codificato vengono validate dal sistema di redirect di Shopify, per esempio:
/page;semicolon
I dati suggeriscono che l’errore 404 si presenta soltanto quando un punto e virgola non codificato compare dopo l’operatore uguale.
Il 404 è confermato, ma non è vero che il record non viene acquisito. Shopify accetta il record e lo salva con il punto e virgola codificato come %3b. La mancata corrispondenza avviene al momento della richiesta, perché un URL in ingresso che porta un punto e virgola grezzo non corrisponde mai al record codificato.
Richiedendo la forma codificata si ottiene un 301 come di consueto. Dove controlli i link in ingresso, codificare il punto e virgola risolve il problema. Dove il punto e virgola grezzo arriva da link esterni che non controlli, questo formato non può essere reindirizzato in modo affidabile.
Nessun supporto ai redirect con wildcard da parte di Shopify
I redirect con wildcard restano nella lista dei desideri di molti utenti Shopify. I forum di supporto sono pieni di richieste per questa funzione. A oggi Shopify non si è espressa su dove si collocherebbe nella roadmap di prodotto.
Per ora, chi possiede un sito e progetta di passare a Shopify deve sapere che Shopify e ShopifyPlus nativi non offrono questa possibilità.
Cosa sono i redirect con wildcard?
I redirect con wildcard sono un tipo di reindirizzamento che permette di inviare verso una singola destinazione più URL che corrispondono a un certo pattern. Sono particolarmente utili quando si migra un sito, si riorganizzano i contenuti o si gestiscono grandi quantità di URL simili tra loro. Invece di configurare un redirect per ogni singolo URL, si usa un carattere jolly (di solito *) per rappresentare qualsiasi sequenza di caratteri.
Immagina di ristrutturare il tuo blog e di spostare tutti gli articoli dalla directory /blog/ a /articles/. Invece di configurare un redirect per ogni articolo, puoi usare un redirect con wildcard:
From: /blog/*
To: /articles/*
This wildcard redirect will automatically map:
/blog/post1 to /articles/post1
/blog/post2 to /articles/post2
/blog/post3 to /articles/post3
Questo semplifica il processo di reindirizzamento e garantisce che tutti gli URL sotto /blog/ vengano portati senza interruzioni alla nuova posizione sotto /articles/. Alla data di questo articolo, i negozi Shopify e ShopifyPlus predefiniti non includono questa capacità senza il supporto di un’app.
Ancora nessun supporto alle wildcard, e il ritest ha individuato la parte che costa traffico reale alle persone. Shopify accetta la sintassi wildcard senza obiezioni. Un record creato come /old-blog/* viene salvato, compare nella tabella dei redirect e non segnala alcun errore. L'asterisco viene memorizzato come carattere letterale, quindi l'unico URL che potrà mai corrispondere è uno che contiene letteralmente un asterisco.
È peggio di un rifiuto netto, perché nulla segnala il problema finché il traffico reale non inizia a restituire 404. Espandi in percorsi espliciti tutte le wildcard presenti nel tuo foglio di calcolo dei redirect prima di importarlo.
Shopify fa del suo meglio per evitare la creazione di catene di redirect
Nella tabella dei redirect di Shopify c’è una buona protezione che impedisce di creare catene di reindirizzamenti. Se provi a creare un redirect verso una pagina che è già presente nel campo “Redirect from”, ottieni un errore.
In questo test i record URL che abbiamo provato a creare erano i seguenti, e non sono stati ammessi:
/BOTH redirects to /SHORT/SHORT redirects to /homepage
Una protezione esiste, ed è più ristretta di come l'avevamo descritta. Controlla una sola direzione, e durante il ritest è stata creata aggirandola una catena live a due passaggi.
Shopify rifiuta un redirect la cui destinazione è già l'origine di un altro redirect, con Target can't redirect to another redirect. Rifiuta un redirect che punta a sé stesso, con Target can't be the same as path, e blocca i cicli diretti a due vie.
Non controlla il verso opposto. Crea /a verso /b mentre a /b non esiste nulla, poi più tardi crea /b verso /c, e vengono accettati entrambi. Shopify non rivede mai il primo record, e ora hai una catena attiva:
GET /a
301 to /b
301 to /
final: 200, 2 hops
È il solo ordine di creazione a decidere se una catena si forma. Le importazioni massive applicano le righe nell'ordine del file, e i fogli di calcolo di migrazione sono raramente ordinati per evitarlo, quindi non è il caso di pianificare contando su questa protezione. Dopo ogni importazione consistente, campiona i tuoi redirect e conta i passaggi:
curl -sIL https://yourstore.com/old-path -o /dev/null -w "hops: %{num_redirects}\n"
Qualsiasi valore superiore a 1 è una catena.
Cosa sono le catene di redirect?
Le catene di redirect si verificano quando un URL viene reindirizzato verso un altro URL, che a sua volta reindirizza verso un altro ancora, creando una sequenza o “catena” di redirect. Può accadere involontariamente quando nel tempo si configurano più redirect senza una gestione adeguata.
Le catene di redirect sono problematiche perché possono rallentare i tempi di caricamento delle pagine, incidere negativamente sulla SEO e creare un’esperienza utente scadente. Ogni redirect aggiuntivo introduce latenza, perché il browser deve seguire ogni passaggio della catena prima di raggiungere la destinazione finale.
Per esempio, se hai configurato questi redirect:
/old-page redirects to /new-page
/new-page redirects to /latest-page
Quando un utente visita /old-page, viene prima reindirizzato a /new-page e poi immediatamente reindirizzato di nuovo a /latest-page, dando luogo a una catena di redirect.
Nuove regole da seguire quando configuri i redirect su Shopify
La scoperta più rilevante dei nostri test è che la documentazione di Shopify non è aggiornata. Secondo Shopify, se provi a reindirizzare qualcosa che inizia con questi prefissi riservati, le tue regole di redirect non verranno create:
/apps
/application
/cart
/carts
/orders
/services
/products
/collections
/collections/all
Abbiamo scoperto che non è così.
/apps/application/carts/orders/services/cart/people
Cart è stata l'eccezione. Da solo è riservato, e funziona quando lo segue una sottodirectory.
/cart/products/collections/collections/all
/cart/people/carts/people/products/people/collections/people
/cart/products/collections/collections/all
Le osservazioni qui sopra reggono. La spiegazione no, e la regola reale copre molto più terreno di un elenco di quattro prefissi.
Una rotta reale dello storefront batte sempre un redirect. Dove a un URL esiste davvero una pagina, Shopify serve la pagina e ignora il redirect. Il record viene accettato, resta nella tua tabella dei redirect e non fa nulla. Nessun errore, nessun avviso.
La variabile non è il prefisso. È l'esistenza di una rotta. Un redirect posizionato sull'URL di un prodotto live è stato accettato e ignorato in silenzio, mentre lo stesso identico prefisso con un handle inesistente ha restituito un 301:
/products/ai-skillset-package-001 -> 200, the product page
/products/zz20260727 -> 301, the redirect fires
Tratta quindi l'elenco qui sopra come una raccolta di esempi, non come la regola. Copre anche ogni prodotto, collezione, pagina e articolo del blog live sul tuo negozio. Un redirect sull'URL di un prodotto pubblicato è inerte finché quel prodotto non smette di risolversi.
Per una migrazione questo rende importante la sequenza. Prima rimuovi dalla pubblicazione o elimina la vecchia risorsa, poi conferma che il redirect scatti. Se lo crei mentre la pagina è ancora live, sembrerà che non sia successo nulla.
/services è l'eccezione, e va nella direzione opposta. Un redirect su /services stesso restituisce un 301. Un redirect su qualsiasi cosa al di sotto, come /services/consulting, restituisce un 404 anche se il record viene salvato senza obiezioni. Lo abbiamo ritestato quattro volte nell'arco di circa 45 secondi per escludere un ritardo di propagazione, con il record presente per tutta la durata. Ogni altro prefisso di questo gruppo ha funzionato con le sottodirectory. La causa probabile è che Shopify instradi internamente /services/* per i proxy delle app e per gli endpoint di sistema, così quelle richieste non raggiungono mai la tabella dei redirect, anche se non abbiamo verificato direttamente il meccanismo.
Chi migra un sito con una sezione /services/ deve sapere che nessuno di quei redirect scatterà. Rimappali su una struttura di percorsi diversa, oppure gestiscili a livello di DNS o di proxy.
Creare e aggiornare i redirect URL è facile su Shopify
Creare un nuovo redirect su Shopify è semplice. Agli utenti vengono date due opzioni:
- Creazione di singoli redirect URL, uno alla volta
- Creazione massiva di redirect, tramite un file CSV: ecco il modello più recente per quell’importazione.
Quando si aggiungono URL al sistema di Shopify, si possono inserire percorsi URL relativi, senza dominio di primo livello, per l’origine (from) e percorsi URL assoluti o relativi per la destinazione (to). Esempio:
/example_product.php
Creare singoli redirect URL
Le regole di redirect di Shopify non ti permettono di creare due volte lo stesso redirect URL quando usi l’interfaccia dei redirect singoli.
Una volta che un URL è presente nell’elenco “Redirect from”, se provi ad aggiungerlo di nuovo ottieni un errore.
Se vuoi aggiornare il singolo record URL, devi trovarlo nella tabella dei redirect oppure usare il metodo dell’importazione massiva. Se un URL già esistente è incluso in un file di importazione massiva, il campo “Redirect to” del record viene aggiornato con il valore del file CSV.
Il nostro consiglio è di importare sempre i redirect in blocchi gestibili ed efficienti. Per esempio, se hai 10.000 redirect URL, importane 1.000 alla volta e controllali se hai tempo. È meglio individuare gli errori in insiemi di dati piccoli che andarli a cercare in insiemi più grandi.
Usa la testa con i redirect URL massivi in Shopify
Per creare redirect massivi, compila il file CSV con le intestazioni richieste da Shopify, crea le mappature 1:1 e assicurati che tutti gli URL siano formattati come percorsi relativi. Se crei un file con percorsi assoluti nel campo “Redirect from” o in quello “Redirect to”, Shopify prenderà l’iniziativa per conto suo. Ecco alcuni scenari:
https://www.wislr.com/path/to/resource%20with
/path/to/resource%20with
www.wislr.com/unicode/test?value=%E2%9C%93%20co.wislr.com/mix/of%20encoded
/www.wislr.com/unicode/test?value=%E2%9C%93%20/co.wislr.com/mix/of%20encoded
wislr.com/nested/directory/structure?param1=value1
/wislr.com/nested/directory/structure?param1=value1
La lezione è di ricontrollare il file di importazione prima di usarlo. Altrimenti creerai regole di redirect URL che non funzionano nel modo che ti serve.
Se un record di redirect esiste già nella tabella e gli stessi valori sono presenti nel file di importazione, Shopify aggiornerà il record con i dati più recenti del file. A nostro parere è estremamente utile, a patto che tu voglia davvero aggiornare quel record. Un motivo in più per ricontrollare i dati.
Il nostro consiglio è di importare sempre i redirect in blocchi gestibili ed efficienti. Per esempio, se hai 10.000 redirect URL, importane 1.000 alla volta e controllali se hai tempo. È meglio individuare gli errori in insiemi di dati piccoli che andarli a cercare in insiemi più grandi.
Shopify non impone un tetto di 1.000 righe per file. Una singola importazione da 1.051 righe è andata a buon fine senza alcun errore in 48 secondi, il che corrisponde a circa 1.300 righe al minuto.
Blocchi di circa 1.000 righe restano sensati, ma per un motivo diverso da un limite rigido. I file più piccoli falliscono in modo più leggibile. Se un'importazione da 20.000 righe va storta, hai molta meno idea di quali righe l'abbiano causata rispetto a quando hai eseguito venti file tenendo d'occhio i conteggi.
Leggi createdCount, updatedCount e failedCount dopo ogni importazione. Un failedCount diverso da zero è l'unico segnale che ricevi del fatto che alcune righe sono state scartate.
Il comportamento sui duplicati descritto sopra è stato confermato esattamente come è scritto. Un percorso già presente nella tabella dei redirect si vede sovrascrivere la destinazione e viene conteggiato sotto updatedCount, mantenendo l'id originale del record. Questo rende sicuro rieseguire un'importazione CSV, cosa davvero utile a metà migrazione. Significa però anche che un foglio di calcolo non aggiornato sovrascriverà in silenzio le correzioni fatte a mano dall'ultima importazione.
Facci costruire la mappa dei redirect.
Abbiamo mappato i redirect di oltre 100 migrazioni, compreso uno spostamento da 27.000 URL su Shopify Plus. Costruiamo il file e lo validiamo rispetto a ogni limite descritto in questa pagina prima di importarlo. Dopo il passaggio leggiamo noi stessi le risposte live, invece di fidarci di quello che dice la tabella dei redirect.
Il limite di Shopify sui record di redirect URL
Ogni cosa bella ha un limite, e le regole di redirect di Shopify non fanno eccezione. Per i redirect URL esistono due soglie.
Piani Shopify (non Plus):
Massimo 100.000 redirect URL
Piani ShopifyPlus:
Massimo 20.000.000 di redirect
Non abbiamo testato questi limiti, sarebbe stata un’impresa. Sono le specifiche attualmente documentate della piattaforma. Tienile presenti mentre pianifichi i tuoi redirect e dai priorità agli URL più importanti per traffico e fatturato. Per quanto ne sappiamo Shopify non aumenta questi limiti, nonostante le richieste continue sui forum di supporto.
Il limite di Shopify sui caratteri negli URL
È qui che la situazione si fa interessante con il sistema di redirect di Shopify. Le linee guida ufficiali di Shopify non specificano limiti rigidi di caratteri.
Per validare i limiti di caratteri di un URL in un redirect abbiamo prima costruito e provato a importare stringhe molto lunghe. Siamo partiti da un URL lungo 2.000 caratteri, dato che i browser gestiscono richieste URI fino a 2.083 caratteri. Eccola qui in tutto il suo splendore:
/2000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBccccccccccccccccccccccccccccccccccccccccccccccccccccDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Il nostro metodo iniziale è stato importare un URL da 2.000 caratteri usando il modello per i redirect massivi, ed è lì che sono scattati gli allarmi di Shopify. La soglia che abbiamo individuato ufficialmente è un limite di 1.024 caratteri per le stringhe di redirect URL, inclusa la barra iniziale ‘/’.
- Passed URL da 300 caratteri
- Passed URL da 600 caratteri
- Passed URL da 1.000 caratteri
- Failed URL da 2.000 caratteri
Alcune regole importanti e non documentate da conoscere sui redirect di Shopify
Shopify normalizza i caratteri alfabetici nelle tue stringhe URL. Vuol dire che, sia che tu inserisca una maiuscola sia una minuscola, servirà allo stesso modo la richiesta URL per quei diversi pattern. I seguenti URL porteranno tutti alla stessa pagina, anche se esistono record distinti:
/CASE/TEST.html
/case/test.html
/Case/Test.html
La stringa in minuscolo ha la precedenza sulle altre:
/case/test.html
Nei nostri test, anche se esistono due record univoci di “Redirect from” con valori diversi di “Redirect to”, per entrambi i record verrà sempre servita la pagina /about.html:
#1
/Case/Test.html [redirect to] /homepage
#2
/case/test.html [redirect to] /about.html
È curioso e potenzialmente irritante che Shopify ti consenta di inserire tutti questi valori univoci nella tabella dei redirect per poi servirne uno solo. Ti consigliamo di rivedere con attenzione i tuoi dati, se pensi che la tua tassonomia di URL possa rientrare in questi pattern, prima di importarli in Shopify.
Puoi usare percorsi URL assoluti per i redirect di Shopify
I percorsi URL assoluti per i tuoi redirect vanno bene, ha rilevato il nostro test, se stanno nel campo “Redirects to”. Possono puntare a qualsiasi URL tu voglia. Ecco un esempio in cui un percorso URL, quando viene richiesto, reindirizza a un profilo LinkedIn:
[Redirect from]
/Case/Test.html
[Redirect to]
https://www.linkedin.com/wislr
Inoltre, nel campo “Redirect to” Shopify non rimuove i domini di primo livello, nemmeno quando si tratta del tuo negozio Shopify.
URL parametrizzati
Nei nostri test Shopify ha preservato gli URL parametrizzati, con qualche eccezione. Se hai URL indicizzati con molte stringhe parametrizzate univoche, quelle stringhe possono essere aggiunte alle tabelle dei redirect di Shopify e portare a destinazioni distinte. Abbiamo fatto questo test con una tassonomia comune per questo tipo di URL, i parametri UTM. Per esempio:
Questa stringa URL è nel campo “Redirect from” della tabella dei redirect e ha raggiunto la destinazione prevista:
/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google&utm_term=redirects
Abbiamo modificato la stringa URL rimuovendo l’ultimo parametro ‘&utm_term=redirects’, il che ha prodotto un 404:
/how-is-pkl?utm_campaign=301s+in+2024&utm_content=blue&utm_id=3012024&utm_medium=display&utm_source=google
Questo comportamento è stato riprodotto in altri test con parametri diversi come valori, il che conferma che Shopify tratta gli URL parametrizzati come stringhe letterali. Non riducono l’URL fino all’URL di base se rimuovi un parametro da un URL di redirect, a patto che l’URL non esista sul sito Shopify.
Per confermarlo ulteriormente abbiamo puntato un URL a sé stesso, cosa che per impostazione predefinita Shopify non consente. Ottieni questo messaggio:
Questa voce è consentita quando i parametri stanno nel campo “Redirect from”. Non costituisce un ciclo di redirect, ma in base al comportamento nel browser il nostro test ha mostrato che Shopify ignora questo record. Quando l’URL di “Redirect from” viene richiesto, Shopify serve la stringa URL parametrizzata completa, non la pagina radice come ci si aspetterebbe dalla tabella:
Questa voce è consentita ma Shopify non aggiungerà i parametri alla pagina che si carica, come invece prevede la regola. Verrà caricato soltanto l’URL radice. I parametri non vengono mai aggiunti all’URL che si carica:
La nostra ultima osservazione sugli URL con parametri è che in alcuni casi Shopify riscrive i dati che gli fornisci. Sì, Shopify riscrive i dati URL che gli fornisci per alcuni parametri.
Ecco gli esempi in cui i nostri test hanno riscontrato questo pattern.
Dati di redirect originali acquisiti da Shopify:
/test?name=John&Doe
Shopify ha riscritto la stringa mettendo ‘Doe’ come primo attributo di parametro:
/test?Doe&name=John
Dati di redirect originali acquisiti da Shopify:
/user?name=John&age=30&active=true
Shopify ha riscritto la stringa con un nuovo ordine dei parametri elencati:
/user?active=true&age=30&name=John
I test che abbiamo condotto suggeriscono che Shopify stia cercando di mettere i parametri in ordine alfabetico. Ci siamo chiesti se fosse un bug, visto che abbiamo stabilito che Shopify tratta gli URL parametrizzati come stringhe letterali: perché allora smentire quella regola riscrivendo l’ordine dei parametri? Al momento non riuscirai mai a far mantenere la loro struttura alle stringhe URL con più valori di parametro. Questo può avere implicazioni rilevanti per alcuni Content Management System.
Tre correzioni a questa sezione.
I parametri presenti nella richiesta in ingresso vengono trasportati fino alla destinazione. La formulazione originale dice che non vengono mai aggiunti all'URL che si carica, e questo vale soltanto per i percorsi di origine parametrizzati descritti sopra. Dove il percorso di origine del redirect non porta parametri propri, tutto ciò che arriva con la richiesta viene accodato:
GET /old-page -> 301 to /new-page
GET /old-page?utm_source=x -> 301 to /new-page?utm_source=x
I redirect non ripuliranno i parametri al posto tuo. La rimozione deve avvenire in uno strato sopra Shopify.
La riscrittura converte in minuscolo oltre a riordinare. L'esempio svolto qui sopra mantiene le maiuscole, Shopify no. Un percorso inviato come /test?name=John&Doe viene salvato come /test?doe&name=john. I valori vengono convertiti in minuscolo insieme alle chiavi, quindi una tabella dei redirect confrontata con il foglio di calcolo di partenza darà l'impressione che l'importazione abbia corrotto i dati.
Il confronto non è un confronto letterale tra stringhe. Shopify normalizza sia il record salvato sia la richiesta in ingresso prima di confrontarli, quindi maiuscole e ordine dei parametri non contano. Su un record salvato come /page?doe&name=john, tutte le varianti ?name=John&Doe, ?Doe&name=John e ?name=john&doe restituiscono un 301.
Quello che conta è quali parametri sono presenti. Ogni parametro presente nel percorso salvato deve comparire nella richiesta. Se ne togli uno ottieni un 404 e non una corrispondenza parziale, quindi il punto originale resta valido: un redirect parametrizzato scatta solo per quell'esatta combinazione di parametri.
Serve un aggiornamento alla UX dei redirect URL di Shopify
Durante il nostro uso intensivo dello strumento di redirect di Shopify, ci siamo trovati ad apprezzare alcuni elementi e a sentirne mancare altri.
Apprezziamo queste funzioni:
- Pulsanti e funzionalità per l’importazione massiva dei redirect
- Filtri e ricerca rapida per la tassonomia degli URL
- Esportazione degli URL
- Facilità nel creare un singolo URL
Abbiamo trovato che allo strumento mancano questi dati e queste funzionalità:
- Conteggio totale degli URL importati
- Un modo più semplice per copiare e incollare più di un URL nel sistema. Se aggiungi più di un URL alla volta, devi usare il documento di importazione. Un caso d’uso in cui copia e incolla sarebbe utile è quello di un gruppo di URL destinati tutti alla stessa destinazione.
Importare è veloce, annullare un’importazione no
Aggiunto dal ritest del 27 luglio 2026.
Creare redirect in blocco è rapido. Rimuoverli in blocco no, e il divario è abbastanza ampio da cambiare il modo in cui pianifichi un’importazione.
| Operazione | Metodo | Rilevato |
|---|---|---|
| Creare 1.051 redirect | Importazione CSV, file singolo | 48 secondi |
| Eliminare 1.051 redirect | urlRedirectDelete, uno alla volta |
226 secondi |
Le mutation rapide di eliminazione massiva sono soggette a restrizioni. urlRedirectBulkDeleteBySearch, urlRedirectBulkDeleteByIds e urlRedirectBulkDeleteAll richiedono tutte lo scope write_online_store_navigation e una sessione utente attiva. Un’app che si autentica con le credenziali client, che è il modo in cui gira la maggior parte degli script di migrazione, non può chiamarle e si ritrova a eliminare un record alla volta.
Pianifica le tue importazioni come se fossero difficili da annullare, perché lo sono. Valida prima il file su un development store, oppure importa in tranche che sei disposto a smontare a mano. Non caricare un file da 50.000 righe che non hai testato dando per scontato di poterlo annullare rapidamente.
L’importazione CSV e la Admin API gestiscono i duplicati in modo diverso
Aggiunto dal ritest del 27 luglio 2026.
Questa guida è scritta attorno al flusso CSV, dove un percorso duplicato aggiorna il record esistente. L’API fa l’opposto:
create /existing-path -> /pages/about
(where /existing-path already redirects to /)
REJECTED: "Path has already been taken"
Chi porta un flusso CSV sulla Admin API deve interrogare l’API per il record esistente e chiamare urlRedirectUpdate, oppure eliminare e ricreare. Un porting diretto della logica di importazione fallirà su ogni percorso già esistente.
Come testare i tuoi redirect Shopify dopo il lancio
Tutto quello che precede descrive cosa Shopify accetta. Niente di tutto ciò ti dice se i redirect che hai importato funzionano davvero sul negozio live, ed è una domanda diversa. Un redirect può importarsi senza errori, comparire nell’admin e comunque non fare quello che ti aspettavi una volta che un tema, un’app o un proxy si trovano lungo il percorso.
Testa dall’esterno del negozio invece di cliccare qua e là in un browser, perché il browser nasconde proprio la cosa che devi vedere: il codice di stato. Richiedi il vecchio URL e leggi gli header della risposta.
curl -sIL https://yourstore.example/old-product-url
Leggi tre cose nell’output:
- Il codice di stato del primo salto. Vuoi un
301. Un302è temporaneo e trasferisce valore in modo diverso, il che conta quando l’obiettivo è uno spostamento permanente. - Il numero di salti. Ogni riga
HTTP/nell’output è un salto. Due o più significano che hai costruito una catena, e la soluzione è ripuntare l’origine iniziale sulla destinazione finale invece di lasciare in piedi il passaggio intermedio. - Lo stato finale. L’ultima riga deve essere
200. Un redirect che termina in un404è peggio di nessun redirect, perché nel tuo foglio di calcolo sembra risolto.
Poi testa le forme che è facile dimenticare. Esegui lo stesso controllo su un URL che porta un parametro di tracciamento, per confermare che la query string sopravviva fino alla destinazione, sul dominio apex oltre che su www, e sul semplice http e non solo su https. Abbiamo testato esattamente questo su un negozio live e il parametro è arrivato intatto alla destinazione, ma il punto è verificarlo sul tuo negozio invece di fidarti di una risposta generica, perché un tema o un’app possono cambiare l’esito.
Un comportamento da conoscere prima di allarmarsi: dopo aver modificato o eliminato un redirect, un nodo edge di Shopify può continuare a servire la vecchia risposta per una trentina di secondi, mentre una versione dello stesso URL con la cache aggirata restituisce già quella nuova. Concedi un minuto e ripeti il test aggiungendo una query string univoca prima di concludere che il redirect non ha preso.
Per la sequenza completa attorno a una migrazione, e non per un singolo redirect, segui la checklist per la migrazione di un sito, che copre la mappatura, il giorno del lancio e il monitoraggio post lancio in cui tutto questo si inserisce.
In conclusione
Il sistema che Shopify offre per gestire i redirect 301 va bene per la maggior parte delle aziende, ma non è ancora di livello enterprise. Con il tempo speriamo che evolva includendo i redirect con wildcard e più record di redirect per i piani standard e Plus. La possibilità di usare il loro sistema di redirect e i diversi tipi di formato URL che supporta ci porta ad assegnare loro un buon punteggio di utilità.
Se stai avviando un progetto che comprende mappature complesse di redirect 301 e ti serve un team che vive questo tipo di lavoro ogni giorno, contattaci.
Domande frequenti
A chi è rivolta la knowledge base WISLR sui redirect URL di Shopify?
La nostra knowledge base aiuta soprattutto i brand e le agenzie che stanno migrando un sito su Shopify. È particolarmente utile per i team piccoli che devono far rendere ogni ora, perché consente ai clienti di mappare e completare fino a 100.000 redirect URL in modo efficiente.
Shopify ha una documentazione ufficiale sui redirect URL?
Sì, Shopify mantiene un documento di supporto ufficiale sui redirect URL su help.shopify.com. Offre linee guida generali per aggiungere redirect 301 singoli e massivi, mentre la nostra guida lo integra con specifiche dettagliate sui tipi di URL e sui limiti della piattaforma.
Quali stringhe URL non sono supportate da Shopify?
Shopify ha un solo formato di stringa URL non supportato: le stringhe con un carattere punto e virgola non codificato dopo l’operatore uguale (per esempio /page?param=;semicolon). Tutti gli altri formati URL, compresi i punti e virgola codificati e i punti e virgola in altre posizioni, sono supportati.
Shopify supporta i redirect con wildcard o regex?
No, al momento Shopify non supporta i redirect con wildcard né i pattern regex nel suo sistema nativo di redirect. Questo limite vale sia per i negozi Shopify standard sia per quelli Shopify Plus.
Cosa sono i redirect con wildcard?
I redirect con wildcard permettono di reindirizzare più URL che corrispondono a un certo pattern verso una singola destinazione. Per esempio, reindirizzare tutti gli URL sotto /blog/* verso /articles/*. È una funzione richiesta di frequente, ma al momento non è disponibile nelle funzionalità native di Shopify.
Shopify riesce a evitare la creazione di catene di redirect?
Sì, Shopify ha protezioni integrate per prevenire le catene di redirect. Il sistema non ti permette di creare un redirect verso un URL che viene già reindirizzato altrove.
Cosa sono le catene di redirect?
Le catene di redirect si verificano quando gli URL passano attraverso più passaggi prima di raggiungere la destinazione finale (per esempio A→B→C). Queste catene possono rallentare il caricamento delle pagine e incidere sulle performance SEO. Il sistema di Shopify aiuta a prevenirle per come è progettato.
È facile creare e aggiornare i redirect URL su Shopify?
Sì, Shopify offre due metodi lineari: la creazione di singoli redirect URL dalla sua interfaccia e l’importazione massiva tramite file CSV. Entrambi i metodi supportano percorsi URL relativi e assoluti.
Come si creano redirect URL massivi in Shopify?
I redirect massivi si creano con lo strumento di importazione CSV di Shopify. Consigliamo di importare a blocchi di 1.000 righe, per rendere più semplice il controllo degli errori e la gestione. Un modello per l’importazione è disponibile qui.
Shopify ha un limite massimo di record di redirect URL?
Sì. I piani Shopify standard sono limitati a 100.000 redirect URL, mentre i negozi Shopify Plus possono gestirne fino a 20.000.000. Questi limiti sono fissi e non possono essere aumentati.
Shopify ha limiti sul numero di caratteri dei redirect?
Sì, Shopify applica un limite di 1.024 caratteri per le stringhe dei redirect URL, inclusa la barra iniziale (’/’). Gli URL che superano questa lunghezza non vengono accettati dal sistema.
Esiste uno strumento per validare gli URL e verificarne la compatibilità con Shopify?
Shopify non fornisce uno strumento di validazione ufficiale, ma i nostri test approfonditi hanno mostrato che il 99% dei formati URL standard è supportato. Le cose da tenere d’occhio sono il limite di 1.024 caratteri e i punti e virgola non codificati dopo l’operatore uguale.