Quản lý Articles

Tạo, soạn thảo, tối ưu SEO và xuất bản bài viết — từ ý tưởng đến published với sự hỗ trợ của AI.

1. Articles là gì?

Article là đơn vị nội dung trung tâm của hệ thống. Mỗi article là một bài viết cần tạo ra — từ giai đoạn lên ý tưởng, viết outline, tạo nội dung bằng AI, tối ưu SEO cho đến xuất bản lên website.

Soạn thảo chuyên nghiệp

Rich text editor với toolbar đầy đủ, hỗ trợ heading, list, table, link và callout

AI toàn pipeline

Tạo outline → generate content → tối ưu meta — tất cả bằng AI trong một luồng

SEO tích hợp sẵn

SEO score, audit 5 nhóm quy tắc, gợi ý AI và auto-fix ngay trong editor

Cách vào

ProjectsChọn ProjectContent PlanningTab Articles

Hoặc vào thẳng một bài viết qua /dashboard/articles/[id]/edit

2. Tạo bài viết mới

Click nút + New Article ở góc trên phải trang Content Planning để mở dialog tạo bài viết.

Các trường trong form tạo bài viết

Tiêu đề **

Tên bài viết. Nên đặt gần với từ khóa chính để AI có ngữ cảnh tốt hơn khi generate outline

Topic

Gắn bài vào một Topic trong project. Nếu topic loại "Topic Cluster" sẽ xuất hiện thêm trường Content Type

Content Type

Pillar Content / Cluster Content / Support Content — chỉ hiện khi topic là "Topic Cluster"

Trạng thái

Mặc định là "Ý tưởng". Có thể đặt thẳng sang Outlining hoặc Writing nếu đã có kế hoạch

Từ khóa chính

Chọn từ danh sách My Keywords đã research. Keyword này sẽ được AI dùng để tạo outline và content

Ghi chú

Ghi chú nội bộ — brief ngắn, yêu cầu đặc biệt, hoặc ý tưởng sơ bộ

Ngày đăng dự kiến

Hiển thị trên Calendar View và dùng để sắp xếp lịch biên tập

Khi tạo xong, hệ thống tự động:

  • • Gán trạng thái Ý tưởng và tiến độ 0%
  • • Tạo checklist mặc định 6 mục: Chuẩn bị outline → Viết nội dung → Thêm SEO metadata → Internal links → Final review → Publish
  • • Ghi nhận hoạt động "Đã tạo bài viết" vào Activity Log

Cách khác để tạo article: Từ AI Insights → Import AI Articles; từ Topics → Import AI Articles; từ Content Brief → Convert to Article. Các cách này tự động điền sẵn tiêu đề, keyword, content type và outline gợi ý.

3. Trạng thái bài viết

Mỗi bài viết đi qua một workflow 5 bước. Bên cạnh trạng thái chính còn có sub-status chi tiết hơn để theo dõi chính xác bài đang ở giai đoạn nào.

Ý tưởng
Outlining
Đang viết
Review
Đã đăng

Sub-status chi tiết:

Giai đoạnSub-statusÝ nghĩa
Lên kế hoạchideaMới tạo, chưa có gì ngoài tiêu đề
Lên kế hoạchbriefĐã có Content Brief, đang chuẩn bị outline
Lên kế hoạchoutliningĐang tạo/chỉnh outline
Viết bàidraftBản nháp đầu tiên
Viết bàiwritingĐang viết tích cực
Viết bàieditingĐang chỉnh sửa/polish
Reviewself_reviewTự review trước khi gửi
Reviewpeer_reviewChờ người khác review
ReviewapprovedĐã được duyệt, sẵn sàng đăng
Xuất bảnscheduledĐã lên lịch đăng tự động
Xuất bảnpublishedĐã đăng lên website
Xuất bảnupdatingBài đã đăng, đang cập nhật nội dung

Thanh Workflow Status Bar ở đầu panel bên phải hiển thị trạng thái hiện tại và nút chuyển bước tiếp theo. Mọi thay đổi trạng thái đều được ghi vào Activity Log kèm thời gian.

4. Giao diện soạn thảo

Trang editor chia thành 3 khu vực chính: vùng soạn thảo bên trái, sidebar thông tin bên phải và workflow panel phía dưới sidebar.

Khu vực soạn thảo (bên trái)

Tiêu đề

Input lớn ở đầu trang — tên bài viết. Thay đổi tiêu đề được auto-save.

Outline

Cấu trúc dàn ý của bài viết (H2/H3). Có thể toggle sang chế độ chỉnh sửa thủ công. Outline là điều kiện bắt buộc để Generate Content.

Nội dung (TipTap)

Rich text editor với toolbar đầy đủ: heading H1–H6, bold/italic/underline, danh sách, bảng, blockquote, callout, link, ảnh. Hỗ trợ paste từ Google Docs.

Ghi chú

Textarea riêng cho ghi chú nội bộ — không xuất bản cùng bài. Dùng để ghi yêu cầu, tham khảo, nguồn.

Sidebar bên phải — thông tin & hành động

Trạng thái

Dropdown chọn status: Ý tưởng → Outlining → Đang viết → Review → Đã đăng

Topic & Content Type

Gắn bài vào topic. Nếu topic là Topic Cluster, chọn thêm loại bài (Pillar/Cluster/Support)

Từ khóa chính

Chọn keyword từ danh sách My Keywords — AI dùng keyword này khi generate

Word Count

Thanh tiến độ so sánh số từ thực tế vs mục tiêu. Xanh > 80%, vàng 50–80%, đỏ < 50%

Reading Time

Tự động tính theo công thức: số từ ÷ 200 (từ/phút)

Lưu nháp

Lưu thủ công. Auto-save cũng chạy sau mỗi 500ms khi có thay đổi

Xem trước

Mở preview dialog — hiển thị nội dung HTML được render đúng như trên website

Xuất bản

Chỉ hiện với Project Manager. Mở dialog xác nhận trước khi publish

Đăng lên CMS

Kết nối WordPress/CMS và đăng trực tiếp hoặc lên lịch

Yêu cầu Review

Gửi bài cho người review — chọn reviewer và ghi chú

Workflow Panel — 7 tab

1. Tổng quan

Tiến độ tổng thể (%), trạng thái, sub-status, deadline urgency, số từ, thời gian đọc

2. SEO

SEO Score (0–100) + Readability Score. Breakdown theo 9 metrics. SEO Audit 5 nhóm quy tắc với nút auto-fix

3. Tối ưu

AI gợi ý cải thiện tiêu đề, meta title, meta description và nội dung. Nút Copy + Apply từng gợi ý

4. Links

AI gợi ý liên kết nội bộ (kèm relevance score). Link Health Audit. Topology recommendations theo content type

5. Bình luận

Threaded comments, gắn comment với field cụ thể (title/content/meta...), resolve/unresolve

6. Phiên bản

Lịch sử generate outline + content. So sánh diff các phiên bản chỉnh sửa. Restore về phiên bản cũ

7. Hoạt động

Activity log toàn bộ: tạo, cập nhật, đổi status, assign, comment, publish. Kèm thời gian và user

5. AI hỗ trợ nội dung

Hệ thống có pipeline AI 2 bước: Generate OutlineGenerate Content. Bước sau bắt buộc phải hoàn thành bước trước.

1

Generate Outline

Bước 1

Click Generate Outline trong khu vực soạn thảo. Dialog sẽ mở với các tùy chọn:

  • AI tạo outline dựa trên tiêu đề + từ khóa chính + thị trường ngôn ngữ
  • Outline được kiểm tra qua Quality Gate trước khi cho lưu

Quality Gate — 4 quy tắc:

Bắt buộcPhải có ít nhất 2 sections H2
Bắt buộcTừ khóa chính phải xuất hiện trong ít nhất 1 tiêu đề H2
Khuyến nghịMỗi section body nên có ít nhất 1 H3
Khuyến nghịNên có section kết luận

Nếu còn lỗi Bắt buộc → nút "Lưu vào bài viết" bị vô hiệu. Chỉnh sửa outline để pass quality gate.

2

Generate Content

Bước 2

Sau khi outline đã được lưu vào bài viết, click Generate Content:

  • AI viết nội dung đầy đủ theo từng section trong outline
  • Preview nội dung trước khi chấp nhận — có thể chỉnh sửa trực tiếp trong dialog
  • Click Chấp nhận → nội dung được thay thế vào editor, outline được đánh dấu đã accepted

Pipeline gate: Generate Content bị khoá nếu bài chưa có outline hoặc outline chưa được accept (status vẫn là idea/brief).

Các công cụ AI bổ sung trong editor:

Regenerate Section

Chọn một section cụ thể và yêu cầu AI viết lại section đó — không ảnh hưởng phần còn lại

A/B Test Content

AI tạo 2 phiên bản khác nhau cho một đoạn — so sánh và chọn phiên bản tốt hơn

Competitor Gap

AI phân tích gap nội dung so với đối thủ top SERP — gợi ý những điểm cần bổ sung

AI Tối ưu (tab 3)

Gợi ý cải thiện tiêu đề, meta title, meta description. Nút Apply đồng bộ ngay vào editor

6. Tối ưu SEO

Tab SEO trong Workflow Panel cung cấp hai công cụ độc lập: SEO Score (chấm điểm) và SEO Audit (kiểm tra lỗi).

SEO Score

Điểm tổng hợp 0–100, tính theo công thức: 60% SEO metrics + 40% Readability.

  • • Keyword density (mật độ từ khóa)
  • • Content length (độ dài nội dung)
  • • Heading structure (cấu trúc heading)
  • • Meta title & description
  • • Internal links
  • • Readability (câu, đoạn, từ khó)

SEO Audit

Kiểm tra 5 nhóm quy tắc, phân loại lỗi theo mức độ nghiêm trọng.

HIGHMỗi lỗi trừ -15đ điểm
MEDIUMMỗi lỗi trừ -8đ điểm
LOWMỗi lỗi trừ -3đ điểm

5 nhóm quy tắc SEO Audit

Keyword Density

Mật độ từ khóa chính trong bài — không quá thấp (thin content) cũng không quá cao (keyword stuffing)

Heading Structure

Số lượng H2 (tối thiểu 2), khoảng cách H2→H4, từ khóa phải có trong ít nhất 1 H2

Internal Links

Vi phạm topology: pillar thiếu ≥2 cluster links, cluster thiếu liên kết về pillar, support thiếu liên kết về cluster

Meta Title

Độ dài (50–60 ký tự), chứa từ khóa chính, không trùng với bài khác trong project

Meta Description

Độ dài (150–160 ký tự), chứa từ khóa chính, không trùng với bài khác trong project

Auto-fix có sẵn:

  • Thêm H2: Tự động thêm một heading H2 vào cuối nội dung nếu thiếu
  • Gợi ý Meta AI: AI đề xuất meta title + description mới — xem trước rồi Apply hoặc Dismiss

7. Xuất bản bài viết

Có hai hình thức xuất bản: Publish nội bộ (đánh dấu đã đăng trong hệ thống) và CMS Publish (đồng bộ lên WordPress/CMS thực tế).

Publish nội bộ — đánh dấu đã đăng

01

Điều kiện

Bài phải có trạng thái Review. Người click phải là Project Manager. Chỉ hoạt động khi có ít nhất 100 từ.

02

Validation dialog

Hệ thống hiển thị checklist: ✓ Có tiêu đề · ✓ Có ≥100 từ · ⚠ Thiếu meta title · ⚠ Thiếu meta description. Lỗi ⚠ là cảnh báo, không chặn xuất bản.

03

Nhập Published URL

Điền URL thực tế của bài trên website (không bắt buộc nhưng nên có để hệ thống theo dõi hiệu suất).

04

Xác nhận

Click "Xuất bản" → status chuyển thành "Đã đăng", published_date được ghi lại, keyword lifecycle cập nhật sang "published".

CMS Publish — đăng lên WordPress/CMS

01

Chọn CMS Connection

Chọn kết nối CMS đã cấu hình trong Settings (WordPress, Webflow...). Hệ thống chỉ hiện các kết nối đang active.

02

Chọn trạng thái đăng

Draft (lưu nháp trên CMS) hoặc Publish (đăng công khai ngay).

03

Chọn thời gian

Ngay lập tức hoặc Lên lịch (chọn ngày giờ cụ thể). Bài được đưa vào hàng chờ Publish Queue.

04

Xử lý nền

Hệ thống xử lý nền — đồng bộ HTML, meta, slug lên CMS. Ghi lại last_published_to_cms_at và published_to_cms_count.

8. Chế độ xem trong Content Planning

Tab Articles trong Content Planning có 3 chế độ xem khác nhau, phù hợp với từng nhu cầu.

Table View — Bảng danh sách

Xem tất cả bài viết dưới dạng bảng. Có thể sắp xếp theo từng cột (tiêu đề, ngày, số từ, tiến độ...), lọc theo status/topic/người được giao, tìm kiếm theo từ khóa trong tiêu đề. Hỗ trợ chỉnh sửa inline trực tiếp trên ô (click vào ô để sửa mà không cần vào editor).

Sắp xếp theo cộtFilter đa điều kiệnẨn/hiện cột tuỳ ýChỉnh sửa inlineXuất CSV

Kanban View — Bảng trạng thái

Xem bài viết theo cột trạng thái (Ý tưởng / Outlining / Đang viết / Review / Đã đăng). Kéo thả thẻ bài viết sang cột khác để cập nhật trạng thái. Mỗi thẻ hiển thị: tiêu đề, keyword, người được giao, tiến độ, ngày dự kiến.

Kéo thả đổi statusThấy bottleneck ngayCard rõ thông tinClick card → vào editor

Calendar View — Lịch biên tập

Xem bài viết theo lịch tháng dựa trên ngày đăng dự kiến. Kéo thẻ bài viết sang ngày khác để dời lịch — hệ thống cập nhật target_publish_date tự động. Màu sắc badge theo status giúp thấy ngay bài nào đang trễ.

Lịch tháng trực quanKéo thả dời ngàyMàu badge theo statusHighlight ngày hôm nay

9. Cộng tác & Review

Nhiều người có thể cùng làm việc trên một bài viết với hệ thống review, comment và theo dõi thời gian.

Gửi yêu cầu Review

Khi bài đã sẵn sàng → click Yêu cầu Review trong sidebar → chọn reviewer từ danh sách thành viên project → ghi ghi chú (tuỳ chọn) → gửi. Reviewer nhận thông báo và bài viết được đánh dấu đang chờ peer review. Sau khi review xong, reviewer có thể Approve hoặc ghi comment yêu cầu chỉnh sửa.

Threaded Comments

Tab Bình luận cho phép comment có gắn nhãn vào từng trường cụ thể của bài viết.

titleTiêu đề
contentNội dung
meta_titleMeta title
meta_descriptionMeta description

Comment có thể trả lời (thread) và đánh dấu đã giải quyết (resolve). Người resolve được ghi lại kèm thời gian.

Time Tracker

Nhập Giờ ước tínhGiờ thực tế đã làm. Thanh tiến độ hiển thị xanh (đúng hạn), vàng (sắp vượt), đỏ (đã vượt ước tính). Dữ liệu này được dùng trong Analytics để phát hiện bottleneck và tính velocity của team.

10. Thao tác hàng loạt

Trong Table View, tick chọn nhiều bài viết để thực hiện thao tác hàng loạt từ thanh Bulk Actions.

Đổi trạng thái

Chuyển nhiều bài cùng lúc sang một status — tiết kiệm thời gian khi cần bulk update sau sprint

Giao việc

Gán cùng một người cho nhiều bài — phù hợp khi phân công theo topic hoặc tuần

Xóa

Xóa nhiều bài cùng lúc với hộp xác nhận. Hành động không thể hoàn tác

Xuất CSV

Export danh sách bài viết đang chọn ra file CSV để báo cáo hoặc chia sẻ với team

Import hàng loạt

Import danh sách bài từ file CSV/Excel — phù hợp khi migration hoặc lên kế hoạch từ spreadsheet

Duplicate

Tạo bản sao của bài viết — reset status về Ý tưởng, thêm "(Copy)" vào tiêu đề. Giữ nguyên keyword và topic

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

Generate Content bị khoá, không click được — tại sao?

Generate Content yêu cầu bài viết phải có outline đã được accept (lưu vào bài). Nếu outline chưa tạo hoặc chưa click "Lưu vào bài viết" sau khi generate, nút Generate Content sẽ bị vô hiệu. Hãy tạo outline → pass quality gate → lưu vào bài trước.

Nút Xuất bản bị xám — không bấm được?

Có 3 lý do: (1) Bài chưa ở trạng thái Review — cần chuyển sang Review trước; (2) Tài khoản của bạn không phải Project Manager trong project này; (3) Bài có ít hơn 100 từ.

Auto-save có hoạt động không? Tôi có cần bấm Lưu không?

Auto-save hoạt động tự động sau 500ms khi bạn ngừng gõ. Nút "Lưu nháp" là để lưu thủ công khi muốn chắc chắn. Thanh trạng thái bên dưới editor hiển thị thời gian lưu cuối cùng.

Sự khác biệt giữa "Publish" và "CMS Publish" là gì?

"Publish" (Xuất bản) chỉ đánh dấu bài là đã đăng trong hệ thống quản lý — phù hợp để theo dõi trạng thái. "CMS Publish" thực sự đồng bộ nội dung HTML, meta, slug lên WordPress/CMS thật sự trên website của bạn. Bạn có thể dùng cả hai hoặc chỉ một trong hai.

SEO Score bao lâu thì cập nhật?

SEO Score được tính lại mỗi khi bạn mở tab SEO trong Workflow Panel. Nó không tự động real-time vì cần tính toán phức tạp. Sau khi chỉnh sửa nội dung, đóng/mở lại tab SEO để thấy điểm mới.

Xóa bài viết thì có bị mất dữ liệu liên quan không?

Khi xóa article, tất cả dữ liệu liên quan cũng bị xóa theo: comments, activity log, revision history, generation history, internal links với bài này, và performance data nếu có. Hành động không thể hoàn tác — hãy chắc chắn trước khi xóa.

Làm thế nào để import nhiều bài viết cùng lúc?

Trong Content Planning → Table View → click nút Import (icon upload) → tải lên file CSV/Excel với các cột: title (bắt buộc), status, topic, notes, target_publish_date. Hệ thống tạo tất cả bài viết theo batch và báo lại số bài import thành công / thất bại.