Magento2は本当に使えるのか?

By |2019-05-29T11:11:46+09:002017年12月15日|Categories: あいさつ, Magentoの設定, Magentoバージョン, 中国越境EC|Tags: , , |

結論から言うと、もう少し待つべき、です。

Magento2系は、2015年11月に2.0.0がリリースされ、先日2017年12月14日の段階で、2.2.2までバージョンが更新されました。
初リリースから2年を経て、バグや不具合の修正はだいぶ進んだと言われていますが、それでも、まだ基本機能にさえ様々なバグがあると報告されています。

たしかにMagento2のインターフェイスの改善は素晴らしく、管理画面の見やすさは明らかに向上しました。
しかし、JavaScriptを多用しているためか、オンラインストアの生命線ともいうべきチェックアウト(カート画面)の読み込みが重く、Magento社の公式案内のスペックを満たしている環境下でも、Magento2のカート画面がサクサク動くという保証はありません。
新規サイトでアクセスが限られているストアであればともかく、現実的に一定のアクセスのあるフルライブ環境での実用を考えると、特にスマートフォンでの表示スピードに関しては、有料のエクステンションを入れて補強するか、あるいは相当なスペックのサーバー環境で構築する必要があるのではないかと思います。

いままでのMagento1系は、通常のシェアサーバーでも安定して動き、その導入の容易さから、小規模のストアでも世界中で数多く利用されてきました。利用者が多いのでMagentoベンダーも増え、それが結果的にたくさんのフィードバックを生み、速やかなバグ修正や機能向上に結びついてきました。
しかし、Magento2系においては、Magento社の戦略かどうかは不明ですが、どちらかと言うと、大規模ストアを前提に開発が進められているという印象があります。それは、Magento2の利用において、CLI(コマンドラインインターフェイス)での操作が推奨されている現状とも無縁ではありません。

Magento2のストアにテーマやエクステンションを新しくインストールすると、その度にSSHアクセスをして、黒い画面を開き、コマンド作業でMagentoのファイルを展開しなければならないのです。コマンドそのものはよく使ういつくかを丸暗記のように覚えればいいのですが、プログラミングに無縁の素人にとっては、これほど億劫なことはありません。(コマンド作業の例は、Magentoテーマの動画をご参照ください。)

しかも、Magento2では、エクステンションのインストールにComposerを使う方法もスタンダードになっていて、これは、コマンド初心者にはかなりハードルが高いと言えます。Composerは、PHPで作成されたファイルをローカル(自分のパソコン)に落とさずに、直接ネット上でファイルを引っ張ってきてダウンロード/インストールするためのプログラムです(と、とりあえず私はそう理解しています)。はじめてComposerの存在を知り、そのサイトを訪れた時、ベートーベンの厳つい顔のイラストが目に飛びこんできて、かなり面喰ったのを憶えています。なんだ、これは、と。

https://getcomposer.org/

思えば、Magento1系においては、Magento Connectを使うことで、画面上の操作だけでエクステンションをインストールすることができました。WordPressのようにクリックするだけでプラグインのインストールが完了するほどの爽快感はありませんが、それでも気軽にエクステンションのインストールを行い、ストア機能を拡張させることができました。
ところが、Magento2系においては、Magento Connectを引き継ぐMagento Marketplaceが、いまだベータ版のような状況で、エクステンションのストックも豊富ではありません。管理画面のSystem > Web Setup Wizardと連携して、Marketplaceで購入したエクステンションを画面上の操作だけでインストールできるように設計されていますが、環境により不具合も多く、安定して使えるようになるまでは、もうしばらく時間がかかりそうです。
また、Setup Wizardは、操作画面上からMagento2のアップデートもできるようになっています。しかし、これも失敗すると既存ファイルを消してしまい、ストア全体を壊してしまう不具合も報告されているので、注意が必要です。

一般のストア運営者は、デザインをいじったりコンテンツを更新するだけでなく、受注処理をすることに日々のパワーを使います。なので、管理画面の使い勝手や更新のやり易さが、プラットフォームの必要条件です。
しかし、Magento2は、お世辞にも使い勝手が良いとは言えません。もちろん、これは将来的には徐々に洗練化されると思いますが、今までのところ、むしろ、一般の運営者を遠ざけるかのように、わざと導入を難しくしているのではないかと勘繰りたくなるようなこともあります。つまり、サイト構築やサーバー管理を外注するような、ある程度の予算のある中規模以上のサイトを平均的利用者として想定しているのではないかと思わせる節があります。

もっと言うと、Magento社は、無料のオープンソース(CE版)の普及はそこそこにしておいて、エンタープライズ(EE版/ECE版)の契約をとれればいい、と割り切っているのかもしれません。
ちなみに、EE版の年間契約は日本円で約250万円~、ECE版(EE版+AWS Cloud)の年間契約は約450万円~と言われています。

実際、Magento2がリリースされた前後から、Magentoのシェアが増えたという話を聞いたことはありません。

サーバーインストール型のECアプリケーションとしては、WordPress+WooCommerceが高機能化したり、Magentoと同様に多言語多通貨対応のPrestashopなどの人気が上昇しました。また、ASPサービスとしては、Shopifyの存在感が圧倒的なものになりました。
Magento1系の公式サポートが2018年秋までと言われ、にもかかわらず、Magento2はまだ不安定で動かせないとなれば、よほどのMagentoマニアでない限り、Magento1系の運営者が他のサービスへの乗り換えを検討するのは自然なことです。Magento社が、このような流れを予想しなかったわけはありません。私の知人にも、Magento1.9からShopifyへ移転した人がいます。
Shopifyは一つのアカウントで多言語ストアの構築はできませんが、多通貨決済には対応しているので、単一言語(特に英語)のサイトを運営するのなら、実のところShopifyで必要十分なのです。

まして、日本人ターゲットの日本語のECサイトを構築するのなら、日本人の感性にマッチしているEC-CUBEやショップサーブなどを優先して使うべきです。スタートアップの日本語サイトが、わざわざ時間とお金と手間をかけてMagento2を選択しなければならないような理由は、私には思いつきません。もちろん、自らMagento構築のできるサイト運営者が、維持費削減のためにMagentoを使う例はあるかもしれません。あるいは、中規模~大規模のサイト運営者が、Magento2の高機能に魅かれて既存のプラットフォームからの移転を検討する例もあるかもしれません。しかし、その場合も、しっかり運営を継続していくためには、フロントエンドのデザイン内にchildテーマを作成し、日本人向けに相当カスタマイズする必要があると思います。Magento/Magento2のインターフェイスは、平均的な日本人にとって、決して馴染みやすいものではないからです。

Magentoが真に活きるのは、例えば香港のサーバーに英語デフォルトで構築し、同じストアを中国語(繁体字)で表示、さらに大陸の中国人もターゲットに含めるために普通話(簡体字)でも表示する、というケースです。この場合、決済通貨は香港ドルと人民元の2本建てとし、簡体字/人民元ストアは香港ドルのストアとは別ストアあるいは別サイトとして設定する、というマルチストア構成になります。

あるいは、東南アジアのマレーシアなどは多民族国家で、マレー語、英語、中国語が標準語として使われています。そのような地域をターゲットとする場合、同じストアを複数の言語ストアビューで表示し、ストアとしては統一します。そして、隣りのシンガポールもターゲットにするため、マレーシアのストアの商品内容(英語のストアビュー)はシェアするが、デフォルト通貨をシンガポールドルで決済できるように別サイトで構築する、というように、文字通りの意味での多言語多通貨のマルチストア構成を、一つのMagentoインストールで実現することになります。

Magentoは、日本で、越境ECサイトの王道と言われています。それは正しいのですが、使いこなすのは容易なことではありません。中国語圏向けの越境ECにポテンシャルがあると言われているのに、一方で、その越境ECの「王道」Magentoの基礎言語が英語であるということの矛盾は、ほとんど顧慮されていません。つまり、英語も中国語もそこそこできて、尚且つMagentoも使えなければ、中国語のMagentoストアを構築することはできないのです。(当たり前と言えば当たり前の話なのですが。)

構築も運営も外注してしまうと、コスト的に割に合わないような小規模サイトの運営者は、どうすればいいのでしょうか。自力で勉強してMagentoサイトを作るとなると、お金はさほどかかりませんが、膨大な時間が必要とされます。海外サーバーであれば、Magentoのインストールは1クリックでできますが、その後の作り込みや運営は、やはり一筋縄ではいきません。

そもそも本当にMagentoが必要なのか、という視点でプラットフォームの選択を再考してみるのもいいかもしれません。
Magentoは、サイト運営者にとって、目的ではなく、手段の一つです。自分のストア展開にとってMagentoの他にベターな選択肢があるのなら、そちらを選ぶべきです。
それでも、ASPのような制約のあるプラットフォームではなく、自由にサイト構築をできるMagentoのほうがいい、多言語構成を最小のコストで実現したい、越境ECサイトだからMagentoの世界標準のインターフェイスがほしい、というケースは多いと思います。立ちあげで苦労しても、ASPで発生する永続的なコミッションを考えれば、Magentoのある種の難解さは、イニシャルコストとして十分にペイする、という見解もあると思います。また、開発環境が世界規模なので、新しいECのトレンドをいち早く取り込むこともできます。

当サイト「Magentoできるもん」は、とりあえずこれだけを押さえればMagentoサイトを構築することができる、という趣旨で公開していますので、できる限りのアウトプットをし、今後コンテンツの充実をはかりたいと考えています。

Magentoデモ・導入事例のページで紹介しているZENVAVAというライブ環境のサイトがあるのですが、これは、2016年初頭に、1年ほどの準備期間を経て、Magento1.9でオープンしました。
実は、このZENVAVAサイトを、いま、Magento2.2へ移行しようとしています。

この1.9→2.2の移行作業については、目下のことろ、2.2.でCSVの商品一括データをインポートできない(エラー回避できない)、複数選択商品の在庫の有無がConfigurable Swatchesにきちんと反映されない、等のバグがあり、いささか途方に暮れています(*)。
1.9のSQLデータは、Magento社の公開しているMigration Toolで移行できたのですが、商品詳細の変更箇所などCSVで対応しようと予定していたことができず、結局手作業で編集しています。

つくづく思うのですが、Magentoの本当に面倒なところは、なにか不具合が発生した時に、それが自分の作業のミスなのか、サーバー側の設定に問題があるのか、あるいはサードパーティーのテーマ/エクステンションとの兼ね合いに齟齬があるのか、それともMagento本体のコードにそもそもバグがあるのか、すぐには分からないことです。上記のケースも、検索してみてると複数の人が同じようなトラブルを報告していて、且つ一様に解決していないので、それらの情報の最大公約数的なところを総合して、「たぶん、これはMagento2のバグなのだろう」と暫定的に結論づけています。

おそらく動いてくれるだろう、という感触はあります。
しかし、もしお急ぎでないのなら、Magento2系は、あと半年くらい、2018年初夏くらいまで待つのがいいのではないか、というのが私の個人的な感想です。
(もっとも、新規の立ちあげには時間がかかりますので、Magento2でサイト構築をスタートするには、今がちょうどいい頃合いとも言えます。)

Magentoのエクステンションを販売している海外の開発者も、自らのエクステンション販売サイトは、未だMagento1.9のままの人が多いです。Magento2のエクステンションを、Magento1.9のストアで販売しているのです。

彼らのストアがMagento2へ移行する時、その時こそ ”機は熟した” と見るべきかもしれません。

(*)Configurable Swatchesの表示バグは、ここここで論じられています。
2016年8月に報告されているバグが、2017年12月現在も解決されておらず、第三者モジュールmjankiewicz/MagentoConfigurableProductを入れないと修正されません。2.1.xでこの修正がコアに回収されたようですが、2.2.xから同じバグが再現されているようです。

追記(2017年12月末)
ZENVAVAサイトのMagento2への移行は完了しましたが、同上モジュールの採用は見送り、コア修正を次のアップデートまで待つことにしました。いかなる理由であれ、Magentoのコアコードに手を入れてはならない、というのが鉄則だからです。表示の改善は必要ですが、在庫有り商品の受注には影響は出ていません。

追記(2018年7月)
Magento2.2.5へのアップデートにより、上記バグは解消いたしました。