# Shopifyを触って再認識するCS-Cart

Published: 2020-12-23
Categories: コマース界隈
Tags: CS-Cart, EC構築, Shopify, 向き不向き
Canonical: https://mochizukimakoto.com/shopify-cscart

<!--ec:block {"_key":"key-2-8abp3","_type":"kikoriToc","enabled":true} -->

# 特定のサービスが集中的にもてはやされる

弊社ECサイト構築が非常に多いWeb制作会社なので、思いつくものと言えば「Shopify」なんですけど、「すごい勢いで普及している」っとか「高機能！使いやすい！」っていう記事が溢れてます。

でもそれほんと？

流行りに乗って無自覚にもてはやすのはいかがなものかと思います。集団意識怖い。

## Shopifyパートナー

実は2020年1月からShopifyパートナーやってます。
2-3年前くらいから「Shopifyで作って欲しい」っていう相談は時折受けてたんですよね。請け負わなかったですけど。

弊社一番得意なのは「CS-Cart」なんですよ。むしろECならそれしかやらない。（やらなかった）
というのもそれぞれのECパッケージ（CMS）は、使いこなして良い提案をするには複雑なんですよね。あれもこれも手掛けてるとそれぞれのCMSに対する知見も経験も薄くしか貯まらず、「どんなCMSでもやれますよ」とはできなくて「どれも使いこなせない」ってなります。きっと。
なので、CS-Cart以外で満足の行く提案や構築をする自信がなかったんです。ゴーストレストランみたいなのは性に合わないんですよ。

だからこそまずはパートナーになって中身を確認しよう！ということで動き始めたのが2020年1月のことです。

【追記: 弊社、2021年3月には[Shopify Experts](https://www.shopify.com/partners/directory/partner/2801)になってます。】

## Shopifyでサイト構築

実際のクライアントワークでECサイトを構築する前にデモショップを作り始めました。テンプレートの構成とか設定の幅とか、そんなことを確認することが目的です。

この工程を踏むことで何ができるのか、何ができないのか、困ったときに何を調べれば道筋が見えそうなのか、そういったことがおぼろげながら分かり始めると思っています。
おぼろげながらでも理解できていないと、クライアントへの説明も実装方法のアイディアも利用アプリの選定もできません。

CMSとかSaaSはテンプレートエンジンによってデザイン実装されていて、採用されているテンプレートエンジンによってはコーディングしてデザイン実装することすらできないかもしれないので。

ちなみにCS-CartはSmarty、ShopifyはLiquidです。それぞれに特徴がありその思想からできることできないことがあります。このあたりの詳細への言及は別の場所で。

## Shopifyアプリの開発

コレ最初勘違いしてました。CS-Cartだと「アドオン」、WordPressだと「プラグイン」に相当するものだと思ってたんです。つまり「サイトにインストールして使う」ものだと思ってました。
Shopifyのサイトでもアプリを「インストール」するっていう表現がされてますし間違ってもないんですけどね。

これが「開発」となると前述のアドオンとかプラグインとは全く異なる様相を呈します。Shopifyアプリは外部サーバーに設置します。そのサーバーがShopifyのデータを受けて加工し戻すというバイパス的な位置づけになります。バイパスというかラッパーというか。

CS-Cartのアドオン開発ではアドオン内でCS-Cart標準のデータ生成等に割り込んで異なる結果を返すということを行っているのですが、Shopifyでは別サーバーに構築したアプリの実行プログラムが同様にShopify標準データの整形処理を行います。

どちらが面倒かという話はその人や会社のバックボーンに依存するので意味のない話ですね。

## Shopify困った

CS-Cartでサイト制作をきちんと行える人がShopifyで同じようなサイトを作ろうとするとちょっと、いや、結構困ると思います。

1. 商品オプション
最低限。オプション数（カラーとかサイズ）「3」、バリエーション（赤、白、黒とかS、M、L）数「100」という制限あり。オプション画像登録できない（バリエーションの組み合わせには画像登録可）etc。リッチなオプションやバリエーション表現をしたい場合は数多あるアプリから希望のものを探し出すことになります。
1. 配送と支払い
配送方法や支払い方法を制御（条件に応じて標示するとかしないとか）することができない。購入手続き画面の中で行いたい処理分岐はできません。Shopify Plusの契約だと購入手続き画面のカスタマイズができるようになります。
1. Webhook
特定のイベント（35個たぶん。）でデータを取得するためのものです。他のCMSによくあるようなフックポイントに変数を受け取って返すというようなものではありません。
1. アプリ
様々なアプリケーションが3rdパーティから提供されているため相互の干渉が時折あります。アプリの開発は意外と大変です。
1. 値引き
条件が単純。基本はクーポンコードを発行して割引を実施することになります。加えて自動ディスカウントという機能もありますが併用できません。
1. その他
Shopifyには「商品カテゴリ」という概念がありません。代わりに「コレクション」という概念で商品のグルーピングを任意もしくは自動で行うことができます。

## CS-Cartすごい

CS-Cartのすごいところは

1. 商品オプション
結構優秀。商品オプションごとに異なる商品として登録しても商品一覧などではひとつの商品としてみせる事ができたり、バリエーションごとに画像登録できたりします。
1. 配送と支払い
結構優秀。配送は日時指定もできます。国内向け海外向けで適用制御もできます。
決済は多数の決済代行会社さんとのつなぎ込みが用意されています。
1. hook
優秀。フックポイントはフック名と引数に変数を渡す構造になっているので変数の中身を書き換えることができます。テンプレート側の「テンプレートフック」もフック内のテンプレートを書き換えることも前後に要素を追加することもできます。
1. アドオン
海外製含めると結構あります。弊社でも作成して販売していますが海外製アドオン安い！
1. 値引き
キャンペーン機能（プロモーション機能）はかなり優秀。クーポンコードの自動発行もできますし、様々な条件を組合わせてトリガーとし割引・値引を自動適用させられます。「指定期間内に特定のユーザーグループの人が指定の商品を購入したときにだけ特定の商品だけ値引きする」みいたいなことは当たり前のようにできます。
1. その他
単体ショップを運用する、複数のショップを同一パッケージ内で運用する、マーケットプレイスサイトを構築するといった用途にもそれぞれパッケージの用意があるので比較的容易に導入できます。

## 結局万能薬はない

昨今ShopifyがやたらともてはやされているフシがありますがすべてのECサイトがShopifyに置き換わることはありえません。ポストAmazonとも言われていますがそれもまた同様にありえない話です。

Shopifyが向いているサイト、CS-Cartが向いているサイト、それぞれ異なります。何もECに限った話ではなくて、ブログ構築ならブログ用CMSが適しているし、ポータルサイトを作りたいのなら今ならdrupalですかね。

そもそもShopifyとCS-Cartで比較すると適したユーザー層はかち合わないと思います。

## 向き不向き

そもそも、ひとつのサービスがすべての要求を高レベルに満たすことができるなどというのは幻想でしかなく、そんなこと皆さん実感してますよね。
どれだけ素晴らしいスポーツカーでも引っ越しには役に立ちません。引っ越しにはトラックなんです。

立ち上げスピードを重視するのならShopifyです。が、独自の機能カスタマイズが必要ならCS-Cartです。

ひとつの管理画面で複数のショップ運用をしたければCS-Cartです。

購入手続きのカスタマイズがしたければCS-Cartです。が、ShopifyPlusを利用できるのならShopifyでOK！

きめ細かなプロモーション施策を実施したければCS-Cartです。が、値引きする気ないよというのならShopifyでも大丈夫。

落ちないサイトにしたければShopifyに分がありそうです。が、GCPでオートスケールを組めばCS-Cartでも落ちません。たぶん。

<!--ec:block {"_key":"key-126-83xmc-memo-wrap","_type":"kikoriMemo","body":"プラットフォームと貴社サイトの相性は誰に聞いたら分かるんでしょうかね。Shopifyが向いているのかCS-Cartのほうが向いているのか。コンサルさんに聞きます？本質的には自社で考えることが最善だと思いますが、ECプラットフォームとかCMS、SaaSとかまぁ分かんないですよね。コンサルさんも分かってないですけど。だって守備範囲にあるプラットフォームのことを深堀りしないといけないですし、主戦場と決めたプラットフォームがクライアントの要望を満たすためにどうするのか・どう刺さるのかっていうことを考えているので。大事なのは「ビジネスの姿勢・スタンス」だと思います。\n「システムに合わせて業務を変更できる」のであればShopifyは良い選択肢だと思います。\n対して「システムを業務に合わせたい」のであればShopifyはやめておいたほうが良いです。圧倒的にCS-Cart優位です。\n0か1かなどという極端な話は非現実的ですが、「これはシステムを変えて業務に合わせなければならない」ものであったり「これは業務を変えよう」となるものが混在しているはずです。ひとつひとつの業務においてどちらに舵を切るかがとても重要になります。業務にシステムを合わせる必要性があるのなら、根源的にはフルスクラッチでの開発になるのですが、そこまでの費用をかけずともCS-Cartでカスタマイズしていくことでたいていの要望は叶うと思います。\n","heading":"Memo"} -->
