Bạn có thể thiết lập một hệ thống tự động đăng bài từ Google Sheet lên WordPress chỉ trong 30 phút. Không cần lập trình. Không cần thuê thêm nhân sự. Đây là cách 1988Media đang vận hành để xuất bản hàng trăm bài viết chuẩn SEO mỗi tháng cho khách hàng, giảm tới 80% thời gian thao tác thủ công và tăng tốc độ triển khai chiến dịch lên 3 lần.
Mình sẽ hướng dẫn bạn từng bước một, với ảnh chụp màn hình cụ thể. Chúng mình tin vào việc “làm thật” hơn là “nói suông”, nên đây chính xác là workflow đang chạy thực tế tại agency.
Bước 1: Chuẩn bị dữ liệu nguồn trong Google Sheet
Bạn cần một file Google Sheet được cấu trúc hóa rõ ràng để n8n có thể đọc và xử lý. Đây là bước nền tảng, quyết định 90% độ ổn định của cả workflow.
Tóm tắt: Tạo một Google Sheet với các cột dữ liệu chuẩn như tiêu đề, nội dung, chuyên mục, tag, hình ảnh đại diện. Mỗi dòng tương ứng một bài viết. Định dạng dữ liệu rõ ràng giúp n8n xử lý chính xác, tránh lỗi khi đăng bài tự động.
Ví dụ cấu trúc Sheet của mình:
- Cột A (Title): Tiêu đề bài viết.
- Cột B (Content): Nội dung HTML đầy đủ.
- Cột C (Category): Tên chuyên mục (có sẵn trong WP).
- Cột D (Tags): Các tag, phân cách bằng dấu phẩy.
- Cột E (Featured Image URL): Đường dẫn URL công khai đến ảnh.
- Cột F (Status): Trạng thái “pending” hoặc “publish”.
Một sai lầm phổ biến là nhập nội dung thô không có HTML. Hãy chuẩn bị sẵn nội dung đã được định dạng (in đậm, in nghiêng, heading…) để bài đăng lên WordPress có bố cục đẹp ngay lập tức.

Bước 2: Thiết lập trigger “Google Sheets” trong n8n
Làm thế nào để n8n biết khi nào có dữ liệu mới trong Sheet? Bạn cần cấu hình trigger – điểm khởi chạy workflow.
Tóm tắt: Sử dụng node “Google Sheets” trong n8n, chọn trigger “On Row Added or Updated”. Kết nối tài khoản Google và chọn đúng file Sheet, worksheet. Mỗi khi bạn thêm hoặc sửa một dòng, trigger này sẽ kích hoạt toàn bộ quy trình phía sau.
Thao tác chi tiết:
- Trong giao diện n8n, kéo node “Google Sheets” vào canvas.
- Chọn chế độ “Trigger” và chọn operation “On Row Added or Updated”.
- Kết nối tài khoản Google của bạn (n8n sẽ hướng dẫn xác thực OAuth 2.0).
- Chọn đúng Spreadsheet và Sheet bạn đã tạo ở Bước 1.
- Thiết lập “Key Column” (thường là cột ID hoặc tiêu đề) để n8n nhận diện được sự thay đổi.
Đây chính là lớp “LLM Orchestration” cơ bản: bạn đang chỉ định một tác nhân (agent) chuyên trách việc giám sát sự thay đổi dữ liệu. Tại 1988Media, Astro – AI CTO của chúng mình, được thiết kế để điều phối (orchestrate) nhiều luồng tự động hóa kiểu này, đảm bảo chúng chạy ổn định và xử lý lỗi thông minh.
Bước 3: Xử lý và chuyển đổi dữ liệu với node “Function” hoặc “Set”
Dữ liệu từ Sheet cần được “dọn dẹp” và ánh xạ đúng cấu trúc mà WordPress API yêu cầu. Bước này quyết định bài viết của bạn lên site có đúng ý đồ hay không.
Tóm tắt: Sử dụng các node xử lý dữ liệu như “Set” để gán giá trị, hoặc “Function” để viết code JavaScript đơn giản biến đổi dữ liệu. Mục tiêu: tạo ra một JSON payload hoàn chỉnh để gửi đến WordPress.
Mình thường dùng kết hợp:
- Node “Set”: Ánh xạ trường dữ liệu. Ví dụ: gán `$json.title` từ `$json[“Title”]` của Sheet.
- Node “Function”: Cho các xử lý phức tạp hơn. Ví dụ: biến chuỗi tag “seo, marketing” thành mảng `[“seo”, “marketing”]`.
Ví dụ code trong node Function để xử lý tags:
// Lấy chuỗi tags từ item trước đó
let tagString = $json["Tags"];
// Tách thành mảng, loại bỏ khoảng trắng thừa
if (tagString) {
$json['tags_array'] = tagString.split(',').map(tag => tag.trim());
} else {
$json['tags_array'] = [];
}
return $json;

Bước 4: Kết nối và đẩy bài viết lên WordPress
Sau khi có payload chuẩn, bạn cần một node thực thi lệnh đăng bài lên website WordPress của mình.
Tóm tắt: Sử dụng node “WordPress” trong n8n, cấu hình kết nối thông qua WordPress REST API (Username/Password Application hoặc JWT). Chọn operation “Create a Post” và ánh xạ các trường dữ liệu đã xử lý ở bước trước vào đúng vị trí.
Cấu hình quan trọng:
- Thêm node “WordPress” và chọn operation “Create”.
- Nhập URL gốc của site WordPress (ví dụ: https://domain.com).
- Chọn phương thức xác thực. Khuyến nghị dùng “Username and Password” (tạo một Application Password trong WordPress admin).
- Trong phần Fields, ánh xạ từng mục:
- title: `{{ $json.title }}`
- content: `{{ $json.content }}`
- categories: `{{ $json.category }}` (phải là ID hoặc tên chuyên mục có sẵn)
- tags: `{{ $json.tags_array }}` (mảng đã xử lý)
- status: `{{ $json.status }}`
Đây là lúc bạn thấy sức mạnh của Multi-Agent System. Node Google Sheets là agent thu thập, node Function là agent xử lý, node WordPress là agent xuất bản. Chúng phối hợp nhịp nhàng trong một workflow orchestration duy nhất.

Bước 5: Xử lý ảnh đại diện và thiết lập chế độ giám sát
Bài viết thiếu ảnh đại diện sẽ giảm 40% tỉ lệ click. Làm sao để tự động tải ảnh từ URL và gán vào bài viết?
Tóm tắt: Sử dụng node “HTTP Request” để tải ảnh từ URL trong Sheet, sau đó sử dụng node “WordPress” thứ hai với operation “Upload a Media Item” để upload ảnh lên thư viện WordPress và lấy ID ảnh. Cuối cùng, cập nhật ID ảnh này vào bài viết đã tạo.
Quy trình con (sub-workflow) này cần được đặt song song hoặc nối tiếp một cách hợp lý. Một case study thực tế từ 1988Media: sau khi triển khai workflow hoàn chỉnh bao gồm bước xử lý ảnh tự động, chúng mình giúp một khách hàng thương mại điện tử giảm 14.5% chi phí CPL nhờ vào việc đẩy nhanh tốc độ xuất bản review sản phẩm, từ 2 bài/ngày lên 15 bài/ngày với cùng một nhân sự.
Đừng quên thiết lập node “Catch” để bắt lỗi toàn bộ workflow và gửi thông báo qua Telegram hoặc Email. Đây là tính năng sống còn để bạn yên tâm vận hành.
3 Câu Hỏi Thường Gặp (FAQ)
Workflow này có thể xử lý bài viết tiếng Việt có dấu không?
Hoàn toàn được. n8n hỗ trợ Unicode đầy đủ. Quan trọng nhất là bạn phải đảm bảo Google Sheet của mình lưu dữ liệu đúng encoding và trong node HTTP Request/WordPress, thiết lập header `Content-Type: application/json; charset=utf-8`.
Làm sao để đăng bài theo lịch trình (schedule) từ Google Sheet?
Bạn có hai lựa chọn. (1) Thêm một cột “Publish Date” vào Sheet và trong node WordPress, map trường `date` vào giá trị này. (2) Tạo một workflow n8n độc lập khác dùng trigger “Schedule”, đọc toàn bộ Sheet và lọc những bài có ngày đăng bằng hoặc trước thời điểm hiện tại rồi mới đăng. Cách thứ hai linh hoạt hơn.
Chi phí vận hành workflow n8n như thế nào?
n8n có bản self-hosted miễn phí (bạn tự cài trên server của mình). Nếu dùng cloud của họ, chi phí từ $20/tháng. So với việc thuê một nhân sự đăng bài thủ công part-time (ít nhất 3-5 triệu/tháng) hoặc thuê agency xử lý tự động hóa riêng lẻ, đây là giải pháp tiết kiệm hơn rất nhiều. Tự triển khai được, bạn chủ động hoàn toàn và có thể tùy biến vô hạn.
Muốn Áp Dụng AI Vào Doanh Nghiệp?
Nhận audit miễn phí 30 phút — roadmap AI và KPI cam kết rõ ràng trong 48 giờ.