Khi được xem xét làm Nền tảng đích, Magento là một nền tảng thương mại điện tử Open Source theo mô hình Self-hosted, có kiến trúc dễ mở rộng và phù hợp với doanh nghiệp hoặc đội ngũ triển khai muốn trực tiếp kiểm soát ứng dụng, cơ sở dữ liệu, hạ tầng, codebase, extensions, themes, các tích hợp và quy trình deployment. Điểm khác biệt quan trọng của nền tảng nằm ở mức độ linh hoạt về cấu trúc: catalog có thể sử dụng nhiều loại Products, các thuộc tính tái sử dụng, attribute sets, cây Categories, website, store và store view, trong khi codebase có thể được mở rộng bằng modules và các tích hợp với các dịch vụ khác.
Mức độ linh hoạt này khiến Magento khác đáng kể so với một nền tảng Hosted có mô hình vận hành được quy định chặt hơn. Cửa hàng đích không hình thành chỉ từ dữ liệu được di chuyển. Kết quả hoàn chỉnh còn phụ thuộc vào bản ghi catalog, phạm vi cấu hình, themes, modules, search, các tích hợp, hạ tầng, cách deployment và cơ chế quản lý kỹ thuật sau khi cửa hàng đi vào hoạt động.
Khi đánh giá Magento, cần tách nền tảng này khỏi Adobe Commerce. Hai sản phẩm có chung nguồn gốc nền tảng và nhiều khái niệm cơ bản, nhưng không phải hai edition có thể thay thế cho nhau. Những chức năng phụ thuộc vào Adobe Commerce không nên được mặc định là có trong Magento chỉ vì cách gọi hoặc cấu trúc nền tảng có vẻ quen thuộc.
Magento trong mô hình Self-hosted
Với Magento, doanh nghiệp hoặc đội ngũ triển khai chịu trách nhiệm trực tiếp cho môi trường ứng dụng. Phạm vi này có thể bao gồm hosting, dịch vụ cơ sở dữ liệu, search, cache, lưu trữ media, chứng chỉ, backup, monitoring, deployment, patching, khả năng tương thích của extensions và bảo trì bảo mật. Magento cung cấp ứng dụng commerce, nhưng không thay thế đội ngũ chịu trách nhiệm vận hành hệ thống.
Mô hình trách nhiệm này ảnh hưởng đến kế hoạch chuyển đổi ngay từ đầu. Cửa hàng đích có thể đã có Products, Customers và Orders nhưng vẫn chưa sẵn sàng vận hành nếu search chưa hoạt động đúng, quá trình lập chỉ mục chưa hoàn tất, extensions không tương thích, theme templates chưa hiển thị các trường dữ liệu đã chuyển hoặc hạ tầng không đủ đáp ứng tải thực tế.
| Thành phần kiến trúc | Phần thường được quản lý | Ý nghĩa đối với chuyển đổi |
|---|---|---|
| Dữ liệu commerce | Products, Categories, Customers, Orders, Reviews, CMS Pages và các bản ghi liên quan | Các bản ghi thuộc phạm vi được hỗ trợ cần tiếp tục giữ đúng quan hệ và ý nghĩa thương mại. |
| Cấu hình cửa hàng | Website, store, store view, currencies, Taxes, inventory, email, trạng thái Orders và thiết lập catalog | Phạm vi và cách cửa hàng vận hành trong tương lai phải được thiết lập trên Cửa hàng đích. |
| Mã ứng dụng | Magento core, modules, customizations và APIs | Dữ liệu có thể phụ thuộc vào thuộc tính, bảng dữ liệu hoặc quy tắc do module quản lý. |
| Hiển thị storefront | Themes, layouts, blocks, templates, content và media | Dữ liệu đã chuyển cần được hiển thị và điều hướng đúng trong cách triển khai storefront đã chọn. |
| Hạ tầng | Web, cơ sở dữ liệu, search, cache, queues, storage, deployment và monitoring | Hiệu năng và độ ổn định phụ thuộc vào thiết kế môi trường và cách hệ thống được duy trì. |
| Hệ thống bên ngoài | ERP, PIM, WMS, CRM, Taxes, thanh toán, vận chuyển, analytics và marketplaces | Định danh và workflows cần có hệ thống phụ trách cùng quy tắc tích hợp rõ ràng. |
Magento phát huy giá trị khi cách triển khai được quản lý có hệ thống. Mức độ linh hoạt của nền tảng nên được xem là một kiến trúc cần được kiểm soát, không phải lý do để sao chép mọi tùy chỉnh cũ sang Cửa hàng đích.
Magento còn phụ thuộc vào xử lý nền và dữ liệu storefront được tạo lại từ các bản ghi gốc. Sau khi catalog thay đổi, quá trình lập chỉ mục có thể phải hoàn tất trước khi Products xuất hiện đúng trong search, navigation, pricing hoặc thông tin inventory. Cache và các tệp được tạo trong quá trình build/deploy cũng có thể làm thay đổi những gì quản trị viên và khách hàng nhìn thấy sau khi dữ liệu được nạp. Đây là các thành phần của môi trường vận hành, không phải một phần của bản ghi được di chuyển, nhưng chúng phải hoạt động đúng để Cửa hàng đích thể hiện dữ liệu chính xác.
Vì vậy, doanh nghiệp cần phân biệt lỗi nằm trong dữ liệu với lỗi nằm ở môi trường. Một bản ghi Products có thể hoàn toàn đúng trong cơ sở dữ liệu, nhưng index cũ, cache chưa được làm mới, theme template hoặc phản hồi từ hệ thống tích hợp có thể khiến storefront hiển thị sai. Phân biệt này đặc biệt quan trọng khi xác thực kết quả và chẩn đoán sự cố sau đó.
Kiến trúc catalog: Products, thuộc tính và attribute sets
Catalog của Magento được xây dựng quanh Products có cấu trúc và các thuộc tính có thể tái sử dụng. Những thông tin như tên Products, SKU, giá, trạng thái, khả năng hiển thị, trọng lượng, mô tả, tax class, media và các trường nghiệp vụ riêng có thể được thể hiện bằng thuộc tính. Attribute sets nhóm những trường cần thiết cho từng dòng sản phẩm cụ thể.
Mô hình này cho phép catalog được tổ chức có hệ thống hơn thay vì chỉ là tập hợp các bản ghi Products riêng lẻ. Products thời trang có thể cần kích thước, chất liệu, hướng dẫn bảo quản và mùa. Products công nghiệp có thể cần điện áp, chứng nhận, kích thước và thông tin tương thích. Những trường này có thể được tổ chức trong giao diện quản trị và chỉ hiển thị hoặc sử dụng ở storefront, các tích hợp, search hay reporting khi thực sự cần thiết.
Điểm quan trọng khi chuyển đổi không phải chỉ là các thuộc tính có thể được import. Cửa hàng đích cần một kiến trúc thuộc tính rõ ràng:
- mã thuộc tính cần ổn định và có ý nghĩa;
- kiểu dữ liệu phải phù hợp với cách trường được sử dụng trong vận hành;
- attribute sets cần phản ánh đúng các dòng sản phẩm thực tế;
- các giá trị lựa chọn nên được chuẩn hóa khi cần tái sử dụng;
- trường bắt buộc không được vô tình chặn những bản ghi hợp lệ;
- việc hiển thị trên storefront, search, filtering, comparison và các tích hợp cần được xác định có chủ đích;
- dữ liệu còn sót lại từ extensions cũ không nên trở thành cấu trúc catalog lâu dài nếu không còn mục đích sử dụng.
Magento cũng hỗ trợ nhiều loại Products cho các mô hình bán hàng khác nhau. Simple Products, variants, bundles, grouped relationships, virtual Products, downloadable Products hoặc custom options ở Nền tảng nguồn cần được hiểu theo cách Cửa hàng đích thực sự bán chúng. Quan hệ cha-con ở Nền tảng nguồn có thể trông giống một cấu trúc configurable trên Magento, nhưng sự tương đồng bề ngoài chưa đủ. Cần xác nhận bản ghi nào sở hữu SKU, giá, tồn kho, images và lựa chọn mà khách hàng thực sự sử dụng.
| Nội dung catalog | Ý nghĩa trên Magento | Điều cần xác định sớm |
|---|---|---|
| Danh tính Products | Bản ghi commerce lấy SKU làm định danh quan trọng và mang thông tin qua thuộc tính | Duy trì các định danh ổn định và tách dữ liệu ở cấp Products khỏi dữ liệu của bản ghi con. |
| Dòng sản phẩm | Attribute set kết hợp với loại Products | Tổ chức trường dữ liệu và cách bán hàng thay vì sao chép nguyên mọi cấu trúc của nguồn. |
| Các lựa chọn có thể mua | Quan hệ cha-con hoặc cấu trúc Products được Magento hỗ trợ | Xác nhận bản ghi nào quản lý giá, tồn kho, media và các giá trị khách hàng có thể chọn. |
| Thông tin riêng | Thuộc tính Products hoặc dữ liệu do module quản lý | Chỉ giữ các trường có mục đích sử dụng và người quản lý rõ ràng trên Cửa hàng đích. |
| Inventory | Cấu trúc tồn kho theo Products và source tùy cách triển khai | Tách số lượng lịch sử khỏi thiết kế xử lý đơn hàng và inventory hiện tại. |
Hệ thống thuộc tính là một trong những điểm mạnh rõ nhất của Magento, đồng thời cũng khiến việc phân loại dữ liệu nguồn không chính xác trở nên tốn kém. Catalog thiếu quản lý có thể được đưa vào Magento và trở nên có cấu trúc về mặt kỹ thuật nhưng vẫn thiếu nhất quán về mặt thương mại nếu giá trị, quyền quản lý trường và các dòng sản phẩm không được chuẩn hóa.
Categories, navigation và cách khách hàng tìm Products
Categories trên Magento tạo thành một hệ phân cấp có thể định hình navigation của storefront. Products có thể được gán vào không, một hoặc nhiều Categories, còn root Categories có thể được liên kết với phạm vi store. Vì vậy, cây Categories vừa là cấu trúc dữ liệu vừa là cấu trúc giúp khách hàng tìm Products.
Taxonomy ở Nền tảng nguồn thường trộn nhiều mục đích khác nhau, như navigation cho khách hàng, brands, filters, campaigns, departments nội bộ, landing pages hoặc đường dẫn SEO. Magento có Categories, thuộc tính, search, layered navigation, CMS content, menus và các thành phần theme để phân tách các vai trò đó rõ ràng hơn.
Không nên giữ lại một bản ghi Categories chỉ vì bản ghi đó tồn tại ở Nền tảng nguồn. Cần làm rõ bản ghi Categories đó sẽ phục vụ mục đích gì trên Cửa hàng đích:
- Bản ghi Categories có tạo một trang để khách hàng duyệt Products hay không?
- Bản ghi Categories có cần xuất hiện trong navigation chính hay không?
- Đây có phải phân loại tạm thời cho một campaign không?
- Khái niệm đó có phù hợp hơn khi thể hiện bằng thuộc tính hoặc filter không?
- Bản ghi Categories có cần content, metadata, images hoặc layout riêng không?
- URL cũ có đủ giá trị để cần một trang đích được đối chiếu rõ ràng không?
Phần tổng quan này không thay thế bài viết chuyên sâu về mô hình dữ liệu hoặc chuẩn bị trước chuyển đổi. Mục tiêu ở đây là xác định rằng việc khách hàng tìm Products trên Magento phụ thuộc vào nhiều thành phần phối hợp với nhau. Products, Categories, thuộc tính, search, filters, theme layout và content cùng quyết định liệu khách hàng có tìm được đúng Products hay không.
Website, store và store view
Magento sử dụng hệ phân cấp website, store và store view. Mô hình scope này có thể tách domains, catalogs, currencies, checkout contexts, root Categories, languages và giá trị cấu hình. Đây là một phần nền tảng của Magento, không chỉ là thiết lập đa ngôn ngữ cho giao diện.
Ở mức tổng quát:
- website có thể tạo một ranh giới thương mại cấp cao;
- store có thể tổ chức catalog quanh một root Categories;
- store view có thể thể hiện một biến thể của storefront, thường phục vụ ngôn ngữ hoặc content đã được địa phương hóa.
Cấu hình và giá trị thuộc tính có thể áp dụng ở các scope khác nhau. Tên Products có thể thay đổi theo store view trong khi SKU vẫn dùng chung. Giá có thể được quản lý ở scope rộng hơn mô tả đã dịch. Categories và navigation cũng có thể khác nhau tùy cấu trúc store đã chọn.
Hệ phân cấp này quan trọng vì kiến trúc multi-store ở Nền tảng nguồn không nhất thiết có cấu trúc tương ứng trực tiếp trên Magento. Các domain riêng biệt ở nguồn có thể trở thành website, store hoặc store view tùy yêu cầu về catalog, Customers, currency, Taxes, checkout và vận hành. Ngược lại, nhiều storefront ở nguồn có thể được hợp nhất nếu những khác biệt trước đây không còn giá trị trong mô hình mới.
Điều cần ghi nhớ là kiến trúc scope của Magento ảnh hưởng trực tiếp đến ý nghĩa và phạm vi hiển thị của dữ liệu sau khi di chuyển. Đây không chỉ là lựa chọn trình bày trên Nền tảng đích.
Customers, Orders và lịch sử giao dịch
Magento quản lý tài khoản Customers, địa chỉ, nhóm Customers, Orders, invoices, shipments, credit memos, giảm giá, thông tin Taxes và các bản ghi giao dịch liên quan. Những cấu trúc này phục vụ cả công việc vận hành hằng ngày lẫn việc tra cứu lịch sử để hỗ trợ khách hàng.
Bản ghi Customers sau khi di chuyển cần tiếp tục được nhận diện và sử dụng đúng, nhưng khả năng duy trì tài khoản không chỉ nằm ở tên và email. Cấu trúc địa chỉ, nhóm Customers, cách áp dụng Taxes, trạng thái newsletter, thuộc tính riêng và định danh từ hệ thống bên ngoài đều có thể ảnh hưởng đến vận hành. Khả năng tiếp tục sử dụng mật khẩu phụ thuộc vào phương pháp di chuyển được hỗ trợ và không nên được mặc định.
Một bản ghi Orders sau khi di chuyển cần giữ đủ thông tin để đội ngũ có thể hiểu giao dịch đã xảy ra. Tùy phạm vi được hỗ trợ, thông tin cần thiết có thể gồm mặt hàng trong Orders, SKU, tên Products tại thời điểm mua, số lượng, options đã chọn, giá, giảm giá, Taxes, vận chuyển, tổng tiền, trạng thái, địa chỉ, tham chiếu thanh toán, invoices, shipments và refunds.
Dữ liệu lịch sử không cấu hình cách hệ thống vận hành trong tương lai. Tên phương thức vận chuyển cũ không triển khai kết nối với hãng vận chuyển. Tham chiếu thanh toán không cấu hình payment gateway. Số Taxes đã ghi trong Orders trước đây cũng không tạo ra quy tắc Taxes hiện hành. Checkout và xử lý đơn hàng trong tương lai phụ thuộc vào cấu hình trên Cửa hàng đích, modules, credentials và các tích hợp.
Content, themes và cách storefront được hiển thị
Magento có CMS Pages, content blocks, widgets, media, content của Products và Categories, cùng cơ chế rendering do theme quyết định. Các thành phần này cho phép dữ liệu commerce kết hợp với nội dung biên tập, promotional content và navigation.
Lớp hiển thị có thể sử dụng layouts, templates, blocks, cấu hình theme và extensions. Một thuộc tính có thể tồn tại đúng trong cơ sở dữ liệu nhưng vẫn không xuất hiện nếu theme không hiển thị trường đó. CMS Page có thể đã được chuyển nhưng không được liên kết trong navigation. Image của Products có thể được di chuyển trong khi cách hiển thị responsive hoặc gallery trên storefront vẫn khác so với nguồn.
Khả năng duy trì trải nghiệm storefront vì vậy phụ thuộc vào mối liên hệ giữa:
- bản ghi và media đã được di chuyển;
- cấu hình và scope của Magento;
- theme templates và quyết định về layout;
- CMS Pages và content blocks;
- search, navigation, filtering và cách URL hoạt động.
URLs, URL rewrites, đường dẫn Categories, URL keys của Products và đích content trên Magento có thể khác Nền tảng nguồn. Duy trì giá trị SEO nên dựa trên những trang đích hợp lệ trong Magento và các đường dẫn nguồn có giá trị cao, thay vì giả định mọi URL cũ đều có thể được tái tạo giống hệt.
Modules, customizations và các tích hợp
Magento có hệ sinh thái modules và các tích hợp lớn. Extensions có thể bổ sung payment methods, shipping methods, search, merchandising, subscriptions, marketplace features, trình cấu hình Products, trường của Customers, thuộc tính Orders, reporting, xử lý đơn hàng hoặc workflows trong giao diện quản trị. Custom modules cũng có thể thay đổi cách chức năng có sẵn hoạt động hoặc tạo hoàn toàn cấu trúc dữ liệu mới.
Khả năng mở rộng này là một phần quan trọng của Magento, đồng thời cũng tạo ra nhiều trường hợp dữ liệu có chủ thể quản lý ẩn. Một trường có thể được lưu dưới dạng thuộc tính Magento, trong bảng dữ liệu tùy chỉnh, trong đối tượng dữ liệu do extension tạo hoặc ở hệ thống bên ngoài. Một workflow cũng có thể được thực thi bằng code thay vì được thể hiện trực tiếp trong bản ghi cần di chuyển.
Cửa hàng đích cần phân biệt rõ:
- các bản ghi thuộc Magento core;
- cấu hình tiêu chuẩn trên Nền tảng đích;
- dữ liệu do extensions quản lý;
- dữ liệu và cách xử lý thuộc custom modules;
- cách hiển thị phụ thuộc vào theme;
- dữ liệu hoặc quy trình do hệ thống bên ngoài quản lý.
Sự phân biệt này đặc biệt quan trọng với các định danh. Products, Customers và Orders có thể chứa ERP IDs, PIM keys, marketplace references hoặc fulfillment codes. Những giá trị đó chỉ tiếp tục hữu ích khi hệ thống tích hợp tương ứng vẫn có thể đọc, sử dụng và duy trì chúng sau khi cửa hàng đi vào hoạt động.
Phân biệt Magento với Adobe Commerce
Magento và Adobe Commerce có chung nguồn gốc nền tảng, nhưng ranh giới sản phẩm cần được giữ rõ. Magento cung cấp nền tảng Open Source cùng các chức năng commerce cơ bản. Adobe Commerce bổ sung các chức năng và dịch vụ thương mại riêng mà không nên được mặc định là một phần của Magento.
Ranh giới này ảnh hưởng trực tiếp đến kỳ vọng khi chuyển đổi. Cửa hàng nguồn có thể sử dụng B2B, merchandising, content, segmentation, vận hành hoặc cloud capabilities thuộc Adobe Commerce hay extensions của bên thứ ba. Nền tảng đích cần được đánh giá theo đúng cách triển khai Magento và modules đã chọn, không dựa trên một danh sách chức năng trộn lẫn của cả nhóm sản phẩm Adobe Commerce.
Nguyên tắc tương tự áp dụng cho dữ liệu nguồn. Một trường được tạo bởi chức năng của Adobe Commerce có thể cần một đích khác, một extension thay thế hoặc cách xử lý ngoài chuẩn khi chuyển sang Magento. Việc hai edition có khái niệm cơ sở dữ liệu tương tự không bảo đảm chúng tạo ra cùng chức năng nghiệp vụ.
Điều gì làm chuyển đổi sang Magento khác biệt?
Magento khác biệt vì kết hợp một mô hình dữ liệu commerce có cấu trúc với hạ tầng và code do doanh nghiệp trực tiếp kiểm soát. Bốn đặc điểm định hình cách lập kế hoạch chuyển đổi:
- Thuộc tính và loại Products quyết định ý nghĩa catalog. Cửa hàng đích cần một kiến trúc Products được quản lý rõ, không chỉ các dòng dữ liệu đã được import.
- Scope website/store/store view quyết định giá trị nào được áp dụng và hiển thị ở đâu. Dữ liệu multi-store cần được hiểu theo đúng hệ phân cấp Magento.
- Extensions và custom modules có thể quản lý dữ liệu cùng chức năng quan trọng. Chỉ kiểm tra các bản ghi core sẽ không cho thấy toàn bộ các phần phụ thuộc.
- Hạ tầng và deployment là một phần của mô hình vận hành. Search, indexing, cache, queues, media, performance, security và quản lý release đều ảnh hưởng đến việc dữ liệu sau khi di chuyển có thực sự sử dụng được hay không.
Magento có thể hỗ trợ những cửa hàng phức tạp, nhưng mức độ linh hoạt này chỉ tạo giá trị khi có cơ chế quản lý kỹ thuật phù hợp. Dữ liệu, scope cấu hình, modules, themes, các tích hợp và hạ tầng cần được thiết kế như một kiến trúc Cửa hàng đích thống nhất.
Kết luận
Magento là một nền tảng thương mại điện tử Open Source theo mô hình Self-hosted, được xây dựng quanh Products có cấu trúc, thuộc tính, attribute sets, Categories, scope cửa hàng, Customers, Orders, content, modules, themes và các tích hợp. Mô hình vận hành cho doanh nghiệp quyền kiểm soát trực tiếp, đồng thời đặt trách nhiệm về hạ tầng, deployment, bảo mật, khả năng tương thích của extensions và bảo trì lâu dài vào phía đội ngũ vận hành.
Khi chuyển sang Magento, cần duy trì đúng dữ liệu nghiệp vụ thuộc phạm vi được hỗ trợ nhưng không được nhầm dữ liệu với cấu hình cửa hàng, code, cách hiển thị hoặc hạ tầng. Phần tổng quan này thiết lập mô hình cần thiết để tiếp tục đánh giá mức độ phù hợp, khác biệt mô hình dữ liệu, rủi ro, chuẩn bị, lựa chọn phương án chuyển đổi, xác thực và các sai lầm thường gặp trong những bài tiếp theo của hub.
Câu hỏi thường gặp
Magento có phải là Adobe Commerce không?
Magento không phải là Adobe Commerce. Hai sản phẩm có chung nguồn gốc nền tảng và nhiều khái niệm cơ bản, nhưng Adobe Commerce có các chức năng riêng và dịch vụ thương mại không tự động thuộc Magento.
Vì sao thuộc tính quan trọng trên Magento?
Thuộc tính tổ chức thông tin Products có cấu trúc và có thể được sử dụng trong giao diện quản trị, storefront, search, filtering, comparison và các tích hợp. Nếu cách quản lý thuộc tính thiếu nhất quán, catalog sau khi di chuyển có thể khó duy trì dù tất cả Products đã được chuyển.
Mọi bản ghi Categories ở Nền tảng nguồn có cần trở thành Magento Categories không?
Không phải mọi phân loại ở Nền tảng nguồn đều nên trở thành Magento Categories. Một cấu trúc nguồn có thể phục vụ navigation, filters, brands, campaigns hoặc tổ chức nội bộ. Magento Categories chỉ nên được dùng khi chúng tạo ra cấu trúc duyệt Products hoặc content có ý nghĩa trên Cửa hàng đích.
Website, store và store view khác nhau như thế nào?
Đây là ba cấp trong hệ phân cấp scope của Magento. Website có thể tạo một ranh giới thương mại lớn, store có thể tổ chức catalog quanh root Categories, còn store view thường thể hiện content hoặc ngôn ngữ khác nhau trên storefront.
Lịch sử đơn hàng sau khi di chuyển có cấu hình thanh toán và vận chuyển trong tương lai không?
Lịch sử đơn hàng chỉ giúp duy trì thông tin về giao dịch đã xảy ra. Payment gateways, shipping các tích hợp, Taxes, checkout và quy trình xử lý đơn hàng trong tương lai vẫn cần được cấu hình và kiểm thử trên Cửa hàng đích.
Dữ liệu của extensions và custom modules có được xem là dữ liệu Magento tiêu chuẩn không?
Dữ liệu do extensions hoặc custom modules quản lý không mặc định thuộc các cấu trúc Magento core. Các thành phần này có thể tạo thuộc tính, bảng dữ liệu, đối tượng dữ liệu và workflows riêng, vì vậy cần xác định mục đích, đích dữ liệu và hệ thống chịu trách nhiệm duy trì chúng sau chuyển đổi.