Cách Mình Tích Hợp WordPress

Nguyên tắc tích hợp WordPress REST API để tự động tạo và quản lý bài viết từ hệ thống nội bộ

WordPress là điểm cuối của content pipeline. Đăng bài thủ công thì chậm và dễ sai -- tích hợp qua API cho phép mình kiểm soát toàn bộ quá trình, từ upload media cho tới gắn category, một cách tự động và nhất quán.

Nguyên Tắc Tích Hợp

1. Dùng Application Passwords cho server-to-server

WordPress hỗ trợ nhiều cách xác thực, nhưng cho việc tự động publish từ server thì Application Passwords là đủ và đơn giản nhất.

Phương thức Phù hợp khi Không phù hợp khi
Application Passwords Server-to-server, automation pipeline, một site Cần user consent, multi-site SaaS
OAuth 2.0 Hành động thay mặt user, multi-tenant app Setup phức tạp không cần thiết cho internal tool
JWT Stateless auth, microservices WordPress không hỗ trợ mặc định, cần plugin

Application Passwords tạo trực tiếp trong WordPress admin (Hồ sơ → Mật khẩu ứng dụng). Để tạo mật khẩu ứng dụng, nhập tên mật khẩu bất kì vào ô "Tên mật khẩu ứng dụng mới" và bấm thêm mật khẩu.

Lưu ý: Mật khẩu ứng dụng chỉ xuất hiện một lần sau đó sẽ copy được nữa. Vì thể, nhớ lưu lại để dùng trong tương lai.

Application Passwords trong WordPress

2. Upload media trước, tạo post sau

Đây là thứ tự bắt buộc. WordPress cần attachment ID để gắn ảnh vào bài viết. Nếu tạo post trước rồi upload ảnh sau, phải update post lần nữa -- phức tạp hơn và dễ rơi vào trạng thái nửa vời (post đã publish nhưng thiếu ảnh).

Pipeline đúng:

1. Chuẩn bị ảnh (resize, compress, đặt tên)
       ↓
2. Upload từng ảnh lên WordPress → nhận attachment ID
       ↓
3. Thay URL ảnh trong content bằng URL WordPress
       ↓
4. Tạo post với content đã có ảnh + set featured_media

Image optimization trước khi upload:

  • Resize về kích thước hợp lý (WordPress tạo thumbnail tự động, nhưng ảnh gốc quá lớn tốn storage)
  • Compress để giảm dung lượng
  • Đặt tên file SEO-friendly: tu-khoa-chinh-1.webp thay vì IMG_20240315_001.jpg
  • Alt text và caption không bao giờ để trống -- quan trọng cho SEO và accessibility

Đặt Tên Ảnh (Image Slug)

Tên file ảnh ảnh hưởng tới SEO. Cách đặt tên cụ thể tùy thuộc vào yêu cầu của Technical SEO phụ trách từng dự án, nhưng thường theo một trong hai cách:

Cách 1: Lấy từ alt text (5-10 từ)

Rút 5-10 từ đầu từ alt text của ảnh, bỏ dấu tiếng Việt, chuyển thành kebab-case.

Ví dụ: alt text "Giao diện trang quản lý bài viết WordPress"giao-dien-trang-quan-ly-bai-viet-wordpress.webp

Cách 2: Đánh số theo từ khóa chính

Dùng từ khóa chính của bài viết, đánh số thứ tự cho từng ảnh.

Ví dụ: từ khóa chính "tối ưu seo on-page"toi-uu-seo-on-page-1.webp, toi-uu-seo-on-page-2.webp, toi-uu-seo-on-page-3.webp

Tham Khảo Nhanh

Các Endpoint Hay Dùng

Endpoint Method Mục đích
/wp-json/wp/v2/posts GET Lấy danh sách bài viết
/wp-json/wp/v2/posts POST Tạo bài viết mới
/wp-json/wp/v2/posts/{id} PUT Cập nhật bài viết
/wp-json/wp/v2/media POST Upload media
/wp-json/wp/v2/categories GET/POST Quản lý danh mục
/wp-json/wp/v2/tags GET/POST Quản lý thẻ

Post Fields Thường Dùng

Field Kiểu Ghi chú
title string Tiêu đề bài viết
content string (HTML) Nội dung bài viết
slug string URL slug (tự generate, không dấu)
status draft / pending / publish Trạng thái bài viết
featured_media number Attachment ID của ảnh đại diện
categories number[] Mảng category IDs
tags number[] Mảng tag IDs
excerpt string Mô tả ngắn (meta description)