🤖

Shopifyでスワイプ型LPを作成する方法を考察

に公開

はじめに

今回は、Shopify でスワイプ型LPを実装する方法について考察しました。

HTML・CSS でシンプルなスワイプ型LPを実装する方法や、Liquid を用いてスワイプ型LPを実装する方法を考察していきます。さらに、シンプルスワイプ画像LP|お手軽スワイプ操作型LPというアプリを使う方法も解説します。

今回は、以下の記事を参考にしています。

それでは、頑張っていきましょう。

Shopify でスワイプ型LPを実装する定義

スワイプ型LPとは、ユーザーが商品やサービスを「縦」または「横」にスワイプ(指でなぞる)操作で読み進められるランディングページのことです。特に、スマートフォンでの閲覧を念頭に置いており、ビジュアルを大きく魅せつつ、直感的な操作でページを移動できます。
ECサイトにおいては、商品やブランドの世界観をダイナミックに訴求し、離脱率の低減や購入意欲の向上を期待できる新しいLP形態です。

Shopify でスワイプ型LPを実装するメリット

スワイプ型LPを導入することで、以下のようなメリットが考えられます。

1. 直感的なユーザー体験

画像やコンテンツをスワイプ操作で切り替えることにより、ユーザーは単調なスクロールよりもアクティブにコンテンツを楽しめます。ページをめくるような感覚で進むため、退屈さを軽減し、ブランドや商品の印象を強く残すことができます。

2. 離脱率の低減

特にスマートフォンでの操作性に優れ、ユーザーが操作に迷うことなく次のコンテンツへ進んでくれるため、離脱率の低減が期待できます。ビジュアル中心のUIで魅力を伝えやすく、購入意欲の向上にも寄与します。

3. ビジュアル重視の訴求が可能

スワイプ型LPは画像や動画を大きく表示させるレイアウトに向いています。そのため、アパレル・アクセサリー・インテリアなど、ビジュアルが魅力の大きな割合を占めるショップで、より効果的に商品をアピールできます。

4. スマホに最適化した導線

スワイプ操作はスマホユーザーにとって非常に馴染み深い操作です。ページを読み進めるストレスが減り、スムーズに購入ページへ誘導できることから、モバイルコマースに強い Shopify ストアを作る上でも注目されています。

5. ノーコードでも導入が可能

後述するシンプルスワイプ画像LP|お手軽スワイプ操作型LPなどのアプリを使えば、専門知識がなくてもスワイプ型LPを簡単に導入できます。デザインやアニメーションを直感的にカスタマイズし、ブランドイメージに合うページを作りやすい点は大きな魅力です。

Shopify でスワイプ型LPを実装するデメリット

一方で、スワイプ型LPには以下のようなデメリット・注意点も存在します。

1. ページ構成の工夫が必要

スワイプ型のページは、従来の縦スクロール型とレイアウトの考え方が異なります。画像やテキスト、CTA ボタンを配置する際には、ユーザーが迷わずに進めるような導線設計が重要になります。

2. 画像中心のため容量が増えやすい

スワイプ型LPはビジュアルに重点を置く分、高解像度の画像や動画を複数使用することがあります。そのため、ページ容量が増えやすく、読み込み速度が低下するリスクがあるので、適切な画像圧縮や lazy-load の実装が望まれます。

3. 特定のユーザー層には向かない場合がある

スワイプ操作はスマホユーザーに馴染みやすい反面、PCユーザーには必ずしも最適とは言えません。PCユーザーが多いショップや、テキスト情報をじっくり読ませたい場合は、スワイプ型よりも従来のスクロール型LPのほうが効果的な場合もあります。

4. カスタマイズ難易度が上がる場合がある

独自にスワイプ型LPをコーディングで導入しようとする場合は、JavaScript の制御やレスポンシブデザインへの配慮など、やや高度な実装が必要です。アニメーションの細かな制御など、デザインが凝れば凝るほど工数が増える可能性があります。

Shopify でスワイプ型LPを実装する方法

ここでは、HTML・CSS・JavaScript を用いたシンプルなスワイプ型LPの実装例を紹介します。以下のサンプルコードは、指でスワイプ可能な画像スライダーを想定したものです。

<!-- スワイプ型LPの HTML -->
<section class="swipe-lp">
  <div class="swipe-lp--wrapper">
    <div class="swipe-lp--slide" style="background-image: url('https://example.com/image1.jpg');">
      <h2>Slide 1</h2>
      <p>商品やサービスのキャッチコピーを入れられます</p>
    </div>
    <div class="swipe-lp--slide" style="background-image: url('https://example.com/image2.jpg');">
      <h2>Slide 2</h2>
      <p>製品の魅力を大きなビジュアルで訴求しましょう</p>
    </div>
    <div class="swipe-lp--slide" style="background-image: url('https://example.com/image3.jpg');">
      <h2>Slide 3</h2>
      <p>縦or横のスワイプ操作でページを進行できます</p>
    </div>
  </div>
</section>

<!-- スワイプ型LPの CSS -->
<style>
  .swipe-lp {
    overflow: hidden;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }

  .swipe-lp--wrapper {
    display: flex;
    flex-wrap: nowrap;
    transition: transform 0.3s ease-in-out;
    touch-action: pan-y; /* iOS Safari対応 */
  }

  .swipe-lp--slide {
    min-width: 100%;
    min-height: 500px;
    background-size: cover;
    background-position: center;
    color: #fff;
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
</style>

<!-- スワイプ型LPをスライド制御するための JavaScript -->
<script>
  document.addEventListener('DOMContentLoaded', () => {
    const wrapper = document.querySelector('.swipe-lp--wrapper');
    let startX = 0;
    let currentTranslate = 0;
    let currentIndex = 0;

    wrapper.addEventListener('touchstart', (e) => {
      startX = e.touches[0].pageX;
    });

    wrapper.addEventListener('touchmove', (e) => {
      const deltaX = e.touches[0].pageX - startX;
      wrapper.style.transform = `translateX(${currentTranslate + deltaX}px)`;
    });

    wrapper.addEventListener('touchend', (e) => {
      const endX = e.changedTouches[0].pageX;
      const diffX = endX - startX;
      const slideWidth = wrapper.clientWidth;

      // スワイプ距離が一定以上ならスライドを切り替える
      if (Math.abs(diffX) > slideWidth * 0.25) {
        if (diffX < 0 && currentIndex < wrapper.children.length - 1) {
          currentIndex++;
        } else if (diffX > 0 && currentIndex > 0) {
          currentIndex--;
        }
      }
      currentTranslate = -(slideWidth * currentIndex);
      wrapper.style.transform = `translateX(${currentTranslate}px)`;
    });
  });
</script>

スワイプ型LPのコード解説

上記のサンプルコードでは、フレックスレイアウトを用いて横にスライドできるコンテンツを配置し、ユーザーのスワイプ操作でスライドを切り替えています。
JavaScript では touchstart/touchmove/touchend を用いてスワイプの開始位置や移動量を取得し、一定量のスワイプを検知したら次のスライドへ移動する簡易的な実装になっています。

同様に、縦方向(vertical)にスワイプさせたい場合は、translateY() を使用するなど、パラメータを少し変えるだけで実現可能です。

Liquid を用いたスワイプ型LPの実装

Shopify でスワイプ型LPを作成する場合、上記 HTML・CSS・JavaScript を「カスタムセクション」や「テンプレート」に組み込むことで行えます。Liquid テンプレートを使用して以下のように書くと、テーマエディタから動的に画像やテキストを追加可能になります。

{% schema %}
{
  "name": "Swipe LP Section",
  "settings": [
    {
      "type": "image_picker",
      "id": "slide1_image",
      "label": "Slide 1 Image"
    },
    {
      "type": "text",
      "id": "slide1_title",
      "label": "Slide 1 Title"
    },
    {
      "type": "textarea",
      "id": "slide1_text",
      "label": "Slide 1 Text"
    }
    // 以降、スライド2,3など必要な数だけ追加
  ]
}
{% endschema %}

<section class="swipe-lp" id="custom-swipe-lp">
  <div class="swipe-lp--wrapper">
    <div class="swipe-lp--slide" style="background-image: url('{{ section.settings.slide1_image | img_url: '1024x' }}');">
      <h2>{{ section.settings.slide1_title }}</h2>
      <p>{{ section.settings.slide1_text }}</p>
    </div>
    <!-- 2枚目のスライドも同様に追加 -->
  </div>
</section>

このように、Liquid を用いることで、ストアオーナー自身がテーマエディタ上でノーコードに近い形で文言や画像を変更し、スワイプ型LPを整えていくことができます。

Shopify アプリを用いてスワイプ型LPを実装する方法

ここまで紹介したコーディングによる方法が難しい場合、Shopify アプリを利用するのが手軽です。今回紹介するのは、シンプルスワイプ画像LP|お手軽スワイプ操作型LP というアプリです。

以下のShopify公式のアプリストアから、アプリをインストールできます。

https://apps.shopify.com/sa-108-ur-swipe-lp-app?locale=ja

シンプルスワイプ画像LP|お手軽スワイプ操作型LP とは

  • 価格設定: 月額 $99.99(7日間の無料利用期間あり)
  • 評価: 0.0 (0 レビュー)
  • 開発者: 株式会社UnReact
  • 特徴:
    • ノーコードでスワイプ操作対応のLPを作成可能
    • 縦スワイプまたは横スワイプの設定を切り替えられる
    • スマホ閲覧に最適化されており、離脱率を抑制できる
    • 画像中心のUIでブランドの世界観や商品特徴をダイナミックにアピール

アパレルやアクセサリー、インテリア系ショップなど、ビジュアルが重要なジャンルのサイトに特におすすめです。専門知識がなくても簡単に導入できるため、外部のデザイナーやエンジニアに依頼することなくスワイプ型LPをすぐに試せるのが強みです。

アプリの導入方法

  1. Shopify アプリストアで「シンプルスワイプ画像LP|お手軽スワイプ操作型LP」と検索し、インストールする。
  2. Shopify 管理画面からアプリを起動し、スワイプ型LPのデザインや画像を設定する。
  3. 横スワイプ・縦スワイプを選択し、レイアウト・テキストをカスタマイズする。
  4. 公開ボタンを押してページを作成するだけで、スワイプ型LPがストア内に追加される。

ノーコードでスワイプ型LPを作れるため、初心者でも短時間でスワイプ型の特長を生かした魅力的なランディングページが構築できます。

シンプルスワイプ画像LP|お手軽スワイプ操作型LPの機能の概要

ノーコードでスワイプ型LPを作成できる!

縦スワイプまたは横スワイプの画像LPを簡単に作成できます。

スワイプ型LPの固定(追従)ボタンから、今すぐ購入ができます。

スワイプ型LPの画面下の固定(追従)ボタンは、複数の種類から選べます。

スワイプ型LPの作成・編集は、すべてノーコードでできます。

複数のLPを作成・管理できます。

以下のShopify公式のアプリストアから、アプリをインストールできます。

https://apps.shopify.com/sa-108-ur-swipe-lp-app?locale=ja

最後に

今回は、コーディングでスワイプ型LPを実装する方法と、Shopify アプリ「シンプルスワイプ画像LP|お手軽スワイプ操作型LP」を用いて実装する方法の二つを解説しました。
スワイプ型LPは、スマホユーザーの購買行動を活性化させ、ビジュアルで訴求する際に有効な手段です。専門知識がある方はカスタムコードによる柔軟な拡張が可能ですし、ノーコードで導入したい方は今回紹介したアプリを使って簡単に導入できます。

お疲れさまでした。

参考記事

今回は、以下の記事を参考にしています。

Discussion