Pulsante di Reindirizzamento Prodotto - Dove Acquistare e Link Esterni, URL di Destinazione Mascherato, Contaclic, Modifica CSV
Aggiungi a qualsiasi scheda prodotto un pulsante che porta il visitatore altrove: il sito del fornitore o del marchio, un marketplace, una scheda tecnica o un'offerta di affiliazione. L'indirizzo esterno non compare mai nel codice sorgente — il pulsante punta a un URL neutro del tuo negozio che inoltra il visitatore e risponde con noindex, nofollow. Si attiva prodotto per prodotto, ognuno con destinazione e testo propri, con il contaclic nella scheda del prodotto. Tre posizioni, nuova scheda opzionale, avviso di uscita facoltativo. Esportazione e importazione CSV con controllo riga per riga. Senza jQuery, senza override. Per PrestaShop 1.7 e 8.
Un pulsante, puntato dove serve a te
Alcuni prodotti non si vendono nel tuo negozio. Un marchio che esponi ma non tieni a magazzino, un articolo che vive su un marketplace, un servizio che va prenotato altrove, un macchinario la cui scheda tecnica sta sul sito del produttore. In questi casi un pulsante "aggiungi al carrello" è la risposta sbagliata, e una descrizione senza sbocchi è un vicolo cieco.
Questo modulo mette sulla scheda prodotto un vero pulsante e porta il visitatore all'indirizzo che decidi tu. Lo attivi un prodotto alla volta, così il resto del catalogo resta intatto.
L'indirizzo di destinazione resta fuori dal codice sorgente
È questo che lo distingue da un link scritto a mano.
Il pulsante non porta con sé l'URL esterno. Punta a un indirizzo neutro sul tuo stesso negozio — /module/redirectproduct/redirect?id_product=… — e il controller si occupa dell'inoltro. La risposta viene inviata con X-Robots-Tag: noindex, nofollow, e il link stesso porta rel="nofollow noopener".
Così la destinazione non resta esposta nel tuo HTML a disposizione degli scraper, e ai motori di ricerca viene detto senza ambiguità di non seguire né indicizzare il passaggio.
Non può essere trasformato in un redirect aperto
Il controller di inoltro non si fida di quello che riceve. Carica il reindirizzamento salvato per quel prodotto e inoltra solo se quel record esiste, è attivo e il suo URL supera di nuovo la validazione al momento della richiesta. Tutto il resto finisce sulla tua pagina 404.
Validazione significa un indirizzo assoluto http o https, con caratteri di controllo, spazi, virgolette doppie, parentesi angolari e barre rovesciate respinti senza appello, più un controllo finale affidato al validatore di URL di PHP. Uno schema di dati inline o eseguibile non passa, e nemmeno un prodotto senza reindirizzamento configurato.
Un contaclic dove lo vedrai davvero
Ogni visitatore che segue un pulsante viene conteggiato. Il numero compare nell'elenco della pagina di configurazione del modulo e nella scheda di modifica di quel prodotto, così non devi andartelo a cercare: vedi come sta andando un prodotto mentre lo stai già modificando.
Un avviso di uscita facoltativo
Per ogni prodotto puoi attivare una piccola finestra di conferma prima che il visitatore se ne vada. Propone Stay on this page (resta su questa pagina) e Continue (continua), e il messaggio lo scrivi tu ed è traducibile.
Lascialo disattivato per un marketplace che i tuoi clienti si aspettano. Attivalo per un link di affiliazione, o ovunque preferisca essere esplicito sul passaggio a un altro sito.
Le tue parole, per negozio e per prodotto
Imposta una volta un testo predefinito del pulsante per tutto il negozio: se lo lasci vuoto i pulsanti riportano More information (maggiori informazioni). Poi sovrascrivilo sui singoli prodotti dove un verbo specifico funziona meglio: Verifica disponibilità, Prenota un posto, Scarica la scheda tecnica, Acquista sul marketplace.
Il pulsante porta inoltre una piccola icona di link esterno dopo l'etichetta, disegnata come SVG inline che eredita colore e corpo del testo del pulsante stesso, così il visitatore capisce a colpo d'occhio che porta fuori dal sito.
Tre posizioni, e un avviso quando una non funziona
Metti il pulsante accanto al pulsante di aggiunta al carrello, sotto la disponibilità del prodotto oppure in fondo alla scheda prodotto. Ogni posizione è un normale hook di visualizzazione di PrestaShop, quindi nessun file del tema viene toccato.
Se il tuo negozio è in modalità catalogo mentre la posizione è impostata su accanto al pulsante di aggiunta al carrello — un blocco che quasi tutti i temi nascondono del tutto in modalità catalogo — la pagina di configurazione te lo segnala e ti suggerisce una posizione che verrà effettivamente mostrata. È il modulo a verificare la condizione, invece di lasciarti indovinare perché non è comparso nulla.
Viene mostrato al massimo una volta per pagina, e solo nella posizione configurata.
Esportazione e importazione CSV per il lavoro in blocco
Esporta l'intera tabella, modificala in un foglio di calcolo, reimportala. Il formato è una riga per prodotto:
id_product;active;url;button_label;confirm;clicks
Ogni riga viene controllata in ingresso, e le righe respinte vengono segnalate con il numero di riga e il motivo: prodotto inesistente, flag diverso da 1/0, indirizzo vuoto o non un URL assoluto valido. Una riga con indirizzo non valido viene importata disattivata anziché scartata in silenzio, così puoi vederla e correggerla. Il rapporto elenca i primi dieci problemi e poi ti dice quanti altri ce n'erano.
Il contaclic viene ignorato in importazione, quindi un normale passaggio da foglio di calcolo e ritorno non sovrascrive mai le tue statistiche: le righe esistenti vengono aggiornate sul posto e mantengono i conteggi. L'eccezione è voluta: spuntando Replace all (sostituisci tutto) la tabella viene svuotata prima, contatori compresi. Quell'opzione svuota qualcosa solo dopo che il file caricato ha dimostrato di contenere righe importabili, così un file malformato non può cancellarti i dati per sbaglio.
I file esportati dalla versione 3.x — separati da virgola, con i vecchi nomi di colonna — vengono riconosciuti e convertiti automaticamente.
La versione 4 ha chiuso due endpoint senza autenticazione
Vale la pena dirlo chiaramente.
La versione 3.x distribuiva import.php ed export.php come file autonomi raggiungibili senza alcuna autenticazione. Chiunque conoscesse l'URL poteva scaricare l'intera tabella dei reindirizzamenti, oppure cancellarla e sostituirla con la propria. Entrambi i file sono spariti. Il CSV ora funziona dentro la pagina di configurazione, protetto dal token della tua sessione di dipendente.
Un terzo file, redirection.php, inoltrava i visitatori senza validare l'URL salvato e scavalcava del tutto lo stack dei front controller. È stato sostituito dal front controller descritto sopra, che valida la destinazione e conta il clic.
L'aggiornamento alla 4.0.0 elimina dal disco quei file obsoleti invece di lasciarli dove sono.
Cos'altro ha corretto la versione 4
La vecchia pagina di amministrazione caricava jQuery 1.9 da una CDN di Google: inservibile su qualsiasi negozio che applichi una Content-Security-Policy, e peso inutile su tutti gli altri. Ogni dipendenza da CDN e da jQuery è sparita; il front end è un piccolo file JavaScript in puro codice nativo, caricato solo sulle schede prodotto che ne hanno davvero bisogno.
Su PrestaShop 1.7 il pulsante spesso non compariva affatto, perché il modulo era registrato su un alias di hook dell'epoca 1.6; i negozi in modalità catalogo lo vedevano solo nel footer, per via di una condizione invertita. Ora le posizioni sono esplicite e le scegli tu.
Peggio ancora, salvare un prodotto da un punto qualsiasi in cui il pannello del modulo non veniva mostrato cancellava in silenzio il reindirizzamento di quel prodotto: azioni in blocco, modifica rapida, importazioni. Ora i salvataggi sono protetti da un campo marcatore, quindi un salvataggio che non ha mai mostrato il pannello lascia il reindirizzamento dov'è.
La versione 3.x mostrava inoltre un URL civetta e lo sostituiva al passaggio del mouse. Non ingannava nessuno e risultava scorretto. La versione 4 raggiunge l'obiettivo legittimo — tenere la destinazione fuori dal codice sorgente e lontana dai crawler — nel modo giusto, con il link neutro e la risposta noindex.
Aggiornare dalla 3.x è un passaggio solo
Carica la versione 4 sopra la vecchia, oppure usa il pulsante di aggiornamento del modulo. L'aggiornamento migra sul posto ogni reindirizzamento salvato — destinazioni, stato attivo/disattivo, flag di notifica — converte il vecchio testo del pulsante, rimuove le righe orfane lasciate dalla 3.x ed elimina i file obsoleti, compresi tutti e tre gli endpoint non sicuri.
La versione 4.0.3 ha corretto un difetto di aggiornamento che merita di essere nominato: il passaggio della 4.0.0 legava il proprio esito a cinque chiamate registerHook() concatenate che dovevano restituire tutte true, così un singolo errore temporaneo — o un hook già registrato da un tentativo precedente incompleto — segnava l'intero passaggio come fallito e PrestaShop disattivava il modulo. Ora gli hook vengono registrati in modo idempotente e il passaggio riporta sempre esito positivo.
Compatibilità
PrestaShop 1.7 e 8, in otto lingue: francese, inglese, italiano, olandese, polacco, spagnolo, tedesco e turco.
Nessun override, nessuna modifica al core o al tema. Il pulsante usa le classi dei pulsanti del tuo tema, quindi ne eredita lo stile. La disinstallazione rimuove la tabella del modulo — tutti i reindirizzamenti e i contatori dei clic — e le sue impostazioni; se pensi di volere indietro quei dati, esportali prima in CSV.
Domande frequenti
I visitatori possono vedere l'indirizzo esterno prima di cliccare?
Non nel codice sorgente della pagina. Il pulsante rimanda a un indirizzo neutro sul tuo stesso negozio che li inoltra, e quella risposta viene inviata con noindex, nofollow. La destinazione compare nella barra degli indirizzi solo dopo che l'hanno seguita.
Qualcuno può abusare dell'URL di reindirizzamento per farsi inoltrare al proprio sito?
No. Il controller inoltra soltanto all'indirizzo salvato per quel prodotto, e solo dopo averlo rivalidato al momento della richiesta. Una richiesta manipolata o non configurata finisce sulla tua pagina 404.
Dove lo attivo per un prodotto?
Catalogo → Prodotti → apri il prodotto → scheda Moduli. Lì imposti l'indirizzo di destinazione, spunti l'interruttore, se vuoi assegni un testo del pulsante e un avviso di uscita dedicati, e vedi il conteggio dei clic.
Perché il mio pulsante non compare?
Tre cose, in quest'ordine: l'interruttore del prodotto è spuntato; l'indirizzo inizia con http:// o https:// (il pannello ti avverte in caso contrario); e la posizione scelta è una di quelle che il tuo tema mostra. Nel dubbio usa In fondo alla scheda prodotto: quell'hook è supportato da ogni tema.
Funziona in modalità catalogo?
Sì, ma non nella posizione accanto al pulsante di aggiunta al carrello, perché quasi tutti i temi nascondono del tutto quel blocco in modalità catalogo. La pagina di configurazione se ne accorge e ti dice di scegliere un'altra posizione.
Un passaggio dal foglio di calcolo azzera i miei contatori dei clic?
In un'importazione ordinaria no: la colonna del contatore viene esportata a titolo informativo e ignorata in importazione, e le righe esistenti mantengono i loro conteggi. L'unica eccezione è Replace all (sostituisci tutto), che svuota prima la tabella e porta con sé anche i contatori. Lascia la casella deselezionata se vuoi conservare i tuoi numeri.
Sto aggiornando dalla 3.x: perderò i miei reindirizzamenti?
No. L'aggiornamento migra sul posto ogni reindirizzamento, il suo stato attivo/disattivo e il suo flag di notifica, converte il testo del pulsante e ripulisce i vecchi file della 3.x.
Modifica il mio tema o sovrascrive file del core?
No. Tre hook di visualizzazione standard per il pulsante, più gli hook di salvataggio prodotto e dei media, e nient'altro.
-
CompatibilitàPrestashop 1.5
Prestashop 1.6
Prestashop 1.7
Prestashop 8 -
Traduzioni del Modulo DisponibiliFrancese
Inglese
Italiano
Olandese
Polacco
Spagnolo
Tedesco
Turco
MEG Venture
4 altri prodotti nella stessa categoria
| Versione | 4.0.3 |
|---|---|
| Ultimo aggiornamento | 2026-07-30 |
| Registro delle modifiche | - [2026-07-30] Backfill missing translation keys for product redirect module in multiple languages - [2026-07-24] Add Polish and Turkish translations for redirect product module strings - [2026-07-23] Fix upgrade process to prevent module disablement and update version to 4.0.3 - [2026-07-23] Translate product redirect module strings to Turkish for better localization and user experience. - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Add translation files for FR, DE, PL, NL, TR, IT, ES (7 languages) - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Add missing translation files (fr, de, pl, nl, tr, it, es) - [2026-07-23] Fix invisible "Stay on this page" button in confirm modal (4.0.2) - [2026-07-23] Add an "opens another page" icon to the redirect button (4.0.1) - [2026-07-22] Fix typo in display name for Product Redirect Button - [2026-07-15] Add redirect product module files and functionality - [2026-06-21] Refactor code style and update comments for consistency - [2023-09-21] v3.2.5 - [2023-09-06] v3.2.4 - [2021-04-06] v3.2.3 - [2021-01-23] v3.2.2 - [2021-01-23] Initial commit |
• [2023-09-21] v3.2.5
• [2023-09-06] v3.2.4
• [2021-04-06] v3.2.3
• [2021-01-23] v3.2.2
• [2021-01-23] Initial commit
Commenti (3)
Non è stato possibile inviare il tuo giudizio sulla recensione
Segnala commento
Segnalazione inviata
Non è stato possibile inviare la tua segnalazione