Sviluppatori
Un redirect verso gli store di app deve essere un 301 o un 302?
Un redirect che dipende dal dispositivo deve restare temporaneo. Perché un 301 verso l’App Store o Google Play crea problemi in seguito.
In breve
Usa un 302 (o un 307): un redirect che manda gli iPhone sull’App Store e i telefoni Android su Google Play risponde in modo diverso a seconda del dispositivo e può cambiare in seguito. I browser conservano un 301 e saltano il tuo server la volta dopo, quindi un URL dello store corretto in seguito continua a mandare chi torna su quello vecchio. OneStoreLink (onestore.link) risponde con un 302, quindi una destinazione modificata vale dal tocco successivo.
Ultima revisione: 2026-11-03
La scelta sembra un dettaglio quando scrivi il redirect, e decide se potrai mai cambiare la destinazione. I browser trattano un 301 come "questo indirizzo si è trasferito per sempre" e lo ricordano; un 302 significa "vai lì questa volta". Per un link stampato su un codice QR o incollato in una bio, che resta in uso per mesi, questa differenza conta più di qualsiasi altra cosa nel redirect. Questa guida spiega quale codice usare, perché, e cos’altro dovrebbe inviare un redirect verso gli store.
Il problema
- Un 301 dice ai browser che lo spostamento è permanente, e lo conservano: la visita successiva può andare allo store senza chiedere al tuo server.
- Se l’URL dello store cambia in seguito, una nuova scheda, un nuovo nome del pacchetto, un refuso corretto, chi torna può essere ancora mandato su quello vecchio.
- Un redirect per dispositivo dà risposte diverse a un iPhone e a un telefono Android, cosa che un redirect permanente non descrive.
- Un URL di redirect indicizzato dai motori di ricerca aggiunge una pagina che esiste solo per mandare le persone altrove.
Con onestore.link
- Rispondi con un 302 (o un 307, che conserva anche il metodo della richiesta): i browser chiedono di nuovo al tuo server a ogni visita.
- Scegli la destinazione a ogni richiesta, in base allo user agent del visitatore, così una modifica vale subito.
- Marca il redirect con un header X-Robots-Tag: noindex, così il link breve stesso resta fuori dai risultati di ricerca.
- onestore.link risponde con un 302 e un header X-Robots-Tag: noindex, e puoi modificare gli URL degli store in qualsiasi momento senza cambiare il link che hai condiviso.
Come fare
Niente SDK, niente ricompilazione. Solo un URL.
- 1
Restituisci un redirect temporaneo
Scegli lo store in base allo user agent e rispondi con lo stato 302. Qui come Cloudflare Worker; la stessa logica funziona su qualsiasi server.
// Redirect temporaneo: i browser chiedono di nuovo al tuo server a ogni visita export default { fetch(req) { const ua = req.headers.get("user-agent") || ""; const ios = "https://apps.apple.com/app/id0000000000"; const android = "https://play.google.com/store/apps/details?id=com.example.app"; const web = "https://example.com/download"; const to = /iPhone|iPad|iPod/.test(ua) ? ios : /Android/i.test(ua) ? android : web; return new Response(null, { status: 302, headers: { Location: to, "X-Robots-Tag": "noindex" } }); }, }; - 2
Manda i computer su una pagina, non su uno store
Una pagina dello store non può installare nulla su un computer. Manda i visitatori desktop su una pagina con entrambi i pulsanti degli store e un codice QR, che intercetta anche gli iPad che si presentano come Mac.
- 3
Oppure usa un link ospitato
Crea un onestore.link con i tuoi due URL degli store: risponde con un 302 per dispositivo, tiene il link breve fuori dall’indice e ti lascia cambiare la destinazione in seguito.
Domande frequenti
Un 301 è dannoso per un link di download di un’app?
È rischioso. I browser possono conservare un 301 e smettere di chiedere al tuo server, quindi una destinazione che cambi in seguito non raggiunge i visitatori che hanno già seguito il link. Un 302 lo evita a costo zero.
302 o 307?
Entrambi sono temporanei. Un 307 garantisce che il metodo della richiesta venga mantenuto; per un link che si tocca, che è sempre un GET, i due si comportano allo stesso modo. Il 302 è la scelta comune.
Un 302 danneggia la SEO?
Non per un link del genere. Un redirect verso gli store non è una pagina che vuoi posizionare; la pagina da posizionare è il tuo sito. Marca il redirect come noindex e linka il tuo sito dalle tue pagine.
Cosa invia onestore.link?
Un 302 verso l’App Store per gli user agent di iPhone e iPad e verso Google Play per Android, con un header X-Robots-Tag: noindex. I browser in-app e i computer ricevono invece una pagina, perché lì un semplice redirect fallisce o non installa nulla.
Vuoi provarlo?
Gratis per sempre, senza password. Il tuo link è pronto in circa un minuto.
Crea il tuo link gratisStai confrontando strumenti? onestore.link vs bitly →