Tính năng
Quản lý nhiều website trong một hệ thống KDIGI CMS
Một bảng quản trị cho nhiều website: mỗi site có tên miền, thương hiệu, SEO và nhóm biên tập riêng.
Cập nhật lần cuối:

Mỗi website là một document trong collection Sites (siteKey + domain), và mọi nội dung thuộc đúng một site qua trường tenant. Một bản cài, một cơ sở dữ liệu phục vụ nhiều frontend.
Tóm tắt nhanh
- Một document Sites là một website.
- Nội dung tách theo
tenant, quyền kiểm tra phía máy chủ.- Cấu hình riêng: thương hiệu, SEO, tích hợp, kho R2.
- Thêm site không cần triển khai lại CMS.
- Frontend chọn site bằng
siteKey.

Sáu tab cấu hình mỗi site
- Hệ thống
siteKey,domain, ngôn ngữ mặc định, nhóm R2. - Thương hiệu Theme, màu chính, logo, favicon.
- Trang chủ Hero, slider, bài viết và sản phẩm nổi bật.
- Liên hệ & Footer Nút liên hệ nổi, footer, sidebar.
- Trang & SEO Mẫu tiêu đề, ảnh OG, Knowledge Graph. Xem SEO và JSON-LD.
- Tích hợp GA4, GTM, Clarity, manifest PWA.

Dữ liệu được tách thế nào
Người dùng đăng nhập chỉ thấy các site được gán; ranh giới thật là điều kiện truy cập phía máy chủ, không phải bộ chọn site. Xem phân quyền người dùng.
Cảnh báo Đọc ẩn danh không tự lọc theo site. Quên
where[tenant][equals]=<id>thì request nhận nội dung đã xuất bản của mọi site. Đừng đặt bí mật vào trường Sites thông thường. Xem Headless API.
Thêm website mới
- Đăng nhập super-admin Người dùng đầu tiên của bản cài mới tự thành
super-admin. - Tạo site Sites → Create: nhập
siteKey,domain,defaultLanguage. - Gán người dùng Thêm dòng vào
tenantscủa người dùng. - Cấu hình site Thương hiệu, SEO, tích hợp; R2 là tùy chọn.
- Tạo nội dung Menu, taxonomy, trang, bài viết.
- Trỏ frontend Dùng
siteKeymới và triển khai/api/cms/revalidatetrên domain của site.
Kho media riêng cho từng site
Mặc định upload lưu trên ổ đĩa. Site có bucket và accountId dùng Cloudflare R2 riêng; hai khóa bí mật chỉ ghi, không bao giờ trả qua API. Xem thư viện media.
Dùng chung và riêng theo site
| Hạng mục | Riêng theo site | Ghi chú |
|---|---|---|
| Nội dung, menu, FAQ, shortcode, redirect, bình luận, tác giả | Có | Qua tenant |
| Media, thư mục, kho lưu trữ | Có | R2 tùy chọn |
| Người dùng | Không | Gán site qua tenants[] |
| Vai trò | Không | Một vai trò cho mọi site của người dùng |
Ngôn ngữ nội dung (vi, en) |
Không | defaultLanguage riêng từng site |
| Biến môi trường | Không | Dùng chung toàn cài đặt |
Hợp với ai
Hợp với agency quản lý nhiều website khách hàng, doanh nghiệp nhiều thương hiệu, hoặc người đang gộp blog WordPress bằng pipeline chuyển từ WordPress. So với WordPress: xem so sánh KDIGI CMS và WordPress. Thử ngay ở bản demo hoặc xem toàn bộ tính năng.
Câu hỏi thường gặp
Thêm một website mới có cần triển khai lại CMS không?
siteKey, domain, ngôn ngữ mặc định, rồi gán người dùng. Bạn chỉ cần trỏ frontend mới tới CMS.Dữ liệu giữa các site có bị lẫn vào nhau không?
where[tenant][equals] với id site của mình.Mỗi site có thể dùng kho media riêng không?
r2 (bucket, accountId), site đó dùng Cloudflare R2 riêng. Chỉ super-admin được sửa nhóm này.Người dùng có thể thuộc nhiều site không?
tenants (mỗi site một dòng). Vai trò là toàn cục: một người có một vai trò trên mọi site của họ.Đọc tiếp
Phân quyền người dùng
Bốn vai trò super-admin, admin, editor, author; gán theo từng website; tác giả gửi bài chờ duyệt. Có tài khoản demo để thử ngay không cần cài đặt.
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.
Thư viện media
Quản lý ảnh theo thư mục, sửa ảnh trực tiếp, nhập ảnh từ URL có chống SSRF, lưu trên ổ đĩa hoặc Cloudflare R2, xuất WebP để trang tải nhanh hơn.
Tự host
Cài KDIGI CMS trên VPS của bạn bằng Docker Compose hoặc Coolify: yêu cầu hệ thống, biến môi trường, sao lưu, nâng cấp và các bước tăng cường bảo mật.