過去3年間で、12を超えるShopifyストアをヘッドレスアーキテクチャに移行してきました。スムーズに進んだものもあれば、悪夢のようなものもありました。その差は常に計画に帰着します — つまり、チームが最初のコード行を書く前に、実際に何をしようとしているのかを理解していたかどうかということです。

このガイドは、初めてのヘッドレスShopify移行の前に誰かが教えてくれていたらよかったと思うことをすべてカバーしています:どのフロントエンドフレームワークを選ぶべきか、SEOランキングをどのように保持するか、カットオーバー中にダウンタイムをゼロにする方法、実際のコスト、ストアの複雑さに基づいた現実的なタイムライン。手振りはなし。「状況による」という説明なし。

目次

Shopify to Headless Migration: Next.js, Hydrogen & Remix Guide

なぜShopifyからヘッドレスに移行するのか

明確にしておきましょう:標準的なShopifyはほとんどのストアにとって優れています。年間200万ドル以下の売上で、テーマが必要なことをしているなら、おそらくヘッドレスは必要ありません。真剣に。この移行に反対した人数の方が、賛成した人数より多いです。

しかし、ヘッドレスに移行する正当な理由もあります:

  • パフォーマンスの上限:Liquidテーマにはレンダリングのボトルネックがあります。Online Store 2.0とDawnを使ってでも、Shopifyのサーバーサイドレンダリングパイプラインに制限されています。ヘッドレスストアは一貫して1秒未満のLCPスコアを達成します。
  • カスタム体験:プロダクトコンフィギュレータ、AR試着、複雑なフィルタリング、パーソナライゼーションエンジン — これらはLiquidで構築するのは面倒です。
  • マルチストアフロント:1つのバックエンドがDTCサイト、卸売ポータル、モバイルアプリ、および国際的なストアを駆動します。
  • コンテンツ豊富なブランド:ブランドが編集コンテンツ、ルックブック、ストーリーテリングに大きく依存している場合、ヘッドレスCMSをShopifyのコマースエンジンと組み合わせると、両方の長所が得られます。
  • 開発者体験:チームがLiquidではなく、React/TypeScriptで作業したいと考えています。これは人々が認めるより重要です。

パフォーマンスの改善は実測されています。2025年では、GoogleのCore Web Vitalsが検索ランキングに直接影響を与えます。ヘッドレスに移行したストアは、通常LCPで30~50%の改善、Total Blocking Timeで40~60%の改善が見られます。これは測定可能なコンバージョン率の改善に変換されます — Shopifyの独自データによると、ページスピードの1%の改善はコンバージョンを最大0.7%増加させることができます。

ヘッドレスShopifyアーキテクチャの説明

「ヘッドレスShopify」と言う場合、フロントエンド(顧客が見るもの)をバックエンド(Shopifyのコマースエンジン)から分離することを意味します。商品、在庫、注文、チェックアウト、および支払いはShopifyに保持されます。Storefront APIを介してShopifyと通信するカスタムフロントエンドを構築します。

典型的なアーキテクチャは以下の通りです:

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│   カスタムフロント │────▶│  Storefront API   │────▶│  Shopifyバックエンド │
│  (Next.js/H2/Remix)│   │  (GraphQL)        │     │  (商品、カート、│
│                 │     │                  │     │   注文、など)    │
└─────────────────┘     └──────────────────┘     └─────────────────┘
        │
        ▼
┌─────────────────┐
│  ヘッドレスCMS    │
│  (Sanity、Contentful、│
│   Storyblok)     │
└─────────────────┘

Shopify Plus加盟店は、ホスト型チェックアウトにリダイレクトせずにチェックアウトをカスタマイズできるCheckout Extensibility APIにアクセスできます。非Plusストアの場合、顧客は実際の購入のためにShopifyのホスト型チェックアウト(checkout.shopify.com)にリダイレクトされます — 実は悪くない体験ですが、UXの中断です。

Storefront API

すべてはShopifyのStorefront API(GraphQLエンドポイント)を通じて実行され、以下を処理します:

  • 商品クエリとコレクション
  • カート管理(作成、アップデート、ラインアイテムの削除)
  • 顧客認証
  • コンテンツ(メタフィールド、メタオブジェクト)
  • ショップのローカライゼーションと通貨

APIにはレート制限があります — 単一のアプリあたり1秒あたり50コストポイント。実際には、適切にキャッシュしていれば、これはめったに問題になりませんが、フラッシュセール時に計画していないと弱点になります。

# 例:バリアント付きで商品を取得
query ProductQuery($handle: String!) {
  product(handle: $handle) {
    id
    title
    descriptionHtml
    priceRange {
      minVariantPrice {
        amount
        currencyCode
      }
    }
    variants(first: 100) {
      edges {
        node {
          id
          title
          availableForSale
          price {
            amount
          }
          selectedOptions {
            name
            value
          }
        }
      }
    }
    images(first: 10) {
      edges {
        node {
          url
          altText
          width
          height
        }
      }
    }
  }
}

フロントエンドの選択:Next.js vs Hydrogen vs Remix

これは、ほとんどのチームが立ち往生する場所です。3つすべてでプロダクションストアを構築した後の正直な見解があります。

機能 Next.js 15 Hydrogen 2024.10+ Remix (Shopify)
フレームワークの成熟度 非常に成熟、膨大なエコシステム 成熟中、Shopify固有 成熟(React Router 7にマージ)
Shopify統合 Storefront API経由の手動 ファーストパーティ、ビルトインフック Hydrogen UIを介してGood
ホスティング Vercel、Netlify、自己ホスト Oxygen (Shopify)または自己ホスト 任意の場所、ただしOxygenに最適化
学習曲線 中程度 中程度~高 中程度
コミュニティ/採用 巨大 小さいが成長中 中程度
SSR/SSG柔軟性 優秀(App Router) SSRフォーカス(ストリーミング) SSRフォーカス(ローダー)
キャッシュ制御 ISR、オンデマンド検証 Oxygenサブリクエストキャッシング 標準HTTPキャッシング
最適なのは React経験のあるチーム、複雑なコンテンツのニーズ Shopify固有のチーム、シンプル~中程度のストア Shopifyの推奨パスを望むチーム

Next.js:安全な選択肢

Next.jsは、特にShopifyをSanityやContentfulのようなヘッドレスCMSと組み合わせるチームに対して、ほとんどのチームに推奨します。エコシステムは膨大で、採用は簡単で、App Routerのサーバーコンポーネントで素晴らしい柔軟性が得られます。

欠点?Shopify統合自体を配線する必要があります。Next.js用の公式Shopify SDKはありません(ただし、@shopify/hydrogen-reactのようなコミュニティパッケージはカートフックとユーティリティを提供します)。ボイラープレート部分により多くの時間を費やします。

Social Animalでは、多くのヘッドレスShopifyストアをNext.jsで構築しています — eコマースプロジェクト向けの最も要望のあるスタックです。

Hydrogen:Shopifyの公式フレームワーク

HydrogenはShopifyの公式ヘッドレスフレームワークで、Remix(現在はReact Router 7)の上に構築されています。商品、カート、SEO用のプリビルトコンポーネント、およびOxygen(Shopifyのエッジホスティングプラットフォーム)とのシームレスな統合が付属しています。

アピール性は明白です:ボイラープレートが少なく、Shopify最適化キャッシング、展開ストーリーがOxygenで機能します。2024.10リリースは、改善されたTypeScriptサポートとカート操作の楽観的なUIアップデートを含む大きな改善をもたらしました。

欠点?コミュニティが小さく、詰まったときのリソースが少なく、Shopifyのエコシステムにある程度ロックインされています。コマースバックエンドを交換したい場合、Next.jsを使う場合よりもはるかに多くのコードを書き直すことになります。

Remix / React Router 7

ここで混乱するのはこの部分です:RemixはReact Router 7にマージされています。Hydrogenはリミックスの上に構築されています。つまり、「ShopifyのRemix」は、ほとんどの文脈ではHydrogenを実際に意味しています。

HydrogenのShopify固有の抽象化なしでReact Router 7を使用したい場合、できます。同じローダー/アクションパターン、同じストリーミングSSR、Shopify統合に対する完全な制御が得られます。これは、Remixチームにすでに投資していて、最大の柔軟性を望む場合に理にかなっています。

推奨事項

コンテンツが豊富で複雑なページレイアウトを持つブランドの場合:Next.js +ヘッドレスCMS。シンプルなDTCストアで本番までの最速パスを望む場合:Oxygen上のHydrogen。すでにRemixエコシステムに投資しているチームの場合:Hydrogen UIコンポーネント付きReact Router 7

Shopify to Headless Migration: Next.js, Hydrogen & Remix Guide - architecture

移行プロセス ステップバイステップ

すべての移行で従うプロセスです。退屈です。機能します。

フェーズ1:監査と計画(2~3週間)

  1. 既存サイトをクロール — Screaming Frogまたはsitebulbを使用して、すべてのURL、リダイレクト、canonical タグ、および構造化データブロックをカタログします。エクスポートしてください。後で必要になります。
  2. すべての統合を文書化 — Klaviyo、Yotpoレビュー、ロイヤルティプログラム、サブスクリプションアプリ(Recharge、Loop)、決済ゲートウェイ。すべての1つです。
  3. URLストラクチャーをマップ — 新しいURLが古いURLと一致しますか?Shopifyは/products/product-handle/collections/collection-handleを使用します。これらを変更する場合、リダイレクトが必要です。
  4. カスタム機能を特定 — 標準的なブラウズと購入を超えるもの。ギフトカード、バンドル、卸売価格、マルチ通貨、B2B。
  5. スタックを選択 — フロントエンドフレームワーク、CMS、ホスティング、CDN。

フェーズ2:フロントエンドを構築(6~12週間)

これは実際の開発が行われる場所です。主要な領域:

  • 商品ページ バリアント選択、画像ギャラリー、レビュー統合付き
  • コレクションページ フィルタリング、ソート、ページネーション付き
  • カート リアルタイム在庫チェックとアップセル付き
  • 検索 — Shopifyの予測検索APIまたはAlgoliaなどのサードパーティ
  • 顧客アカウント — ログイン、注文履歴、アドレス管理
  • CMSドリブンページ — ホームページ、約、ランディングページ
  • チェックアウトリダイレクト — Shopifyチェックアウトへのハンドオフを処理
// 例:ISR付きNext.js商品ページ
import { getProduct } from '@/lib/shopify'
import { ProductDetails } from '@/components/product-details'

export async function generateStaticParams() {
  const products = await getAllProductHandles()
  return products.map((handle) => ({ handle }))
}

export default async function ProductPage({ 
  params 
}: { 
  params: { handle: string } 
}) {
  const product = await getProduct(params.handle)
  
  if (!product) notFound()

  return (
    <>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{
          __html: JSON.stringify(generateProductJsonLd(product)),
        }}
      />
      <ProductDetails product={product} />
    </>
  )
}

export const revalidate = 60 // ISR:60秒ごとに検証

フェーズ3:統合とQA(2~4週間)

すべてのサードパーティサービスを接続します。すべてをテストしてください。本当にすべてです:

  • すべての支払い方法でテスト注文を出す
  • 割引コード、ギフトカード、自動割引をテストする
  • アナリティクストラッキングを検証(GA4、Meta Pixel、TikTok Pixel)
  • 予想されるトラフィックの下でStorefront API呼び出しをロードテストする
  • 実際のデバイスでテストする、Chrome DevToolsだけではない

フェーズ4:カットオーバー(1~2日)

実際のスイッチ。詳細はゼロダウンタイムセクションを参照してください。

移行中のSEO保持

ここが移行がうまくいかない場所です。URLリダイレクトを忘れたために有機トラフィックの40%を失ったストアを見てきました。そのチームにならないでください。

URLマッピング

単一のリダイレクトルールを書く前に、完全なURLマッピングドキュメントを作成します。古いサイトのすべてのURLは、新しいサイトの目的地が必要です。

古:/collections/summer-2024
新:/collections/summer-2024  ← 同じ?優れています、リダイレクトは不要です。

古:/blogs/news/our-story
新:/journal/our-story  ← 異なる?301リダイレクトが必要です。

古:/pages/about-us
新:/about  ← 異なる?301リダイレクトが必要です。

構造化データ

Shopifyテーマには基本的な構造化データが含まれています。ヘッドレスに移行する場合、自分で実装する責任があります。最低限:

  • Productスキーマ with offersaggregateRating
  • ナビゲーション用BreadcrumbList
  • ブランド用Organization
  • SearchActionWebSite(サイトリンク検索)
  • 該当する場合はFAQPage

メタタグと正規URL

すべてのページには、適切な<title><meta description>、canonical URL、およびOpen Graphタグが必要です。Next.jsでは、Metadata APIを使用します:

export async function generateMetadata({ params }): Promise<Metadata> {
  const product = await getProduct(params.handle)
  
  return {
    title: product.seo.title || product.title,
    description: product.seo.description || product.description,
    openGraph: {
      images: [product.featuredImage?.url],
    },
    alternates: {
      canonical: `https://yourstore.com/products/${params.handle}`,
    },
  }
}

XMLサイトマップ

Shopifyのデータからサイトマップを動的に生成します。商品、コレクション、およびCMSページを含めます。移行直後にGoogle Search Consoleに送信します。

移行前SEOチェックリスト

  • 完全なURLマッピングドキュメント
  • 設定およびテストされた301リダイレクト
  • すべてのページタイプで実装および検証された構造化データ
  • Shopify SEOフィールドから引き出されたメタタグ
  • 動的に生成されたXMLサイトマップ
  • 正しく設定されたrobots.txt
  • Google Search Consoleに通知(該当する場合)
  • 新しいURLストラクチャーに更新された内部リンク
  • Shopifyから保存された画像altテキスト

ゼロダウンタイム移行戦略

ゼロダウンタイムは魔法ではありません。DNS管理と準備です。

ブルーグリーン展開アプローチ

  1. 新しいサイトを構築して展開 ステージングドメイン(例:new.yourstore.com
  2. 両方のサイトを同時に実行 最低1週間、新しいサイトを徹底的にテスト
  3. CDN/DNS を即座のスイッチングをサポートするように設定(CloudflareやVercel、Netlifyはすべてこれをサポートしています)
  4. DNS を新しいフロントエンドを指すように切り替える — TTLは事前に60秒に設定する必要があります
  5. 監視 すべて:エラー率、404、コンバージョン率、Core Web Vitals

プロキシアプローチ(さらに安全)

月間100万ドル以上を処理するストアの場合、プロキシベースの移行を好みます:

  1. リバースプロキシ(Cloudflare Workers、Vercel Edge Middleware)を古いサイトと新しいサイトの両方の前に配置
  2. ページごとのルートトラフィック — 低リスクページ(/about)から始めます
  3. 2~4週間かけて、ページごとに新しいフロントエンドにページを段階的に移動
  4. 次のバッチに移動する前に、各ページのパフォーマンスを監視
  5. 商品とコレクションページが最後になります(最高の売上リスク)

このアプローチは複雑さを増しますが、ストア全体に影響を与える前に問題をキャッチできるようにします。

// Vercel Edge Middleware例(段階的な移行)
import { NextResponse } from 'next/server'

export function middleware(request: NextRequest) {
  const { pathname } = request.nextUrl
  
  // すでに新しいフロントエンドに移行されたページ
  const migratedPaths = ['/about', '/contact', '/journal']
  
  if (migratedPaths.some(path => pathname.startsWith(path))) {
    return NextResponse.next() // 新しいフロントエンドから提供
  }
  
  // その他すべては古いShopifyストアにプロキシ
  return NextResponse.rewrite(
    new URL(pathname, 'https://old-store.myshopify.com')
  )
}

価格設定とタイムラインの内訳

現在の実数について話しましょう。これらは、シンプルなDTCストアから複雑なマルチマーケット操作まで、2025年に見たプロジェクトに基づいています。

ストアの複雑さ タイムライン エージェンシーコスト フリーランサーコスト
シンプル(50以下の商品、基本ページ、標準チェックアウト) 8~12週間 $40,000~$75,000 $20,000~$40,000
中程度(50~500商品、CMS、サブスクリプション、マルチ通貨) 12~20週間 $75,000~$150,000 $40,000~$80,000
複雑(500以上の商品、B2B+DTC、カスタムチェックアウト、複数統合) 20~32週間 $150,000~$300,000+ $80,000~$150,000

継続的なコスト

繰り返しの費用を忘れないでください:

  • Shopify Plus:月$2,300(チェックアウト拡張性に必須、ヘッドレスに推奨)
  • ホスティング:月$20~500(Vercel Proは1ユーザーあたり月$20、OxygenはShopifyに含まれる)
  • ヘッドレスCMS:月$0~500(SanityやContentful、Storybokはすべて無料層を持っている)
  • 検索:Algoliaなどのサードパーティを使用している場合は月$0~500
  • メンテナンス:初期構築コストの年間10~15%を予算化

チームが特定の状況のためにヘッドレスShopify移行の費用がいくら必要かを探っているために、私たちは価格設定アプローチについてここで詳しく説明します。また、クイックコールで状況を評価することにも喜んでいます。

一般的な移行の落とし穴

1. カートを過小評価

カートは、割引コード、自動割引、ギフトカード、ラインアイテムプロパティ、カートメモ、推定配送、税計算、およびカートレベルのメタフィールドを考慮するまで、シンプルに見えます。カート機能に予想する時間の2倍の予算を立ててください。

2. アプリを忘れることについて

そのShopifyアプリエコシステムに依存していますか?ほとんどのアプリは液体テーマにJavaScriptを挿入します。ヘッドレスに移行することは、レビュー、ウィッシュリスト、ロイヤルティプログラムなどのAPI ベースの代替または カスタム実装が必要であることを意味します。

3. チェックアウトのカスタマイズ

Shopify Plus(月$2,300)なしでは、チェックアウト体験をカスタマイズできません。顧客はShopifyのホスト型チェックアウトにリダイレクトされます。これは視覚的な断絶を作成します。Plus加盟店はCheckout Extensibilityを使用できますが、完全にカスタムチェックアウトよりも依然として制限されています。

4. パフォーマンステストを早期に無視

Storefront APIはレイテンシを追加します。商品ページをレンダリングするために8つのAPI呼び出しを行っている場合、それを感じるでしょう。積極的にキャッシュし、GraphQL断片を使用してオーバーフェッチを最小化し、該当する場合はストリーミングSSRを実装します。

5. コンテンツチームを無視

マーケティングチームはShopifyのアドミンでコンテンツを管理していました。現在、ヘッドレスCMSが必要です。トレーニングとコンテンツ編集体験の構築に時間をかけてください。これがヘッドレスCMS開発の専門知識が本当に重要になるところです。

ヘッドレスが正しい選択ではない場合

正直に言います:ヘッドレスShopifyは誰のためでもありません。以下の場合は移行しないでください:

  • ストアは年間100万ドル未満で、複雑なカスタマイズニーズがない
  • 進行中の開発とメンテナンスの予算がない
  • チームはReact開発者を持っていない(または採用/契約する予算がない)
  • 現在のテーマのパフォーマンスと機能に満足している
  • 「クールなテック」ストーリーではなく、実際のビジネス問題を解決しようとしているのが主に

ShopifyのOnline Store 2.0とよく最適化されたテーマは、Lighthouseで90以上のスコアを獲得できます。時には、正しい答えは、ゼロから再構築するのではなく、持っていることを最適化することです。

フェンスにいる場合は、ハイブリッドアプローチを検討してください:Shopifyテーマを保持するが、ホームページやランディングページなど、影響が大きい特定のページを構築しますヘッドレス。既存のテーマと並行してShopify Storefront APIを使用できます。完全な移行に完全にコミットする前に、値を証明できます。

FAQ

Shopifyからヘッドレスへの移行にはどのくらい時間がかかりますか?

典型的な中程度の複雑さのストアの場合、キックオフから起動まで12~20週間を期待してください。より少ない商品と基本的な機能を持つシンプルなストアは8~12週間で出荷できます。複雑なマルチマーケットストアで、カスタムチェックアウトと広範な統合は、しばしば20~32週間かかります。監査と計画フェーズだけで2~3週間かかるはずです — スキップしないでください。

ヘッドレスShopifyに移行するときにSEOランキングを失いますか?

それを正しく実行した場合ではありません。キーは:同じURLストラクチャーを保持すること(または適切な301リダイレクトを設定すること)、すべてのページタイプで構造化データを実装すること、メタタグとcanonical URLsを保存すること、および移行直後にGoogle Search Consoleに更新されたサイトマップを送信することです。通常、移行後のランキングで1~2週間の変動が見られ、その後、より良いCore Web VitalsスコアをGoogleが認識すると改善が続きます。

ヘッドレスにはShopify Plusが必要ですか?

技術的には、そうではありません。Storefront APIはすべてのShopifyプランで利用可能です。ただし、Shopify Plusはチェックアウト拡張性(チェックアウト体験のカスタマイズ)、より高いAPIレート制限、およびOxygenホスティングへのアクセスを提供します。深刻なヘッドレスプロジェクトの場合、月$2,300のPlusはほぼ常に価値があります。

HydrogenとShopifyを使用したNext.jsの違いは何ですか?

HydrogenはRemix/React Router 7の上に構築されたShopifyの公式ヘッドレスフレームワークです。Shopify固有のコンポーネント、フック、およびユーティリティがすぐに含まれており、Oxygenでの最適化されたデプロイメントがあります。Next.jsでは、Shopify統合自体を構築する必要がありますが、より大きなエコシステム、より多くのホスティングオプション、および複雑なコンテンツアーキテクチャのより良いサポートが得られます。特定のプロジェクト要件に基づいて、ほとんどのエージェンシー(私たちを含む)は強い意見を持っています。

ヘッドレスShopifyにゼロダウンタイムで移行できますか?

はい、ブルーグリーン展開(DNSスイッチ)またはクリーンプロキシベースの移行を使用しています。ブルーグリーンアプローチは、DNS経由で一度にすべてのトラフィックを切り替えます。一方、プロキシアプローチは数週間かけてページを段階的に移行します。どちらも機能します。プロキシアプローチは高売上ストアにはより安全ですが、複雑さが増します。

ヘッドレスShopify移行の費用はいくらですか?

エージェンシーコストは通常、シンプルなストアの場合$40,000から複雑なマルチマーケット操作の場合$300,000以上の範囲です。フリーランスレートは大約エージェンシーコストの50~60%ですが、プロジェクト管理構造が少なく、少ない専門家が来る場合があります。継続的なコストにはShopify Plus(月$2,300)、ホスティング(月$20~500)、CMS(月$0~500)、およびメンテナンス(初期構築コストの年間10~15%)が含まれます。

ヘッドレスShopifyの代わりにAstroを使用すべきですか?

Astroは、相互作用性の島を持つコンテンツが豊富なサイトに最適な選択肢であり、Astroで動かされたストアフロントを複数構築しています。カタログスタイルのストアで機能します。ほとんどのページは静的で、カートのようなインタラクティブコンポーネント用にのみReact(またはSvelte、Vue)が必要です。ただし、リアルタイム在庫、複雑なフィルタリング、インスタント検索を備えたヘビークライアント側インタラクティビティを持つストアの場合、Next.jsまたはHydrogenの完全なReactランタイムが通常より良いフィットです。

ヘッドレスに移行した後、Shopifyアプリはどうなりますか?

フロントエンドコードを挿入するほとんどのShopifyアプリ(ポップアップ、ウィジェット、レビュー表示)はすぐにはスクリプト化されません。アプリのAPIを直接使用するか、ヘッドレス互換の代替を見つけるか、カスタム実装を構築する必要があります。バックエンドでのみ動作するアプリ(在庫管理、配送、ERP統合)は通常、変更なしで動作を続けます。計画フェーズ中に常にアプリスタックを監査してください。