Magento での技術的負債の回避

公開: 2019-07-30

ウィキペディアによると、「技術的負債 (設計負債またはコード負債とも呼ばれます) はソフトウェア開発における概念であり、時間がかかるより優れたアプローチを使用する代わりに、現在簡単な (限られた) ソリューションを選択することによって引き起こされる追加の手直しの暗黙のコストを反映しています。 」

Magento 2 への移行に備えて、プロジェクト発見の話し合いに参加したマーチャントの多くは、Magento 1 からの重大な技術的負債に直面しています。話は通常、次のようになります…」時間の経過とともに蓄積されてきた…どの拡張機能がまだ必要であるかさえ実際にはわからないほど多くの.カスタマイズはアップグレードまたは修正する必要があります。」

これらのマーチャントが、最初のサイト構築の 25 ~ 50% (またはそれ以上) の年間技術的負債コストを抱えていることは珍しくありません。 数年の間に、この負債は総所有コストの重大な要因となり、Magento はそれほど経済的なソリューションではなくなります。

では、現在 Magento 2 に移行しているマーチャントは、Magento 1 で見られるすべての技術的負債の構築を回避するにはどうすればよいでしょうか? 以下は、Magento 2 の技術的負債を回避するためのいくつかのガイドラインです。

実用最小限の製品 (MVP)

ここでの大きなアイデアは、基本の Magento 製品に加えて絶対に必要な拡張機能またはカスタマイズである「必須」から始めることです。 マーチャントは、最低限必要なものだけを備えた新しいサイトを構築し、最初に立ち上げることをお勧めします。 サイトが公開されたら、Google アナリティクス、Hotjar (セッション記録) などのツールや A/B テストなどの手法を使用して、ユーザー エンゲージメントを綿密に監視することをお勧めします。 そのプロセスに従うことで、本当に必要な機能の改善に磨きをかけ、確実に投資収益率を高めることができます。

マーチャントがメガ ブランドの e コマース サイトのユーザー エクスペリエンスをコピーしようとしていたため、Magento 1 に多くの拡張機能がインストールされているのを見てきました。 rei.com、target.com、walmart.com、および amazon.com のすべての機能を組み合わせたサイトがあると便利ですが、多くの場合それは実用的ではなく、これらすべてのアドオン機能 (拡張機能) はほとんど役に立たないまたは、サイトのユーザビリティとコンバージョンが改善されない。 中規模のマーチャントは、アドオン機能に対するミニマリスト アプローチ (MVP) を採用することで、より良いマーケティング、製品カタログ コンテンツ、マーチャンダイジングに労力と予算を集中させることができます。

拡張機能をインストールする代わりにテンプレートを編集する

マーチャントが Magento 2 でフィルタリングされたナビゲーション (機能ごとに購入) を完全に拡張したいとします。この設計を実現するためにインストールできる拡張機能またはサードパーティのテーマがいくつかあります。 ただし、テンプレートにいくつかの単純な CSS 編集を加えて、同じデザインを実現することもできます。 これらの CSS 編集は、時間の経過とともに維持するためのコストが大幅に削減され、5 年以上更新する必要がない場合があります。

そのため、フロントエンドのカスタマイズについては、拡張機能を使用する前にまず開発者に相談することをお勧めします。 Magento テンプレート ファイルを編集するだけで、はるかに効率的にカスタマイズできる場合があります。

サードパーティのテーマ テンプレート拡張機能を使用しない

Magento フロントエンド ユーザー インターフェイス用のテーマ テンプレート拡張機能を (つまり、テーマ フォレストから) 購入したくなるかもしれませんが、テーマ テンプレートを使用すると、多額の技術的負債が発生する可能性があります。

これらのテンプレートは、フロントエンドの完全な制御を想定しているという点で広範囲です。 これらは通常、20 ~ 30 のサード パーティ製拡張機能とカスタマイズを組み合わせたものです。 これらの拡張機能のコードのすべてではないにしても、ほとんどは低コストの開発者によって開発されており、次の問題の一部またはすべてが含まれている可能性があります。

  • コードの肥大化 (不要な JavaScript ライブラリを大量にロードするなど…)
  • ベストプラクティスに従わない
  • 実行速度が遅くなる
  • Javascript の競合
  • Magento または Varnish キャッシュでは正しく動作しません
  • ネイティブの Magento 機能を無効にします (つまり、ウィジェット、価格のクリック、コンテンツのステージングなど)。

テーマ拡張機能には、提供されるすべてのオプションと機能に多くの価値が含まれているように見えますが、ほとんどの場合、技術的負債が利点を上回ります. 私たちの経験では、フロント エンドのテーマ設定に対して侵襲性の低いアプローチを採用する方がはるかに優れています。 これは、CSS の編集のみを行い、最小限のカスタマイズと拡張機能を活用して、適切なルック アンド フィールと必要な機能を実現することで実現できます。

同じ会社から拡張機能を購入する

可能であれば、同じ会社からエクステンションを購入することをお勧めします。 これにより、通常、購入したすべての拡張機能間の互換性が確保されます。 Aheadworks のような大規模な拡張機能プロバイダーの中には、Magento 用の多くの高品質の拡張機能があり、通常は相互に互換性があります。 したがって、たとえば、より堅牢な検索ソリューション、ホームページのヒーロー バナー スライダー、ブログ、高度なカートへの追加を探している場合は、それらの拡張機能をいくつか購入して、すべてを購入した場合に存在する可能性のある互換性の問題を回避できます。これらの拡張機能は別の会社から提供されます。

インストールする前に精査する

    ここ InteractOne では、拡張機能のインストールを承認する前に、上級開発者に拡張機能のアーキテクチャとコードを確認してもらいます。 優れた Magento 開発者は、そのアーキテクチャとコードをチェックすることで、お粗末な Magento 拡張機能を簡単に見つけることができます。 この慣行により、多くの低品質の拡張機能からクライアントを救ってきました。 拡張機能の品質が低い場合は、プロバイダーに送り返して払い戻しを受けます。

    ハウスキーピング

    Magento サイトのスケジュールされた定期的なレビューとクリーンアップは、成熟するにつれてサイトが肥大化したり不安定になったりするのを防ぐためのベスト プラクティスです。 Magento サイトで使用されているすべての拡張機能を 1 年または 2 年ごとに見直して、古い未使用または不安定な拡張機能とカスタマイズがクリーンアップ、修正、または削除されていることを確認することをお勧めします。

    また、Magento および拡張機能プロバイダーからのアップグレード リリースを最新の状態に保つことも重要です。 常に最新のマイナー リリースを使用する必要はありませんが、2 ~ 3 個以上のマイナー リリースが遅れないようにすることをお勧めします。 最新の状態を維持することで、セキュリティが維持され、ブラウザやモバイル テクノロジが常に進歩しているため、拡張機能が不安定になることはありません。

    Magento サイトのリリースが数年遅れると、古いアップグレード パスが拡張機能プロバイダーによって常に適切にサポートされているとは限らないため、アップグレードに通常の 2 ~ 3 倍の労力が必要になる可能性があります。 さらに、非常に大きなアップグレード ジャンプの開始は、考慮してテストする必要のある大きな変更が非常に多いため、新しいサイトの運用開始とほぼ同じくらい複雑になる可能性があります。

    Magento で技術的負債を回避するためのこの推奨事項のリストはすべてを網羅しているわけではありませんが、Magento 2 サイトを今後何年にもわたって高速、安定、安全に実行し続けるのに役立つ重要なポイントをカバーしています.


    サイトのステータスについて話し合いたい場合、または Magento 2 に移行する準備ができている場合は、義務のない最初の相談を喜んでスケジュールします。 私たちにメモをドロップしてください。