Dla deweloperów
Czy przekierowanie do sklepów z aplikacjami powinno być 301, czy 302?
Przekierowanie zależne od urządzenia musi pozostać tymczasowe. Dlaczego 301 do App Store lub Google Play sprawia później kłopoty.
Krótka odpowiedź
Użyj 302 (lub 307): przekierowanie, które wysyła iPhone'y do App Store, a telefony z Androidem do Google Play, odpowiada różnie zależnie od urządzenia i może się później zmienić. Przeglądarki zapamiętują 301 i następnym razem pomijają twój serwer, więc adres URL sklepu poprawiony później nadal wysyła powracających odwiedzających na stary. OneStoreLink (onestore.link) odpowiada kodem 302, więc zmieniony cel działa od następnego stuknięcia.
Ostatnia aktualizacja: 2026-11-03
Ten wybór wygląda na szczegół, gdy piszesz przekierowanie, a decyduje, czy kiedykolwiek zmienisz cel. Przeglądarki traktują 301 jako "ten adres przeniósł się na dobre" i to zapamiętują; 302 oznacza "idź tam tym razem". Dla linku wydrukowanego na kodzie QR albo wklejonego w bio, używanego miesiącami, ta różnica znaczy więcej niż cokolwiek innego w przekierowaniu. Ten poradnik wyjaśnia, którego kodu użyć, dlaczego i co jeszcze powinno wysyłać przekierowanie do sklepów.
Problem
- 301 mówi przeglądarkom, że przeniesienie jest trwałe, a one to zapamiętują: następna wizyta może trafić do sklepu bez pytania twojego serwera.
- Jeśli adres URL sklepu później się zmieni, nowa karta, nowa nazwa pakietu, poprawiona literówka, powracający odwiedzający mogą nadal trafiać na stary.
- Przekierowanie według urządzenia daje różne odpowiedzi iPhone'owi i telefonowi z Androidem, czego przekierowanie trwałe nie opisuje.
- Adres URL przekierowania zaindeksowany przez wyszukiwarki dodaje stronę, która istnieje tylko po to, by odsyłać ludzi gdzie indziej.
Z onestore.link
- Odpowiadaj kodem 302 (lub 307, który dodatkowo zachowuje metodę żądania): przeglądarki pytają twój serwer ponownie przy każdej wizycie.
- Wybieraj cel przy każdym żądaniu, na podstawie user agenta odwiedzającego, żeby zmiana działała od razu.
- Oznacz przekierowanie nagłówkiem X-Robots-Tag: noindex, żeby sam krótki link nie pojawiał się w wynikach wyszukiwania.
- onestore.link odpowiada kodem 302 z nagłówkiem X-Robots-Tag: noindex, a adresy URL sklepów możesz zmieniać w dowolnej chwili bez zmiany udostępnionego linku.
Jak to zrobić
Bez SDK, bez przebudowy. Tylko adres URL.
- 1
Zwróć przekierowanie tymczasowe
Wybierz sklep na podstawie user agenta i odpowiedz statusem 302. Tutaj jako Cloudflare Worker; ta sama logika działa na każdym serwerze.
// Przekierowanie tymczasowe: przeglądarki pytają twój serwer ponownie przy każdej wizycie 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
Wysyłaj komputery na stronę, a nie do sklepu
Strona sklepu nie zainstaluje niczego na komputerze. Wysyłaj odwiedzających z komputerów na stronę z oboma przyciskami sklepów i kodem QR, która wyłapie też iPady podające się za Maca.
- 3
Albo użyj hostowanego linku
Utwórz onestore.link z dwoma adresami URL sklepów: odpowiada kodem 302 według urządzenia, trzyma krótki link poza indeksem i pozwala później zmienić cel.
Najczęstsze pytania
Czy 301 jest zły dla linku do pobrania aplikacji?
Jest ryzykowny. Przeglądarki mogą zachować 301 i przestać pytać twój serwer, więc cel zmieniony później nie dociera do odwiedzających, którzy już kliknęli link. 302 tego unika bez żadnych kosztów.
302 czy 307?
Oba są tymczasowe. 307 gwarantuje zachowanie metody żądania; przy linku, który się stuka, czyli zawsze GET, oba zachowują się tak samo. 302 to częstszy wybór.
Czy 302 szkodzi SEO?
Nie w przypadku takiego linku. Przekierowanie do sklepów nie jest stroną, którą chcesz pozycjonować; pozycjonować ma się twoja strona internetowa. Oznacz przekierowanie jako noindex i linkuj do swojej strony z własnych stron.
Co wysyła onestore.link?
Kod 302 do App Store dla user agentów iPhone'a i iPada oraz do Google Play dla Androida, z nagłówkiem X-Robots-Tag: noindex. Przeglądarki w aplikacjach i komputery dostają zamiast tego stronę, bo samo przekierowanie zawodzi tam albo niczego nie instaluje.
Gotowy, by spróbować?
Darmowe na zawsze, bez hasła. Twój link jest gotowy w około minutę.
Utwórz darmowy linkPorównujesz narzędzia? onestore.link vs bitly →