🔗onestore.link

開発者向け

アプリストアへのリダイレクトは 301 と 302 のどちらにすべき?

端末によって変わるリダイレクトは一時的なままにすべきです。App Store や Google Play への 301 が後で問題を起こす理由を解説します。

結論

302(または 307)を使いましょう。iPhone を App Store へ、Android スマートフォンを Google Play へ送るリダイレクトは、端末ごとに異なる答えを返し、後で変わる可能性もあります。ブラウザは 301 を記憶して次回はサーバーを経由しないため、後で修正したストア URL でも、再訪問者は古い URL へ送られ続けます。OneStoreLink(onestore.link)は 302 で応答するので、編集した遷移先は次のタップから反映されます。

最終確認日:2026-11-03

リダイレクトを書くときには些細なことに見えますが、この選択によって遷移先を将来変えられるかどうかが決まります。ブラウザは 301 を「このアドレスは恒久的に移転した」と解釈して記憶し、302 は「今回はそこへ行って」という意味です。QR コードに印刷されたり、プロフィールに貼られたりして何か月も使われ続けるリンクでは、この違いがリダイレクトの何よりも重要です。このガイドでは、どのコードを使うべきか、その理由、そしてストアへのリダイレクトが他に何を送るべきかを説明します。

1分ほどで無料リンクを作成またはログイン →

課題

  • 301 はブラウザに移転が恒久的だと伝え、ブラウザはそれを記憶します。次の訪問ではサーバーに問い合わせずにストアへ行くことがあります。
  • 新しいアプリページ、新しいパッケージ名、誤字の修正など、後でストア URL が変わっても、再訪問者は古い URL へ送られ続けるかもしれません。
  • 端末別のリダイレクトは iPhone と Android スマートフォンで異なる答えを返しますが、恒久的なリダイレクトはそれを表現できません。
  • 検索エンジンにインデックスされたリダイレクト URL は、人を別の場所へ送るためだけに存在するページを増やします。

onestore.link なら

  • 302(またはリクエストメソッドも保持する 307)で応答します。ブラウザは訪問のたびにサーバーへ問い合わせ直します。
  • リクエストのたびに訪問者のユーザーエージェントから遷移先を選ぶので、加えた変更がすぐに反映されます。
  • リダイレクトに X-Robots-Tag: noindex ヘッダーを付けて、短縮リンク自体が検索結果に出ないようにします。
  • onestore.link は 302 と X-Robots-Tag: noindex ヘッダーで応答し、共有したリンクを変えずに、いつでもストア URL を編集できます。

手順

SDK も再ビルドも不要。URL があるだけです。

  1. 1

    一時的なリダイレクトを返す

    ユーザーエージェントからストアを選び、ステータス 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. 2

    パソコンはストアではなくページへ送る

    ストアのページではパソコンに何もインストールできません。デスクトップの訪問者は両方のストアボタンと QR コードのあるページへ送りましょう。そのページは Mac を名乗る iPad も受け止めます。

  3. 3

    またはホスティング型のリンクを使う

    2 つのストア URL で onestore.link を作成します。端末ごとに 302 で応答し、短縮リンクをインデックスから外し、後で遷移先を変更できます。

よくある質問

アプリのダウンロードリンクに 301 を使うのは悪いことですか?

リスクがあります。ブラウザは 301 を記憶してサーバーに問い合わせなくなることがあるため、後で変更した遷移先が、すでにリンクをたどった訪問者に届きません。302 ならコストなしでそれを避けられます。

302 と 307 のどちら?

どちらも一時的なリダイレクトです。307 はリクエストメソッドが保持されることを保証しますが、人がタップするリンクは常に GET なので、両者の挙動は同じです。一般的なのは 302 です。

302 は SEO に悪影響がありますか?

このようなリンクでは問題ありません。ストアへのリダイレクトは検索順位を上げたいページではなく、上げるべきなのはあなたの Web サイトです。リダイレクトには noindex を付け、自分のページからサイトへリンクしましょう。

onestore.link は何を返しますか?

iPhone と iPad のユーザーエージェントには App Store への 302、Android には Google Play への 302 を、X-Robots-Tag: noindex ヘッダー付きで返します。アプリ内ブラウザとパソコンには代わりにページを表示します。そこでは単純なリダイレクトは失敗するか、何もインストールできないからです。

試してみませんか?

ずっと無料、パスワード不要。リンクは1分ほどで完成します。

無料リンクを作る
独自調査Instagram と TikTok の中で開かれたアプリのリンクに何が起きているか:74,000 件のリダイレクトを計測誰も見ないプリロード、ストアを拒否する TikTok の WebView、ページの上に開く App Store:リダイレクトログが示していること。

ツールを比較中ですか? onestore.link vs bitly →

ほかのガイド

さらに見る