Shopify Scripts は 2026 年 6 月 30 日に動作を停止しました。 公開されたままだったスクリプトはすべて無効化され、自動で移行されたものはありません。割引、配送ルール、決済ルールは、それぞれ専用の Shopify Function API に移ります。数量制限とチェックアウトのルールは Cart and Checkout Validation(カートとチェックアウトの検証)に移りますが、動作が異なります。スクリプトは通常、お客様に知らせずにカート内の数量を減らしていました。バリデーション Function は代わりにチェックアウトをブロックしてメッセージを表示します。エクスプレスチェックアウトでも動作し、App Store のアプリであればどのプランでも使え、Scripts では不可能だったルール — 営業時間、1 日の注文上限、複数の注文をまたいだ顧客ごとの制限 — も適用できます。
最終確認日:2026 年 9 月 28 日。Shopify のヘルプセンター、変更履歴、開発者向けドキュメントと照合しています。出典は末尾にあります。
開示:OrderRules はチェックアウトバリデーションアプリで、以下の選択肢のひとつです。Shopify の標準機能で足りる場合は、そのように明記しています。
タイムライン
| 日付 | 出来事 |
|---|---|
| 2023 年 2 月 | Shopify が Scripts を 2024 年 8 月 13 日に終了すると発表 |
| その後 | 終了日が 2025 年 8 月 28 日に、さらに 2026 年 6 月 30 日に変更 |
| 2025 年 2 月 4 日 | カスタマイズレポートの提供開始、期限は 2026 年 6 月 30 日 |
| 2026 年 4 月 15 日 | Scripts の編集・公開ができなくなる |
| 2026 年 6 月 30 日 | すべての Scripts が動作を停止 |
Shopify のヘルプセンターには現在、次のように書かれています:"Any Scripts that were still published on your store have been deactivated and no longer work."(ストアで公開されたままだった Scripts はすべて無効化され、動作しなくなりました。)チェックアウトはスクリプトなしで動き続けました。スクリプトが担っていた割引、非表示の配送料、数量の上限は、ただ適用されなくなっただけです。数量スクリプトを置き換えていない場合、以前の上限を超える注文が今も通っている可能性があります。
スクリプトの種類ごとの代替手段
Scripts にはラインアイテム、配送、決済の 3 種類がありました。それぞれが Function API または標準機能に対応します。
| スクリプトの役割 | 代替手段 | 補足 |
|---|---|---|
| ラインアイテムの割引、段階価格や BOGO(1 つ買うと 1 つ無料)、顧客タグ別の価格設定 | 標準の割引、割引アプリ(Discount Function API)、または数量割引付きの B2B カタログ | 割引 Function はストアあたり最大 25 個 |
| バンドルやライン価格の上書き | Cart Transform Function API | 価格の上書き(lineUpdate)は Plus のみ |
| 配送料の非表示、名称変更、並べ替え | Delivery Customization Function API | ストアあたり最大 25 個 |
| 決済方法の非表示、名称変更、並べ替え(例:$500 超では代金引換を出さない) | Payment Customization Function API | ストアあたり最大 25 個 |
| 数量の上限、最小数量、倍数 | Cart and Checkout Validation Function API | メッセージを表示してチェックアウトをブロック。ストアあたり最大 25 個 |
| 注文金額の下限・上限 | Checkout Blocks の注文金額制限(標準機能) | 2026 年 4 月 13 日以降、全プラン |
| B2B バイヤー向けの最小数量、最大数量、増分 | B2B カタログの数量ルール(標準機能) | 2026 年 4 月 2 日以降、全プラン。B2B 企業のバイヤーのみ |
使っていたスクリプトを確認するには、アプリ → Script Editor を開き、カスタマイズレポートを探します。決済、配送、商品割引のスクリプトを対象に、それぞれの推奨アプリと Function のチュートリアルが示されます。コードの変換は行いません。数量の上限を設けるスクリプトは商品割引(ラインアイテム)スクリプトとして表示され、レポートが必ずしもバリデーションを案内するとは限らないため、これらのスクリプトは手作業で確認してください。
数量制限:動作が変わった
多くの移行ガイドが触れていない部分です。
Scripts はチェックアウトをブロックできませんでした。 Script API にはカートを拒否する手段がなく、唯一の「拒否」は割引コードに対するものでした。数量に上限を設けていたストアは、ラインアイテムスクリプトで回避策を使っていました。数量を強制的に下げるか、ラインを分割して超過分を削除するのです。お客様は選んだより少ない数量でチェックアウトに進むことになり、多くの場合、説明もありませんでした。これらはコミュニティで広まった回避策で、ドキュメント化された機能ではありません。
Functions は数量を変更できません。 Cart Transform はラインの展開、統合、表示の変更はできますが、減らすことはできません。Functions の時代に上限を設けるツールは Cart and Checkout Validation です。カートを確認し、ルール違反があればチェックアウトをブロックしてメッセージを表示します。たとえば「この商品は 2 点までご購入いただけます」といったメッセージです。
移行にあたって意味すること:
- メッセージを書く。 上限に達したお客様は、チェックアウトであなたの書いた文言を目にします。「エラー」ではなく「続行するには 1 点減らしてください」のように、何を変えればよいかを伝えましょう。
- 上限を早めに表示する。 商品ページとカートに上限を表示すれば、チェックアウトのメッセージで驚かれることはほとんどなくなります。バリデーションアプリには通常、そのためのテーマブロックが付属しています。OrderRules は商品ページに上限を表示し、数量入力を有効な倍数に調整できます。
- エクスプレスチェックアウトも対象。 Shopify は、バリデーションが Shop Pay、PayPal、Google Pay、Apple Pay のエクスプレスチェックアウトにも適用されると明記しています。今すぐ購入ボタンはカートを経由しないため、テーマだけで設定した数量制限はそこでは機能しません。
Scripts では決して適用できなかったルール
Scripts はサンドボックス内で動作していました。Web リクエストもデータベースも使えず、Shopify の言葉を借りれば "involve random or time-based calculations"(ランダムな計算や時間に基づく計算を含む)ことはできませんでした。参照できたのは現在のカートと、顧客のタグ、注文回数、累計購入額だけです。そのため、よくある 3 つのルールは Scripts では実現できませんでした:
| ルール | Scripts でできなかった理由 | バリデーションアプリの場合 |
|---|---|---|
| 営業時間外にチェックアウトを停止する、または締め切り時刻以降の当日注文を止める | 時間に基づくロジックが使えない | チェックアウト時にスケジュールと照合 |
| ストア全体または商品ごとに、1 日・週あたりの注文数に上限を設ける | 当日の注文の記録がない | アプリが注文数を数え、上限に達したらチェックアウトをブロック |
| 複数の注文をまたいで 1 人の顧客を制限する(「お一人様 2 点まで、期間無制限」) | 商品ごとの購入履歴がない | アプリが顧客ごとの購入を記録し、チェックアウト時に確認 |
Scripts でできないからと諦めたルールがあれば、改めて検討する価値があります。
プラン:Plus は不要に
Scripts は Shopify Plus 専用でした。Functions は異なります:
- Functions を含む App Store の公開アプリは、Basic を含むすべてのプランで使えます。
- Functions を含むカスタムアプリは、引き続き Plus が必要です。
- Checkout Blocks の注文金額制限と B2B の数量ルールは、2026 年 4 月以降全プランで利用できます。
つまり、Plus から移行したストアや、Plus を使ったことのないストアでも、かつて Plus が必要だったチェックアウトのルールを適用できます。
バリデーションが動作しない場所
バリデーション Function は、オンラインストアのチェックアウト、エクスプレスチェックアウト、カート、B2B チェックアウト、下書き注文を対象とします。Shopify は次を非対応としています:
- POS
- 定期購入の更新(継続注文)
- 注文の編集(管理画面またはチェックアウトでの編集)
- Create Order API で作成された注文
- **予約注文と試着購入(try-before-you-buy)**の購入オプション
これらの場所でもルールを守る必要がある場合は、POS でのスタッフ向け手順など、別の方法を用意してください。OrderRules では、POS の注文と定期購入の更新はブロックされませんが、上限の集計には含まれます。一覧は 互換性と既知の制限 のページにあります。
数量・チェックアウトのルールの移行チェックリスト
- スクリプトを洗い出す。 カスタマイズレポートと、コピーを残していれば Script Editor のコードを開きます。数量に関わっていたラインアイテムスクリプトをすべて書き出します。
- ルールをそれぞれ 1 文で書く。 たとえば「このパーカーは 1 注文あたり 2 点まで」「卸売バイヤーは 12 点単位で注文」「$2,000 を超える注文は承認なしでは受け付けない」など。Ruby のコードよりも、1 文のほうが代替手段を選びやすくなります。
- まず標準機能を使う。
- 注文金額の制限 → Checkout Blocks。
- B2B の最小数量と倍数 → B2B カタログの数量ルール。
- 在庫のある商品を大量にカートに入れられるのを防ぐ → カート追加数の上限(設定 → チェックアウト。在庫を追跡している商品のみ)。
- 残りはアプリを選ぶ。 一般の買い物客向けの最小数量と倍数、1 日・週ごとの上限、複数の注文をまたいだ顧客ごとの制限、営業時間には、いずれもバリデーションアプリが必要です。
- メッセージを指示として書き直し、商品ページに上限を表示します。
- すべての経路をテストする。 通常のチェックアウト、Shop Pay、今すぐ購入ボタン、下書き注文をテストします。そのうえで、確認されないもの — POS、定期購入の更新、注文の編集 — を書き出しておきます。
Shopify が現在標準でできることをルールごとに確認するには、Shopify 標準の注文制限とアプリの比較 をご覧ください。
OrderRules の位置づけ
OrderRules は Shopify のチェックアウトバリデーションを基盤とする App Store の公開アプリなので、どのプランでも使えます。Scripts ではうまく扱えなかった、または扱えなかった数量とチェックアウトのルールをカバーします:
- 最小注文数量とステップ数量を商品またはバリエーションごとに、すべての買い物客に適用。最小注文数量ガイド をご覧ください。
- ストア全体、商品、コレクションに対する 1 日・週・月ごとの上限。
- 注文数、個数、購入金額、重量による、複数の注文をまたいだ顧客ごとの制限。お客様のログインが必要です。顧客ごとの購入制限 をご覧ください。
- チェックアウトを停止する営業時間と休日休業。
注文金額の下限は設定しません(Checkout Blocks を使ってください)。1 つの商品に対する 1 注文あたりの上限もありません。その場合は、Shopify のカート追加数の上限か、顧客ごとの 1 日の上限を使ってください。バリデーションの内部の仕組みについては、Shopify のチェックアウトバリデーションの解説 をご覧ください。
出典
- Shopify 変更履歴:Scripts の編集・公開が不可に(2026 年 3 月 12 日) · カスタマイズレポート(2025 年 2 月 4 日)
- Shopify.dev 変更履歴:Shopify Scripts は 2026 年 6 月 30 日に廃止
- Shopify ヘルプセンター:Script Editor · 制限事項 · Functions への移行
- Shopify.dev:Cart and Checkout Validation Function API · Cart Transform · Shopify Functions の利用条件
- Shopify 変更履歴:Checkout Blocks の注文金額制限が全プランで利用可能に(2026 年 4 月 13 日) · B2B 機能が Plus 以外のプランでも利用可能に(2026 年 4 月 2 日)
- Shopify コミュニティ:Shopify Scripts 廃止の発表(2023 年 2 月)