您的 Shopify 商店處理訂單運作良好——直到您觀看工作階段錄影。結帳頁面載入需要 4.2 秒。您的產品頁面無法進行 A/B 測試動態套組,除非使用每月成本 $299 的應用程式。行動裝置轉換率停留在 1.8%,而您的付費社交媒體預算不斷攀升。在過去三年中,我已將 14 個 Shopify 商店遷移至 headless:七個使用 Next.js、四個使用 Hydrogen、三個使用 Remix。某些遷移在六週內上線,零收入損失。其他遷移則耗資 $40K 開發成本後才得以挽救。差異不在於框架——而在於團隊是否在執行第一個建置命令前,映射了每個 Shopify webhook、購物車規則和 metafield。以下是當您使用 headless 時實際會出現的問題,以及可防止此問題發生的 11 步驟遷移前稽核。

本指南涵蓋在進行第一次 headless Shopify 遷移之前,我希望有人告訴我的一切:如何選擇前端框架、如何保護您的 SEO 排名、如何在切換期間實現零停機時間、實際成本是多少,以及根據商店複雜性的現實時間表。沒有空泛之詞。沒有「視情況而定」而不解釋視何而定。

目錄

Shopify 轉換至 Headless:Next.js、Hydrogen & Remix 指南

為什麼要從 Shopify 遷移至 Headless?

讓我們先說清楚:標準 Shopify 對大多數商店都很不錯。如果您每年營收不足 $2M,且您的佈景主題符合您的需求,您可能不需要 headless。真的。我勸阻人們進行此遷移的次數比我鼓勵他們的次數還多。

但進行 headless 有正當理由:

  • 效能上限:Liquid 佈景主題有渲染瓶頸。即使使用 Online Store 2.0 和 Dawn,您仍受到 Shopify 伺服器端渲染管道的限制。Headless 商店一致地達到低於 1 秒的 LCP 分數。
  • 自訂體驗:產品配置工具、AR 試戴、複雜篩選、個人化引擎——在 Liquid 中構建這些很困難。
  • 多店鋪:一個後端支援您的 DTC 網站、批發入口、行動應用程式和國際商店。
  • 內容豐富的品牌:如果您的品牌大量依賴編輯內容、作品集和故事講述,將 headless CMS 與 Shopify 的商務引擎結合,可提供最佳效果。
  • 開發人員體驗:您的團隊想在 React/TypeScript 中工作,而不是 Liquid。這比人們承認的更重要。

效能改善是真實且可測量的。在 2026 年,Google 的 Core Web Vitals 直接影響您的搜尋排名。我遷移至 headless 的商店通常會看到 LCP 改善 30-50% 和總阻塞時間改善 40-60%。這轉化為可測量的轉換率改善——Shopify 自己的資料表明頁面速度改善 1% 可將轉換率提高最多 0.7%。

Headless Shopify 架構說明

當人們說「headless Shopify」時,他們指的是將前端(客戶看到的內容)與後端(Shopify 的商務引擎)解耦。您保留 Shopify 用於產品、庫存、訂單、結帳和付款。您構建一個自訂前端,透過 Storefront API 與 Shopify 通訊。

以下是典型架構:

┌─────────────────┐     ┌──────────────────┐     ┌─────────────────┐
│   Custom Frontend│────▶│  Storefront API   │────▶│  Shopify Backend │
│  (Next.js/H2/Remix)│   │  (GraphQL)        │     │  (Products, Cart, │
│                 │     │                  │     │   Orders, etc.)  │
└─────────────────┘     └──────────────────┘     └─────────────────┘
        │
        ▼
┌─────────────────┐
│  Headless CMS    │
│  (Sanity, Contentful,│
│   Storyblok)     │
└─────────────────┘

Shopify Plus 商家可以存取 Checkout Extensibility API,讓您自訂結帳而無需重新導向至 Shopify 的託管結帳。對於非 Plus 商店,客戶仍會被重新導向至 checkout.shopify.com 進行實際購買——這說實話不是一個糟糕的體驗,但這是一個 UX 中斷。

Storefront API

所有內容都透過 Shopify 的 Storefront API(GraphQL 端點)進行,該端點處理:

  • 產品查詢和集合
  • 購物車管理(建立、更新、移除行項目)
  • 客戶身份驗證
  • 內容(metafields、metaobjects)
  • 商店本地化和貨幣

API 有速率限制——單個應用程式每秒 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 對比 Hydrogen 對比 Remix

這是大多數團隊卡住的地方。以下是我使用這三個框架構建生產商店後的誠實看法。

功能 Next.js 15 Hydrogen 2026 Remix (Shopify)
框架成熟度 非常成熟,生態系統龐大 日益完善,Shopify 特定 成熟(合併至 React Router 7)
Shopify 整合 透過 Storefront API 手動 一方整合,內建 hooks 透過 Hydrogen UI 良好
託管 Vercel、Netlify、自託管 Oxygen (Shopify) 或自託管 任何地方,但針對 Oxygen 最佳化
學習曲線 中等 中等到高 中等
社群/聘僱 龐大 小但成長中 中等
SSR/SSG 靈活性 優異(App Router) SSR 導向(串流) SSR 導向(載入程式)
快取控制 ISR、隨選重新驗證 Oxygen 子請求快取 標準 HTTP 快取
最佳用途 具有 React 經驗的團隊、複雜內容需求 Shopify 原生團隊、簡單至中等商店 想要 Shopify 推薦路徑的團隊

Next.js:安全的選擇

Next.js 是我為大多數團隊推薦的,尤其是如果您將 Shopify 與 headless CMS(如 Sanity 或 Contentful)配對。生態系統龐大,聘僱更容易,而且使用 App Router 的伺服器元件可獲得難以置信的靈活性。

缺點?您必須自己連接 Shopify 整合。沒有官方 Shopify SDK for Next.js(雖然像 @shopify/hydrogen-react 之類的社群套件為您提供購物車 hooks 和工具程式)。您會花更多時間在樣板上。

我們在 Social Animal 使用 Next.js 構建大量 headless Shopify 商店——它是我們電子商務專案的最常請求堆棧。

Hydrogen:Shopify 自己的框架

Hydrogen 是 Shopify 的官方 headless 框架,建立在 Remix(現在是 React Router 7)之上。它包含用於產品、購物車和 SEO 的預先構建元件——加上與 Oxygen(Shopify 的邊緣託管平台)的緊密整合。

吸引力很明確:更少的樣板、Shopify 最佳化的快取和一個在 Oxygen 上有效運作的部署故事。最近的版本帶來了重大改善,包括更好的 TypeScript 支援和購物車操作的樂觀 UI 更新。

缺點?社群較小,當您卡住時資源較少,而且您在某種程度上被鎖定在 Shopify 的生態系統中。如果您想交換商務後端,您需要重寫更多程式碼,而不是使用 Next.js 的情況。

Remix / React Router 7

以下是令人困惑的部分:Remix 已合併至 React Router 7。Hydrogen 建立在 Remix 之上。所以「Shopify 的 Remix」在大多數情況下實際上意味著 Hydrogen。

如果您想在沒有 Hydrogen 的 Shopify 特定抽象的情況下使用 React Router 7,您可以。您將獲得相同的載入程式/操作模式、相同的串流 SSR 和對您的 Shopify 整合的完全控制。如果您已經是一個 Remix 團隊並且想要最大的靈活性,這是有意義的。

我的建議

對於內容豐富的品牌,頁面版面配置複雜:Next.js + headless CMS。對於想要最快上市路徑的簡單 DTC 商店:Hydrogen on Oxygen。對於已投資 Remix 生態系統的團隊:React Router 7 搭配 Hydrogen UI 元件

Shopify 轉換至 Headless:Next.js、Hydrogen & Remix 指南 - 架構

遷移流程逐步說明

以下是我為每次遷移遵循的流程。它很無趣。它有效。

第 1 階段:稽核和規劃(2-3 週)

  1. 爬取現有網站 — 使用 Screaming Frog 或 Sitebulb 來編目每個 URL、重新導向、標準標籤和結構化資料區塊。匯出此資訊。稍後您需要它。
  2. 記錄所有整合 — Klaviyo、Yotpo 評論、忠誠度計劃、訂閱應用程式(Recharge、Loop)、付款閘道。每一個。
  3. 映射 URL 結構 — 您的新 URL 是否與舊 URL 相符?Shopify 使用 /products/product-handle/collections/collection-handle。如果您更改這些,您需要重新導向。
  4. 識別自訂功能 — 標準瀏覽和購買以外的任何內容。禮品卡、套組、批發定價、多貨幣、B2B。
  5. 選擇您的堆棧 — 前端框架、CMS、託管、CDN。

第 2 階段:構建前端(6-12 週)

這是進行實際開發的地方。主要領域:

  • 產品頁面包含變體選擇、影像庫、評論整合
  • 集合頁面包含篩選、排序、分頁
  • 購物車包含即時庫存檢查和追加銷售
  • 搜尋 — Shopify 的 Predictive Search 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 都需要在新網站上有目的地。

OLD: /collections/summer-2024
NEW: /collections/summer-2024  ← 相同?太好了,不需要重新導向。

OLD: /blogs/news/our-story
NEW: /journal/our-story  ← 不同?需要 301 重新導向。

OLD: /pages/about-us
NEW: /about  ← 不同?需要 301 重新導向。

結構化資料

Shopify 佈景主題包含基本結構化資料。當您使用 headless 時,您負責自己實現它。最低限度:

  • Product 架構與 offersaggregateRating
  • BreadcrumbList 用於導航
  • Organization 用於您的品牌
  • WebSiteSearchAction 用於網站連結搜尋
  • FAQPage(如適用)

中繼標籤和標準

每頁都需要適當的 <title><meta description>、標準 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. 同時執行兩個網站至少一週,徹底測試新網站
  3. 配置您的 CDN/DNS 以支援即時切換(Cloudflare、Vercel 或 Netlify 都支援此)
  4. 切換 DNS 以指向新前端——TTL 應在提前設定為 60 秒
  5. 監控一切:錯誤率、404、轉換率、Core Web Vitals

代理方法(更安全)

對於每月營收超過 $1M 的商店,我傾向使用基於代理的遷移:

  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')
  )
}

定價和時間表詳細分析

讓我們談談真實數字。這些是根據我在 2026 年看到的專案,範圍從簡單 DTC 商店到複雜的多市場操作。

商店複雜性 時間表 機構成本 自由職業者成本
簡單(< 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/月(headless 需要,建議用於結帳擴充性)
  • 託管:$20-500/月(Vercel Pro 是 $20/使用者,Oxygen 包含在 Shopify 中)
  • Headless CMS:$0-500/月(Sanity、Contentful、Storyblok 都有免費層級)
  • 搜尋:$0-500/月(如果使用 Algolia 或類似服務)
  • 維護:預算初始構建成本的 10-15%(年度)

對於探索 headless Shopify 遷移對其特定情況成本的團隊,我們在此詳細說明我們的定價方法。我們也很樂意透過快速通話進行範圍界定。

常見遷移陷阱

1. 低估購物車

購物車看起來很簡單,直到您考慮:折扣代碼、自動折扣、禮品卡、行項目內容、購物車備註、估計運費、稅金計算和購物車級別 metafields。預算購物車功能的時間是您認為所需時間的兩倍。

2. 忘記應用程式

您依賴的 Shopify 應用程式生態系統?大多數應用程式將 JavaScript 注入您的 Liquid 佈景主題。使用 headless 意味著您需要基於 API 的替代方案或為評論、願望清單、忠誠度計劃等自訂實現。

3. 結帳自訂

沒有 Shopify Plus($2,300/月),您無法自訂結帳體驗。客戶將被重新導向至 Shopify 的託管結帳,這造成視覺斷開連接。Plus 商家可以使用 Checkout Extensibility,但它仍然比完全自訂結帳更受限。

4. 未提前進行效能測試

Storefront API 增加延遲。如果您進行 8 個 API 呼叫來呈現產品頁面,您會感到它。積極快取、使用 GraphQL 片段來最小化過度提取,以及在可能的地方實現串流 SSR。

5. 忽視內容團隊

您的行銷團隊在 Shopify 管理員中管理內容。現在他們需要一個 headless CMS。預算時間用於培訓和構建實際上令人愉快的內容編輯體驗。

Headless 不是正確選擇的時機

我會直白地告訴您:headless Shopify 不適合所有人。如果存在以下情況,請不要遷移:

  • 您的商店每年營收不足 $1M,而且沒有複雜的自訂需求
  • 您沒有預算用於持續開發和維護
  • 您的團隊沒有 React 開發人員(或聘僱/承包他們的預算)
  • 您對目前佈景主題的效能和功能感到滿意
  • 您主要尋求「酷技術」故事,而不是解決實際業務問題

Shopify 的 Online Store 2.0 搭配良好最佳化的佈景主題可以達到 Lighthouse 中的 90 分以上。有時正確答案是最佳化現有內容,而不是從頭開始重建。

如果您猶豫不決,請考慮以混合方法開始:保留您的 Shopify 佈景主題,但將特定高影響力頁面(如您的首頁或登陸頁面)構建為 headless。您可以在現有佈景主題旁邊使用 Shopify 的 Storefront API。這讓您在提交完整遷移之前證明價值。

常見問題

從 Shopify 遷移至 headless 需要多長時間? 對於典型的中等複雜性商店,預期從開始到啟動需要 12-20 週。產品少且功能基本的簡單商店可在 8-12 週內上線。複雜的多市場商店,其中包含自訂結帳和廣泛整合,通常需要 20-32 週。稽核和規劃階段本身應為 2-3 週——不要跳過。

在遷移至 headless Shopify 時,我會失去 SEO 排名嗎? 不會,如果您正確進行。關鍵是:維持相同的 URL 結構(或設定適當的 301 重新導向)、在每個頁面類型上實現結構化資料、保護中繼標籤和標準 URL,以及在啟動後立即將更新的網站地圖提交至 Google Search Console。我通常會看到遷移後排名波動 1-2 週,然後在 Google 識別更好的 Core Web Vitals 分數後改善。

我需要 Shopify Plus 進行 headless 嗎? 技術上不需要。Storefront API 在所有 Shopify 計劃上都可用。但是,Shopify Plus 為您提供 Checkout Extensibility(自訂結帳體驗)、更高的 API 速率限制和 Oxygen 託管的存取。對於認真的 headless 專案,Plus 每月 $2,300 幾乎總是值得的。

Hydrogen 和搭配 Shopify 的 Next.js 有什麼不同? Hydrogen 是 Shopify 的官方 headless 框架,建立在 Remix/React Router 7 上。它包含 Shopify 特定的元件、hooks 和工具程式,加上在 Oxygen 上最佳化的部署。Next.js 要求您自己構建 Shopify 整合,但為您提供更大的生態系統、更多託管選項和對複雜內容架構的更好支援。大多數機構,包括我們的,根據特定的專案需求有強烈的意見。

我可以使用零停機時間遷移至 headless Shopify 嗎? 是的,使用藍綠部署(DNS 切換)或漸進式代理遷移。藍綠方法一次性透過 DNS 切換所有流量,而代理方法在數週內逐漸遷移頁面。兩者都有效。代理方法對高收入商店更安全,但增加了複雜性。

headless Shopify 遷移成本是多少? 機構成本通常範圍從簡單商店的 $40,000 到複雜多市場操作的 $300,000 以上。自由職業者費率大約是機構成本的 50-60%,但可能缺少專案管理結構和更少的專家。持續成本包括 Shopify Plus($2,300/月)、託管($20-500/月)、CMS($0-500/月)和維護(初始構建成本的 10-15%)。

我應該使用 Astro 而不是 Next.js 或 Hydrogen 進行 headless Shopify 嗎? Astro 對於內容豐富的網站(具有互動島)是絕佳選擇,我們已構建幾個 Astro 供電的店面。對於產品目錄式商店(大多數頁面是靜態的,您只需要 React(或 Svelte、Vue)用於購物車之類的互動元件)運作良好。但是,對於具有重度用戶端互動的商店——即時庫存、複雜篩選、即時搜尋——Next.js 或 Hydrogen 的完整 React 執行時通常更適合。

遷移至 headless 後,我的 Shopify 應用程式會發生什麼? 大多數注入前端程式碼的 Shopify 應用程式(彈出視窗、小工具、評論顯示)開箱即用時不會運作。您需要直接使用應用程式的 API、尋找 headless 相容替代方案,或構建自訂實現。僅在後端運作的應用程式(庫存管理、運費、ERP 整合)通常無需變更即可繼續運作。在規劃階段始終稽核您的應用程式堆棧。