Développeurs
Une redirection vers les stores doit-elle être une 301 ou une 302 ?
Une redirection qui dépend de l'appareil doit rester temporaire. Pourquoi une 301 vers l'App Store ou Google Play pose problème plus tard.
Réponse courte
Utilisez une 302 (ou une 307) : une redirection qui envoie les iPhone vers l'App Store et les téléphones Android vers Google Play répond différemment selon l'appareil et peut changer plus tard. Les navigateurs gardent une 301 et sautent votre serveur la fois suivante : une URL de store corrigée ensuite renvoie encore les visiteurs fidèles vers l'ancienne. OneStoreLink (onestore.link) répond par une 302 : une destination modifiée s'applique dès le tap suivant.
Dernière relecture : 2026-11-03
Le choix ressemble à un détail quand vous écrivez la redirection, et il décide si vous pourrez un jour changer la destination. Les navigateurs traitent une 301 comme « cette adresse a déménagé pour de bon » et s'en souviennent ; une 302 signifie « va là-bas cette fois-ci ». Pour un lien imprimé sur un QR code ou collé dans une bio, utilisé pendant des mois, cette différence compte plus que tout le reste de la redirection. Ce guide explique quel code utiliser, pourquoi, et ce qu'une redirection vers les stores doit envoyer d'autre.
Le problème
- Une 301 dit aux navigateurs que le déplacement est permanent, et ils le gardent : la visite suivante peut aller au store sans interroger votre serveur.
- Si l'URL du store change plus tard, nouvelle fiche, nouveau nom de package, faute de frappe corrigée, les visiteurs qui reviennent peuvent encore être envoyés vers l'ancienne.
- Une redirection par appareil donne des réponses différentes à un iPhone et à un téléphone Android, ce qu'une redirection permanente ne décrit pas.
- Une URL de redirection indexée par les moteurs de recherche ajoute une page qui n'existe que pour envoyer les gens ailleurs.
Avec onestore.link
- Répondez par une 302 (ou une 307, qui conserve aussi la méthode de la requête) : les navigateurs interrogent à nouveau votre serveur à chaque visite.
- Choisissez la destination à chaque requête, d'après le user agent du visiteur, pour qu'un changement s'applique immédiatement.
- Marquez la redirection avec un en-tête X-Robots-Tag: noindex pour que le lien court lui-même reste hors des résultats de recherche.
- onestore.link répond par une 302 avec un en-tête X-Robots-Tag: noindex, et vous pouvez modifier les URL de store à tout moment sans changer le lien partagé.
Comment faire
Sans SDK, sans rebuild. Juste une URL.
- 1
Renvoyer une redirection temporaire
Choisissez le store d'après le user agent et répondez avec le statut 302. Ici en Cloudflare Worker ; la même logique marche sur n'importe quel serveur.
// Redirection temporaire : les navigateurs réinterrogent votre serveur à chaque visite 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
Envoyer les ordinateurs vers une page, pas vers un store
Une page de store ne peut rien installer sur un ordinateur. Envoyez les visiteurs sur ordinateur vers une page avec les deux boutons de store et un QR code, qui rattrape aussi les iPad qui se présentent comme un Mac.
- 3
Ou utiliser un lien hébergé
Créez un lien onestore.link avec vos deux URL de store : il répond par une 302 selon l'appareil, garde le lien court hors de l'index et vous laisse changer la destination plus tard.
Questions fréquentes
Une 301 est-elle mauvaise pour un lien de téléchargement d'app ?
Elle est risquée. Les navigateurs peuvent garder une 301 et cesser d'interroger votre serveur : une destination modifiée plus tard n'atteint pas les visiteurs qui ont déjà suivi le lien. Une 302 évite cela sans aucun coût.
302 ou 307 ?
Les deux sont temporaires. Une 307 garantit que la méthode de la requête est conservée ; pour un lien que l'on touche, toujours un GET, les deux se comportent pareil. La 302 est le choix courant.
Une 302 nuit-elle au SEO ?
Pas pour un lien de ce type. Une redirection vers les stores n'est pas une page que vous voulez voir classée ; la page à classer est votre site. Marquez la redirection noindex et faites des liens vers votre site depuis vos propres pages.
Qu'envoie onestore.link ?
Une 302 vers l'App Store pour les user agents iPhone et iPad et vers Google Play pour Android, avec un en-tête X-Robots-Tag: noindex. Les navigateurs in-app et les ordinateurs reçoivent une page à la place, car une redirection seule y échoue ou n'installe rien.
Prêt à essayer ?
Gratuit à vie, sans mot de passe. Votre lien est prêt en une minute environ.
Créez votre lien gratuitVous comparez des outils ? onestore.link vs bitly →