CMS cho website bán hàng dạng danh mục: làm được gì, không làm gì
Cập nhật lần cuối:

KDIGI CMS làm tốt vai trò backend nội dung cho website bán hàng kiểu danh mục: trang sản phẩm hoặc dịch vụ, bảng giá, landing chiến dịch và SEO. Nó không có giỏ hàng, thanh toán, tồn kho hay quản lý đơn hàng; các phần đó phải nằm ở frontend hoặc dịch vụ thương mại riêng.
Tóm tắt nhanh
productslà trang sản phẩm/dịch vụ tổng quát: tiêu đề, nội dung Markdown, một dòng giá, slider ảnh, FAQ, đánh giá sao, danh mụcproduct-category.- Tiền tệ mặc định VND; hỗ trợ USD, EUR, GBP, JPY. Không có biến thể, tồn kho, giỏ hàng, thanh toán, đơn hàng.
- SEO: JSON-LD
Product+Offer, breadcrumb theoproduct-category, mẫu tiêu đềSites.seoTitles.products.- Landing dạng khối (
pricingTable,offerCards,cta,faq…) với trườngcampaigncó UTM.- Có nhập sản phẩm WooCommerce trong pipeline chuyển từ WordPress.
- Đường dẫn công khai:
/product/{slug}/; frontend dựng bằng Next.js, Astro hoặc tương đương.
Phù hợp với loại website nào
| Mô hình | Phù hợp? | Lý do |
|---|---|---|
| Catalogue hàng hóa, khách liên hệ/đặt qua Zalo, form, điện thoại | Có | Chỉ cần trang sản phẩm, giá hiển thị, SEO |
| Website dịch vụ, gói giá, khóa học bán qua tư vấn | Có | pricingTable, offerCards, FAQ, landing |
| Content-led commerce: blog nhiều, sản phẩm ít | Có | Blog, danh mục, internal link cùng một CMS |
| Cửa hàng có giỏ hàng, mã giảm giá, vận chuyển | Không | Cần nền tảng thương mại chuyên dụng |
| Bán nhiều biến thể (size/màu), quản lý tồn kho | Không | prices[] chỉ một dòng, không có tồn kho |
Thiết lập đề xuất
- Tạo site cho cửa hàng trong Sites (xem quản lý nhiều website); khai báo
domainđể webhook revalidate trỏ đúng. - Dựng danh mục trong Taxonomies với
type = product-category, có cây cha–con. Tách riêng vớicategorycủa blog; đây là thiết kế có chủ đích để khớpproduct_catcủa WooCommerce. - Nhập sản phẩm trong Products: điền
contentMd,excerpt, ảnh đại diện,hero.slider[](nhiều ảnh) hoặchero.slideVideo(YouTube/TikTok), nhóm FAQ vànoticeMdcho khối lưu ý. - Điền giá ở dòng duy nhất của
prices[]:originalPrice,currentPrice,currency,validUntil. - Đặt mẫu SEO tại
Sites.seoTitles.products(mặc định%title% %sep% %sitename%, mô tả%excerpt%). Xem SEO và JSON-LD. - Làm landing chiến dịch trong Landings: ghép các khối
hero,offerCards,pricingTable,testimonials,faq,cta; điềncampaign.utmSource,utmMedium,utmCampaign,conversionGoal,abTestId. - Phân quyền: giao
authorcho người nhập liệu (không được xuất bản),editorduyệt đăng. Xem phân quyền người dùng. - Frontend gọi API: lọc theo site bằng
where[tenant][equals]=<id>, vì API đọc công khai không tự giới hạn theo site. Chi tiết ở Headless API.

Dữ liệu Product và Offer
Quy tắc hiện có trong tài liệu SEO của KDIGI CMS:
offerschỉ được phát khiprices[0].currentPrice > 0; thiếu giá hoặc giá 0 thì bỏOffervà ghi cảnh báo.priceValidUntillấy từprices[0].validUntil;priceCurrencylấy từcurrency(mặc địnhVND).aggregateRatingchỉ xuất hiện khi điểm trung bình dưới 5 và hoặc bậtaggregateRatingOverride, hoặc số đánh giá đạtknowledgeGraph.minReviewsForAggregate(mặc định 10) kèm ít nhất một bình luận đã duyệt. Sao nhập từ WooCommerce không tự sinhaggregateRating.- Mục FAQ thiếu câu hỏi hoặc đáp án bị bỏ khỏi
FAQPage.
Điều này giữ dữ liệu có cấu trúc trung thực với nội dung trang, thay vì phát đại trà.
Landing chiến dịch
Landing có layout gồm 12 loại khối và template (default, wide, fullscreen), schemaType (WebPage, FAQPage, Article, Product, Event) và status archived cho chiến dịch đã kết thúc. Nội dung hiển thị qua block; CMS lưu thông tin UTM và mục tiêu chuyển đổi, còn việc gắn tham số vào liên kết và đo lường là việc của frontend. Quy trình soạn nội dung ở nội dung và cấu trúc.
Chuyển từ WooCommerce
Pipeline 8 phase (kèm cổng review và pg_dump trước khi ghi DB không phải local) nhập product, product_cat, product_tag thành products và taxonomies; gallery vào hero.slider, giá vào prices[0], giữ FAQ, đánh giá, bình luận, SEO Yoast/RankMath, cùng redirect 301 từ permalink cũ. Xem chuyển từ WordPress.
Khi nào KHÔNG phù hợp
- Cần giỏ hàng, checkout, thanh toán thẻ/ví, đơn hàng, tồn kho, vận chuyển: chọn WooCommerce, Shopify hoặc backend thương mại riêng.
- Cần biến thể, nhiều mức giá, giá theo nhóm khách:
prices[]chỉ có một dòng. - Cần quản lý kho, SKU, đồng bộ sàn: nằm ngoài phạm vi.
- Muốn có storefront dựng sẵn: không có; bạn tự xây hoặc thuê.
Kiến trúc tách đôi vẫn khả thi: KDIGI CMS giữ blog, danh mục và landing; dịch vụ thương mại xử lý đơn hàng; frontend nối hai bên.
Xem thử trên bản demo hoặc tự host bằng Docker Compose.
Câu hỏi thường gặp
KDIGI CMS có giỏ hàng và thanh toán không?
Một sản phẩm có thể có nhiều mức giá không?
Dữ liệu có cấu trúc Product được sinh thế nào?
Chuyển cửa hàng WooCommerce sang KDIGI CMS được không?
Khi nào nên chọn nền tảng thương mại điện tử chuyên dụng?
Đọc tiếp
Nội dung và cấu trúc
Mô hình nội dung gồm trang, bài viết, sản phẩm, landing, taxonomy, tác giả, FAQ, menu dạng cây, redirect, bình luận, đánh giá, phiên bản và thùng rác.
SEO và JSON-LD
Trường SEO, mẫu title kiểu RankMath, đồ thị JSON-LD, ảnh OG dự phòng, kiểm tra SEO, gợi ý internal link và AI SEO tùy chọn ngay trong trình soạn thảo.
Headless API
Lấy nội dung qua REST hoặc GraphQL, Markdown chuyển sang HTML ở khóa gốc, hợp đồng revalidate cho ISR và ví dụ tích hợp Next.js chạy được ngay.
Chuyển từ WordPress
Hướng dẫn chuyển WordPress sang KDIGI CMS: bài viết, trang, media, menu, dữ liệu Yoast/RankMath, WooCommerce, redirect 301. Có checklist và giới hạn rõ ràng.