🔗onestore.link

開発者向け

iPad で App Store ではなくパソコン向けページが表示されるのはなぜ?

iPadOS 13 以降、iPad の Safari は自分を Mac だと名乗ります。端末別リダイレクトが iPad を見逃す理由と、見分ける方法を解説します。

結論

iPadOS 13 以降、iPad の Safari はデスクトップ版の Web サイトを要求し、Mac のユーザーエージェント(「Macintosh; Intel Mac OS X 10_15_7」)を送るため、「iPad」を探すリダイレクトはそれをパソコンとして扱います。サーバーでは両者を区別できません。ブラウザでは、navigator.maxTouchPoints が 1 より大きい Mac のユーザーエージェントは iPad です。OneStoreLink(onestore.link)はそうした iPad をパソコン向けページへ送り、そこの App Store ボタンからワンタップでストアへ進めます。

最終確認日:2026-11-03

iPhone を App Store へ、Android スマートフォンを Google Play へ送るリンクを作り、試したどのスマートフォンでも動いたのに、iPad の人がパソコン向けページに着地してしまう。あなたのコードは間違っていません。iPad は意図的に自分の正体を偽っています。Apple が iPad でパソコンと同じ完全な Web サイトを見られるようにしたかったからです。このガイドでは、iPad が何を送っているのか、なぜサーバーでは見抜けないのか、ブラウザでどう判定するのか、そしてストアへのリダイレクトは iPad をどう扱うべきかを説明します。

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

課題

  • iPadOS 13 以降、iPad の Safari は標準でデスクトップ版の Web サイトを要求し、Mac の Safari と同じユーザーエージェントを送ります。
  • ユーザーエージェントに対する /iPad|iPhone/ のような判定は一致しないため、iPad はパソコンとして扱われます。
  • サーバー側には他に判断材料がありません。デスクトップモードの iPad のリクエストは Mac のリクエストと同じに見えます。
  • パソコン向けの分岐がストアボタンのない Web ページを表示するだけなら、iPad のユーザーはインストールできるアプリのあと一歩手前で行き詰まります。

onestore.link なら

  • ブラウザでは、タッチポイントが 2 つ以上ある「Macintosh」のユーザーエージェントを iPad として扱います。Mac では navigator.maxTouchPoints は 0 です。
  • サーバーでは、パソコン向けの分岐を無害にします。両方のストアボタンがあるページにし、ボタンのないページには決してしません。
  • onestore.link はサーバーで判定します。通常のブラウザでは、iPhone と iPad のユーザーエージェントは App Store へ、Android は Google Play へ直接送られ、それ以外のすべて(デスクトップモードの iPad を含む)には両方のストアボタンと QR コードのあるページが表示されます。
  • そのページの App Store ボタンは iPad 本体で App Store を開くので、訪問者はワンタップでインストールに進めます。

手順

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

  1. 1

    ブラウザで iPad を見分ける

    リダイレクトを JavaScript で実行しているなら、ユーザーエージェントの判定にタッチの判定を加えます。Mac が 2 つ以上のタッチポイントを報告することはありませんが、iPad は報告します。

    // iPadOS 13+: iPad の Safari は Mac のユーザーエージェントを報告する
    const ua = navigator.userAgent;
    const isIOS = /iPad|iPhone|iPod/.test(ua) ||
      (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1);
    const isAndroid = /Android/i.test(ua);
  2. 2

    パソコン向けの分岐に両方のストアボタンを置く

    サーバー側のリダイレクトではこの判定を実行できないため、「パソコン」向けに返すページは一部の iPad にも表示されます。そこに App Store ボタンと Google Play ボタンを置き、本物のパソコン向けに QR コードも加えましょう。

  3. 3

    または振り分けを onestore.link に任せる

    2 つのストア URL で onestore.link を作成します。スマートフォンはサーバーでリダイレクトされ、それ以外のすべての訪問者(デスクトップモードの iPad を含む)には両方のボタンと QR コードのあるページが表示されます。保守するコードはありません。

よくある質問

iPad はなぜ Mac のユーザーエージェントを送るのですか?

iPadOS 13 以降、iPad の Safari は標準で Web サイトのデスクトップ版を要求し、それを受け取るために macOS の Safari を名乗ります。ユーザーはサイトをモバイル版に戻せますが、ほとんどの人はそうしません。

デスクトップ版サイトを要求する iPad をサーバーで検出できますか?

確実にはできません。ユーザーエージェントは Mac と同じで、タッチスクリーンを示すリクエストヘッダーもありません。検出にはページ内の JavaScript が必要ですが、単純な 302 リダイレクトはそれを実行しません。

navigator.maxTouchPoints だけで十分ですか?

ユーザーエージェントと組み合わせて使います。navigator.maxTouchPoints が 1 より大きい「Macintosh」のユーザーエージェントは iPad です。単独で使うと、タッチスクリーン付きの Windows ノートパソコンにも一致してしまいます。

onestore.link を使うと iPad のユーザーには何が表示されますか?

Safari の標準のデスクトップモードでは、パソコン向けページが表示されます。アプリ名とアイコン、App Store ボタン、Google Play ボタン、QR コードです。App Store をタップすると iPad で App Store が開きます。ブラウザが iPad のユーザーエージェントを送る iPad は、App Store へ直接リダイレクトされます。

試してみませんか?

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

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

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

ほかのガイド

さらに見る