Headless CMS tách phần quản lý nội dung khỏi phần giao diện: nội dung được cấp qua API để bất kỳ frontend nào — trang web, app, mobile — cũng dùng được. Bài này so sánh bốn headless CMS mã nguồn mở hay được nhắc (Strapi, Directus, KeystoneJS, Contenta), nói thẳng cái nào đã ngừng phát triển, và quan trọng hơn: khi nào bạn KHÔNG nên dùng headless.
Headless CMS là gì
“Headless” nghĩa là CMS chỉ còn phần thân (quản lý và lưu nội dung), bỏ phần đầu (giao diện hiển thị). Nội dung được cấp ra qua API — bạn tự dựng giao diện riêng bằng công nghệ frontend tùy chọn. Nhờ đó một nguồn nội dung phục vụ được nhiều kênh cùng lúc.
Headless khác CMS truyền thống thế nào
Nếu bạn cần một trang web trọn gói cài là chạy, các CMS truyền thống như WordPress hay Drupal vẫn phù hợp hơn. Headless mạnh khi một nguồn nội dung phải phục vụ nhiều kênh — nhưng kèm theo nó là chi phí mà phần dưới sẽ nói rõ.
Strapi — phổ biến nhất, lấy nội dung làm trung tâm
Strapi (nền Node.js) là headless CMS mã nguồn mở phổ biến nhất hiện nay. Bản 5 đổi khá nhiều: cách gọi nội dung mới, quản lý bản nháp và xuất bản gọn hơn, lưu lịch sử nội dung, xem trước trực tiếp. Mạnh ở chỗ dễ bắt đầu, có giao diện soạn thảo tốt và hệ plugin lớn. Hợp đội quen JavaScript muốn dựng nhanh.
Directus — lấy database làm trung tâm
Directus đi triết lý khác Strapi: thay vì tạo cấu trúc nội dung mới, nó phủ một lớp quản lý và API lên một database SQL có sẵn. Nói cách khác, Strapi là “content-first” (bắt đầu từ nội dung), Directus là “database-first” (bắt đầu từ dữ liệu). Directus mạnh khi bạn đã có database và muốn kiểm soát chặt phần dữ liệu/backend; phần soạn thảo nội dung thì không bóng bẩy bằng các nền thương mại.
KeystoneJS — thiên về khung backend
KeystoneJS còn được bảo trì nhưng đúng hơn nên gọi là một khung backend kèm CMS, không phải CMS đóng gói sẵn. Nó hợp đội ngũ dùng TypeScript muốn tự dựng nhiều, định nghĩa cấu trúc dữ liệu trước (schema-first). Lưu ý: Keystone không có bản dịch vụ đám mây dựng sẵn — bạn phải tự host và tự lo hạ tầng.
Contenta — đã ngừng phát triển, đừng chọn mới
Đây là điểm cần đính chính rõ vì nhiều bài tiếng Việt vẫn liệt kê Contenta như một lựa chọn sống. Thực tế dự án này đã được lưu trữ (archive) từ năm 2024 — chính tác giả ghi rõ đây vốn là bản mang tính minh hoạ/giáo dục và quyết định dừng. Không nên chọn Contenta cho dự án mới. Nếu bạn cần sức mạnh quản lý nội dung của Drupal theo kiểu headless, hãy dùng Drupal headless thuần thay vì bản Contenta đã ngừng.
Bảng so sánh 4 headless CMS
| CMS | Triết lý | Nền tảng | API | Trạng thái 2026 |
|---|---|---|---|---|
| Strapi | Content-first | Node.js | REST · GraphQL | Sống mạnh, phổ biến nhất |
| Directus | Database-first | Node.js | REST · GraphQL | Sống, mạnh về dữ liệu |
| KeystoneJS | Backend framework | Node.js · TypeScript | GraphQL | Còn bảo trì, tự host |
| Contenta | Drupal headless | Drupal · PHP | JSON:API · GraphQL | Đã archive (2024) |
Chọn headless CMS theo tình huống
Khi nào KHÔNG nên dùng headless
Phần trung thực nhất bài này: đa số website doanh nghiệp nhỏ ở Việt Nam KHÔNG cần headless. Đi headless nghĩa là bạn phải có người dựng frontend riêng, có quy trình build, và vận hành hai phần tách rời (phần nội dung và phần giao diện) thay vì một hệ duy nhất. “Miễn phí giấy phép” không có nghĩa là rẻ: chi phí dồn sang nhân sự (cần lập trình viên frontend), hạ tầng (hai dịch vụ phải duy trì) và thời gian (sửa giao diện phải build lại). Với một trang web công ty thông thường, WordPress dựng và sửa nhanh hơn, rẻ hơn, dễ tuyển người hơn nhiều.
Nếu bạn chỉ cần một website hoàn chỉnh chứ không phải đi theo hướng headless, có thể xem qua dịch vụ thiết kế website của Web22.
Headless chỉ thực sự đáng giá khi: bạn có nhiều kênh đầu ra cùng dùng chung nội dung (web + app + màn hình trong cửa hàng…), đội ngũ đã có lập trình viên frontend, và bạn cần tốc độ cùng sự an toàn của một giao diện tách riêng.
Còn các nền thương mại thì sao
Ngoài nhóm mã nguồn mở tự host ở trên, còn các headless CMS thương mại như Contentful hay Sanity — bạn không tự cài mà trả phí theo mức dùng, đổi lại đỡ lo hạ tầng. Đây là ranh giới đáng cân nhắc: mã nguồn mở (tự host, miễn phí giấy phép nhưng tốn người vận hành) so với thương mại (trả tiền nhưng nhẹ vận hành). Trong nhóm mã nguồn mở, một cái tên mới đáng theo dõi là Payload — nổi lên nhanh bên cạnh Strapi và Directus.
Web22 chọn gì
Với đa số khách hàng cần một trang web hoàn chỉnh, Web22 vẫn ưu tiên WordPress vì nhanh và dễ vận hành. Headless CMS chỉ được Web22 đề xuất khi một nguồn nội dung phải phục vụ đồng thời web, app và các kênh khác — khi đó Strapi thường là điểm khởi đầu cân bằng nhất cho đội JavaScript. Ngoài bốn nền tảng trên, một hướng mới đáng theo dõi là EmDash — CMS thế hệ mới chạy thẳng trên hạ tầng Cloudflare.
Liên quan
Đọc thêm so sánh các CMS mã nguồn mở truyền thống nếu bạn cần một trang web cài là chạy, hoặc so sánh các công cụ tạo web tĩnh nếu nội dung của bạn chủ yếu là tĩnh.
Nguồn tham khảo
Chọn giữa headless và CMS truyền thống là quyết định kiến trúc, không chỉ là chọn công cụ. Nếu bạn cân nhắc tách giao diện khỏi nội dung cho sản phẩm của mình, hãy xem dịch vụ WordPress headless của Web22 — phân tích nhu cầu đa kênh thực tế trước rồi mới đề xuất hướng đi.
