避免 Magento 上的技術債務

已發表: 2019-07-30

根據維基百科“技術債務(也稱為設計債務或代碼債務)是軟件開發中的一個概念,它反映了由於現在選擇簡單(有限)的解決方案而不是使用需要更長時間的更好方法而導致的額外返工的隱含成本”

我們在準備遷移到 Magento 2 時參與項目發現討論的許多商家都面臨著來自 Magento 1 的嚴重技術債務。故事通常是這樣的......“我們有很多 Magento 1 擴展和定制隨著時間的推移已經建立起來......以至於我們實際上不知道甚至還需要哪些擴展......現在每次我們需要升級或修補Magento 1時都需要很長時間,因為東西壞了和過時的擴展和定制必須升級或修復”。

這些商家的年度技術債務成本佔初始網站建設成本的 25-50%(或更多)並不罕見。 在幾年的時間裡,這筆債務成為總擁有成本中的一個重要因素,並使 Magento 成為一個不太經濟的解決方案。

那麼現在遷移到 Magento 2 的商家如何避免建立我們在 Magento 1 中看到的所有技術債務呢? 以下是一些避免 Magento 2 技術債務的指南。

最小可行產品(MVP)

這裡的主要想法是從“必備品”開始,即除了基本 Magento 產品之外絕對必要的那些擴展或定制。 我們建議商家用最基本的必需品建立一個新站點並首先啟動它。 網站上線後,我們建議使用 Google Analytics、Hotjar(會話記錄)等工具和 A/B 測試等技術密切監控用戶參與情況。 遵循該流程,可以在真正需要的功能改進上進行磨練,並確保提供投資回報。

我們已經看到許多擴展安裝到 Magento 1,因為商家試圖複製大型品牌電子商務網站的用戶體驗。 雖然擁有一個結合了 rei.com、target.com、walmart.com 和 amazon.com 的所有功能的網站會很好,但它通常不切實際,而且所有這些附加功能(擴展)導致的結果很少或網站可用性和轉換沒有改善。 中型商家最好採用極簡主義方法 (MVP) 來添加附加功能,這樣他們就可以將精力和預算集中在更好的營銷、產品目錄內容和推銷上。

模板編輯而不是安裝擴展

假設商家想要在 Magento 2 中完全擴展過濾導航(按功能購物)。可以安裝幾個擴展或第 3 方主題來實現此設計。 但是,也可以對模板進行一些簡單的 CSS 編輯以實現相同的設計。 隨著時間的推移,這些 CSS 編輯的維護成本會低得多,並且可能不需要更新 5 年或更長時間。

因此對於前端定制,最好在使用擴展之前先諮詢開發人員。 通過簡單地編輯 Magento 模板文件可以更有效地實現自定義。

不要使用第 3 方主題模板擴展

雖然為您的 Magento 前端用戶界面購買主題模板擴展可能很誘人(即從 Theme Forest),但使用主題模板可能會導致大量技術債務。

這些模板非常廣泛,因為它們可以完全控制前端。 它們通常是 20 到 30 個第 3 方擴展以及定制的彙編。 大多數(如果不是全部)這些擴展的代碼是由低成本開發人員開發的,並且可能存在以下部分或全部問題:

  • 代碼膨脹(加載大量不必要的 javascript 庫等……)
  • 不遵循最佳實踐
  • 減慢執行速度
  • JavaScript 衝突
  • 不能與 Magento 或 Varnish 緩存一起正常工作
  • 禁用本地 Magento 功能(即小部件、點擊價格、內容暫存等。

儘管主題擴展似乎包含了它們提供的所有選項和功能的很多價值,但它們的技術債務幾乎總是超過它們的優勢。 根據我們的經驗,對前端主題化採用侵入性較小的方法要好得多。 這可以通過僅進行 CSS 編輯並利用最少量的自定義和擴展來實現正確的外觀、感覺和所需的功能來實現。

從同一家公司購買擴展

如果可能,最好從同一家公司購買擴展。 這通常可確保您購買的所有擴展之間的兼容性。 一些較大的擴展提供商(如 Aheadworks)為 Magento 提供了許多高質量的擴展,這些擴展通常彼此兼容。 因此,例如,如果您正在尋找更強大的搜索解決方案、主頁英雄橫幅滑塊、博客和高級添加到購物車,您可以購買他們的幾個擴展程序並避免兼容性問題,否則如果您要購買所有擴展程序可能會存在兼容性問題來自不同公司的這些擴展。

安裝前先審核

    在 InteractOne,我們的高級開發人員會在批准安裝之前審查擴展的架構和代碼。 優秀的 Magento 開發人員很容易通過檢查架構和代碼來發現劣質的 Magento 擴展。 通過這種做法,我們已經將我們的客戶從許多低質量的擴展中拯救出來。 如果擴展質量低劣,我們會將其發回給提供商以獲得退款。

    家政

    Magento 站點的計劃、定期審查和清理是一種最佳實踐,可以避免站點在成熟時變得臃腫或不穩定。 最好每年或每半年檢查一次 Magento 站點上使用的所有擴展,以確保清理、修復或刪除舊的未使用或不穩定的擴展和自定義。

    及時了解 Magento 和擴展提供商的升級版本也很重要。 雖然沒有必要始終使用最新的次要版本,但我們建議永遠不要落後超過 2-3 個次要版本。 隨著瀏覽器和移動技術的不斷進步,保持最新狀態可確保安全性得到維護,並且擴展不會變得不穩定。

    讓 Magento 站點在發布方面落後幾年可能最終需要升級正常工作量的兩到三倍,因為擴展提供商並不總是很好地支持舊的升級路徑。 此外,啟動真正大的升級跳躍可能幾乎與新站點一樣複雜,因為因素和測試有很多重大變化。

    雖然這份避免 Magento 技術債務的建議列表並非包羅萬象,但它確實涵蓋了應幫助您在未來幾年保持 Magento 2 網站快速、穩定和安全運行的關鍵點。


    如果您想討論您網站的狀態,或者您準備好遷移到 Magento 2,我們很樂意安排一次無義務的初步諮詢。 給我們留言。