Розробникам
Яким має бути перенаправлення до магазину застосунків — 301 чи 302?
Перенаправлення, що залежить від пристрою, має лишатися тимчасовим. Чому 301 в App Store чи Google Play згодом створює проблеми.
Коротка відповідь
Використовуйте 302 (або 307): перенаправлення, яке надсилає iPhone в App Store, а Android-телефони в Google Play, відповідає різним пристроям по-різному і може згодом змінитися. Браузери запам'ятовують 301 і наступного разу оминають ваш сервер, тому виправлений пізніше URL магазину й далі надсилає відвідувачів, що повертаються, на старий. OneStoreLink (onestore.link) відповідає кодом 302, тож змінене місце призначення діє з наступного натискання.
Востаннє перевірено 2026-11-03
Коли ви пишете перенаправлення, цей вибір здається дрібницею, але саме він вирішує, чи зможете ви колись змінити місце призначення. Браузери сприймають 301 як «ця адреса переїхала назавжди» і запам'ятовують його; 302 означає «цього разу йди туди». Для посилання, надрукованого на QR-коді чи вставленого в біо, яким користуються місяцями, ця різниця важливіша за все інше в перенаправленні. У цьому посібнику — який код використовувати, чому і що ще має надсилати перенаправлення до магазину.
Проблема
- 301 повідомляє браузерам, що переїзд назавжди, і вони це запам'ятовують: наступне відвідування може піти до магазину, не питаючи ваш сервер.
- Якщо URL магазину згодом зміниться — нова сторінка в магазині, нова назва пакета, виправлена помилка, — відвідувачів, що повертаються, можуть і далі надсилати на старий.
- Перенаправлення за пристроєм дає різні відповіді iPhone і Android-телефону, а постійне перенаправлення цього не описує.
- URL перенаправлення, проіндексований пошуковиками, додає сторінку, яка існує лише для того, щоб надсилати людей деінде.
З onestore.link
- Відповідайте кодом 302 (або 307, який до того ж зберігає метод запиту): браузери питають ваш сервер знову під час кожного відвідування.
- Обирайте місце призначення під час кожного запиту, за User-Agent відвідувача, щоб ваші зміни застосовувалися одразу.
- Позначайте перенаправлення заголовком X-Robots-Tag: noindex, щоб саме коротке посилання не потрапляло в результати пошуку.
- onestore.link відповідає кодом 302 із заголовком X-Robots-Tag: noindex, і ви можете будь-коли змінити URL магазинів, не змінюючи посилання, яким поділилися.
Як це зробити
Без SDK, без перезбірки. Лише адреса.
- 1
Повертайте тимчасове перенаправлення
Оберіть магазин за User-Agent і відповідайте статусом 302. Тут — у вигляді Cloudflare Worker; та сама логіка працює на будь-якому сервері.
// Тимчасове перенаправлення: браузери питають ваш сервер знову під час кожного відвідування 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
Надсилайте комп'ютери на сторінку, а не до магазину
Сторінка магазину нічого не встановить на комп'ютер. Надсилайте відвідувачів з комп'ютерів на сторінку з кнопками обох магазинів і QR-кодом — вона ж підхопить iPad, які представляються як Mac.
- 3
Або скористайтеся готовим посиланням
Створіть onestore.link з двома URL магазинів: воно відповідає кодом 302 під кожен пристрій, не пускає коротке посилання в індекс і дає змогу згодом змінити місце призначення.
Часті запитання
Чи поганий 301 для посилання на завантаження застосунку?
Він ризикований. Браузери можуть запам'ятати 301 і перестати питати ваш сервер, тож місце призначення, яке ви згодом зміните, не дійде до відвідувачів, які вже переходили за посиланням. 302 уникає цього без жодних витрат.
302 чи 307?
Обидва тимчасові. 307 гарантує збереження методу запиту; для посилання, на яке натискають люди, а це завжди GET, обидва поводяться однаково. 302 — звичайний вибір.
Чи шкодить 302 SEO?
Не для такого посилання. Перенаправлення до магазину — не та сторінка, яку ви хочете просувати в пошуку; просувати треба ваш сайт. Позначте перенаправлення як noindex і ставте посилання на свій сайт зі своїх сторінок.
Що надсилає onestore.link?
302 в App Store для User-Agent iPhone та iPad і в Google Play для Android, із заголовком X-Robots-Tag: noindex. Вбудовані браузери застосунків і комп'ютери натомість отримують сторінку, бо там голе перенаправлення не спрацьовує або нічого не встановлює.
Готові спробувати?
Безкоштовно назавжди, без пароля. Ваше посилання буде готове приблизно за хвилину.
Створити безкоштовне посиланняПорівнюєте інструменти? onestore.link проти bitly →