OXMODE dùng NocoBase làm CMS cho blog như thế nào?
Việc chuyển blog của OXMODE sang NocoBase không chỉ là đổi nơi lưu dữ liệu. Mục tiêu là tạo ra một quy trình xuất bản nội dung thật sự dễ dùng cho team, nhưng vẫn giữ được hiệu năng, SEO và khả năng fallback khi hệ thống ngoài gặp sự cố.
1. Vấn đề của cách làm cũ
Trước đây, nội dung blog nằm rải rác trong các file local. Cách này đơn giản, nhưng có ba điểm yếu lớn:
- Chỉnh sửa nội dung phải chạm vào codebase.
- Team khó tự đăng bài nếu không có người kỹ thuật hỗ trợ.
- Khi muốn đồng bộ song ngữ VI/EN, việc bảo trì dễ bị rối.
Chính vì vậy, OXMODE cần một CMS vừa có giao diện nhập bài tốt, vừa có API để website đọc dữ liệu trực tiếp.
2. Vì sao chọn NocoBase
NocoBase phù hợp vì nó cho phép mình dựng workflow nội dung mà không cần tự viết lại toàn bộ admin panel. Với blog, em cần các thứ rất cụ thể:
title_vi/title_enexcerpt_vi/excerpt_encontent_vi/content_endạng Markdown/Vditorcover_imageđể upload ảnh thậttags,category,featured,status
Quan trọng hơn, NocoBase cho phép team nội dung làm việc theo kiểu quen thuộc: viết bài, xem preview, publish, rồi website tự cập nhật.
CMS tốt không chỉ là nơi lưu dữ liệu. Nó phải giúp người viết bài thấy dễ chịu khi dùng hằng ngày.
3. Cách OXMODE tổ chức dữ liệu
Blog hiện được chia thành hai collection chính:
blog_categoriesđể quản lý nhóm chủ đềblog_postsđể lưu bài viết song ngữ
Mỗi bài có một danh mục rõ ràng, một slug duy nhất, nội dung VI/EN, tags, ảnh cover và trạng thái xuất bản. Nhờ vậy frontend chỉ cần gọi API là có thể render bài viết ngay.
4. Vì sao nội dung phải là Markdown/Vditor
Một blog nghiêm túc không nên bắt người viết nhập nội dung kiểu JSON block thô. Khi chị em content team mở form bài viết, thứ họ cần là:
- Heading
- Bullet list
- Quote
- Link
- Ảnh chèn trong bài
Markdown/Vditor giải quyết đúng nhu cầu đó. Nó giữ format tốt hơn textarea thường, nhưng vẫn đủ nhẹ để lưu và render qua API.
5. Website vẫn cần fallback local
Dù NocoBase là nguồn chính, website OXMODE vẫn giữ fallback local. Lý do rất đơn giản:
- Nếu API chậm hoặc lỗi, trang blog không bị trắng.
- Build/prerender vẫn có dữ liệu để chạy.
- SEO an toàn hơn khi nội dung không phụ thuộc 100% vào một hệ thống ngoài.
Đây là một nguyên tắc em rất thích: CMS là nguồn chính, nhưng website vẫn phải sống được khi CMS gặp sự cố.
6. Workflow đăng bài hiện tại
Quy trình bây giờ khá gọn:
- Mở NocoBase
- Tạo bài mới
- Nhập nội dung VI/EN bằng editor phù hợp
- Upload cover image
- Gắn category + tags
- Đổi status sang published
- Website tự hiển thị bài mới
Không cần đụng code khi đăng bài thường xuyên nữa.
7. Kết luận
Với OXMODE, NocoBase không chỉ là backend quản lý nội dung. Nó là lớp vận hành giúp team có thể xuất bản blog nhanh hơn, chuẩn hơn và ít phụ thuộc hơn.
Nếu nhìn từ góc độ dài hạn, đây là kiểu setup mà một website công ty nên có: dễ viết, dễ duyệt, dễ mở rộng, và không làm gãy trải nghiệm khi có lỗi hệ thống.



