KDIGI CMS

Thực hành tốt

Cấu trúc nội dung và taxonomy: danh mục, thẻ, pillar–cluster

Chọn loại nội dung theo vai trò của trang, giữ chuyên mục nông, chốt slug sớm.

Cập nhật lần cuối:

Trình chỉnh menu dạng cây kéo thả trong KDIGI CMS

Dùng pages cho nội dung tĩnh, posts cho bài có ngày và tác giả, products cho sản phẩm/dịch vụ, landings cho trang chiến dịch. Chọn đúng từ đầu giúp URL, breadcrumb và JSON-LD nhất quán.

Tóm tắt nhanh

  • Bốn loại nội dung, mỗi loại có tối đa 30 phiên bản và thùng rác.
  • Taxonomy có 4 type: category, product-category, tag, custom.
  • Slug duy nhất theo site; đổi slug tạo redirect 301.
  • Menu là cây kéo thả, 5 vị trí.

Trình quản lý FAQ theo nhóm câu hỏi trong KDIGI CMS
FAQ là collection riêng: mỗi tài liệu là một nhóm câu hỏi

Chọn loại nội dung

  • Trang tĩnh pages: giới thiệu, liên hệ, chính sách, trang trụ cột; có isPillarPage.
  • Bài viết posts: có ngày và tác giả, loại blog, news, guide.
  • Sản phẩm, dịch vụ products: đúng một dòng giá, không có giỏ hàng. Xem website bán hàng.
  • Landing landings: trang chiến dịch ghép từ block, có campaign (UTM).

Chi tiết mô hình: nội dung và cấu trúc.

Thiết kế taxonomy

type Mục đích
category Chuyên mục blog, có parent tạo cây
product-category Danh mục sản phẩm, tách khỏi category
tag Thẻ ngang
custom Tùy biến, giữ tên gốc khi nhập từ WordPress
  • Cây nông: 1–2 cấp
  • Mỗi bài thuộc một chuyên mục chính
  • Viết contentMd riêng cho trang chuyên mục (trên 500 từ)
  • Dùng tier/cluster để ghi cụm chủ đề cho đội biên tập

Slug và URL

Slug tự sinh từ tiêu đề (bỏ dấu, đ → d) và duy nhất theo site. Tài liệu trong thùng rác vẫn giữ slug. Sản phẩm nằm ở /product/{slug}, product-category ở /product-category/…, còn lại ở gốc.

Mẹo Frontend định tuyến khác (ví dụ /blog/{slug}) thì sửa slug-url-prefix-map.ts và publicPathFor trong src/lib/frontend-public-path.ts.

menus có một tài liệu cho mỗi location mỗi site: PRIMARY, SECONDARY_MENU, MOBILE_MENU, FOOTER_MENU, LOGGEDIN_ACCOUNT_MENU. REST trả items đã chiếu theo ngôn ngữ, độ sâu tối đa 10 cấp.

  • Menu chính ≤ 7 mục cấp 1
  • Trang trụ cột ở cấp 1, bài con ở cấp 2
  • Footer chứa trang pháp lý

FAQ, tác giả, shortcode

  • FAQ Một tài liệu là một nhóm câu hỏi; gắn qua faqs để sinh FAQPage.
  • Tác giả authors có bio, avatar, sameAs[]; email không bao giờ trả qua API.
  • Shortcode [sc name="chinh-sach-doi-tra" /], lồng tối đa 3 cấp, riêng từng site.

Vòng đời nội dung

Tình huống Cơ chế
Đăng theo lịch publishedAt ở tương lai
Quay lại bản cũ History/Diff/Restore, 30 phiên bản
Xóa nhầm Thùng rác; admin trở lên xóa vĩnh viễn
Hết hạn chiến dịch Landing chuyển archived

Lưu ý Cache frontend chỉ làm mới khi có lưu, không theo đồng hồ. Xem hiệu năng và cache.

Pillar–cluster trong KDIGI CMS

  1. Trang trụ cột pages với isPillarPage, nội dung dài, có FAQ.
  2. Chuyên mục category có mô tả contentMd riêng.
  3. Bài con posts thuộc một chuyên mục chính, ghi cụm vào cluster/tier.
  4. Liên kết Bài con trỏ lên trụ cột; dùng bộ chọn @ trong editor.

tier và cluster chỉ là siêu dữ liệu; CMS không tự dựng liên kết từ chúng. Mỗi truy vấn chính chỉ nên có một trang đích.

Checklist cấu trúc

  • Mỗi loại nội dung có mục đích rõ
  • Chuyên mục ≤ 2 cấp, có mô tả và SEO riêng
  • Slug ngắn, ổn định; đã quy ước tiền tố URL ở frontend
  • Menu chính khớp cụm chủ đề, không trang mồ côi

Thử trên bản demo, hoặc đọc quy trình biên tập để giao việc cho đội.

Câu hỏi thường gặp

Khi nào dùng page, post, product hay landing?

Page cho nội dung tĩnh. Post cho nội dung có ngày và tác giả. Product cho trang sản phẩm hoặc dịch vụ có giá. Landing cho trang chiến dịch ghép từ block.

Nên dùng category hay tag?

Category làm khung chủ đề ổn định, có cây cha/con. Tag cho thuộc tính ngang. Taxonomy có contentMd dưới 500 từ bị CMS đánh dấu là nội dung mỏng.

Shortcode dùng để làm gì và giới hạn gì?

Shortcode là đoạn Markdown dùng lại, chèn bằng [sc name="ten" /]. Thuộc từng site, lồng tối đa 3 cấp, đọc công khai nên đừng lưu dữ liệu riêng tư.

Đổi slug hoặc chuyển bài giữa chuyên mục có ảnh hưởng URL không?

Đổi slug tự tạo redirect 301. Đổi chuyên mục không đổi URL vì bài nằm ở gốc site (/slug), chỉ breadcrumb đổi theo chuyên mục chính.

FAQ nên đặt ở bài viết hay ở collection FAQ?

FAQ là collection riêng, mỗi tài liệu là một nhóm câu hỏi. Bài, trang, sản phẩm tham chiếu qua trường faqs để dùng lại và sinh FAQPage JSON-LD.

Đọc tiếp