📌 Giới thiệu
Nếu bạn đang muốn chuyển nội dung từ WordPress sang các static site generators như Eleventy, Gatsby, Hugo,… thì wordpress-export-to-markdown là công cụ hoàn hảo giúp bạn thực hiện điều đó một cách dễ dàng.

💡 Công cụ này giúp bạn:
✅ Chuyển đổi toàn bộ bài viết từ WordPress sang Markdown.
✅ Giữ nguyên metadata (frontmatter) như tiêu đề, ngày đăng, danh mục, tag,…
✅ Tải xuống hình ảnh và cập nhật đường dẫn tương ứng.
✅ Tạo cấu trúc thư mục hợp lý, phù hợp với nhiều nền tảng static site khác nhau.
Trong bài viết này, mình sẽ hướng dẫn cách cài đặt, sử dụng và tùy chỉnh xuất dữ liệu WordPress để chuyển sang hệ thống tĩnh. 🚀
1️⃣ Cài Đặt wordpress-export-to-markdown
🔹 Yêu cầu hệ thống
- Node.js đã được cài đặt trên máy.
- File xuất dữ liệu WordPress (
export.xml
).
👉 Bạn có thể lấy file này bằng cách vào WordPress Admin → Tools (Công cụ) → Export (Xuất) → Chọn All content (Tất cả nội dung).
🔹 Cách chạy nhanh bằng npx
Bạn có thể chạy công cụ ngay trên terminal mà không cần cài đặt:
npx wordpress-export-to-markdown
📌 Lưu ý:
- Đặt file
export.xml
vào cùng thư mục với nơi bạn chạy lệnh để dễ dàng thao tác.
🔹 Cách chạy từ mã nguồn
Nếu muốn tùy chỉnh sâu hơn, bạn có thể clone repo và chạy trực tiếp:
git clone https://github.com/lonekorean/wordpress-export-to-markdown.git
cd wordpress-export-to-markdown
npm install
node index.js
✅ Sau khi chạy lệnh, một trình hướng dẫn (wizard) sẽ xuất hiện để bạn chọn các tùy chọn xuất dữ liệu.
2️⃣ Cấu Hình Xuất Dữ Liệu
Công cụ này hỗ trợ nhiều tùy chọn để bạn định dạng dữ liệu theo ý muốn.
🔹 Xuất dữ liệu bằng dòng lệnh
Bạn có thể chỉ định các tùy chọn ngay từ dòng lệnh. Ví dụ:
npx wordpress-export-to-markdown --post-folders=false --prefix-date=true
📌 Lệnh này sẽ xuất dữ liệu với định dạng giống Jekyll, không dùng thư mục riêng cho mỗi bài viết và có tiền tố ngày tháng.
3️⃣ Các Tuỳ Chọn Quan Trọng Khi Xuất Dữ Liệu
🔹 Đường dẫn file xuất từ WordPress
- Lệnh dòng:
--input=export.xml
- Mặc định:
export.xml
(trong thư mục hiện tại).
🔹 Thư mục lưu trữ Markdown & hình ảnh
- Lệnh dòng:
--output=output
- Mặc định: Tạo thư mục
output
chứa các file Markdown và hình ảnh.
🔹 Sắp xếp bài viết theo năm/tháng
- Sắp xếp theo năm:
--year-folders=true
- Sắp xếp theo tháng (cần kết hợp với
year-folders
):--month-folders=true
Ví dụ: Nếu kích hoạt cả hai, bài viết sẽ được lưu trong thư mục /2024/04/
thay vì tất cả ở một nơi.
🔹 Tạo thư mục riêng cho mỗi bài viết
- Bật thư mục riêng cho bài viết:
--post-folders=true
📌 Khi đó, mỗi bài viết sẽ có thư mục riêng và chứa Markdown file + thư mục ảnh:/first-post /images image1.jpg index.md
- Tắt thư mục riêng, tất cả bài viết ở cùng một nơi:
--post-folders=false
📌 Khi đó, tất cả bài viết sẽ có dạng:first-post.md second-post.md
🔹 Thêm tiền tố ngày tháng vào tên file/thư mục bài viết
- Bật tiền tố ngày tháng:
--prefix-date=true
Khi đó, bài viết sẽ có dạng:2024-04-15-first-post.md
- Tắt tiền tố ngày tháng:
--prefix-date=false
🔹 Lưu hình ảnh đi kèm bài viết
- Tải ảnh từ bài viết:
--save-attached-images=true
- Tải ảnh từ
<img>
trong nội dung bài viết:--save-scraped-images=true
📌 Khi bật hai tùy chọn trên, công cụ sẽ:
✅ Tải xuống tất cả hình ảnh trong bài viết.
✅ Chỉnh sửa đường dẫn ảnh trong Markdown để trỏ về thư mục hình ảnh mới.
🔹 Xuất thêm các loại post khác ngoài bài viết
- Một số website WordPress có Custom Post Type như trang tĩnh (Pages) hoặc bài viết đặc biệt.
- Để xuất cả những loại post này:
--include-other-types=true
- Khi đó, mỗi loại post sẽ có thư mục riêng.
4️⃣ Tuỳ Chỉnh Nâng Cao
Nếu bạn muốn chỉnh sửa thêm frontmatter, định dạng ngày, tốc độ tải ảnh,… bạn có thể:
1️⃣ Clone repo về máy
2️⃣ Chỉnh sửa file settings.js
3️⃣ Chạy lại công cụ từ mã nguồn
Ví dụ: Bạn có thể thay đổi định dạng ngày từ YYYY-MM-DD
sang DD/MM/YYYY
trong frontmatter bằng cách sửa file settings.js
.
📌 Kết Luận
Vậy là bạn đã biết cách chuyển đổi dữ liệu WordPress sang Markdown để dùng với các static site generators như Eleventy, Hugo, Gatsby,… 🎉
📌 Tóm tắt các bước chính:
✅ Cài đặt công cụ bằng npx wordpress-export-to-markdown
✅ Xuất dữ liệu từ WordPress (export.xml
)
✅ Cấu hình sắp xếp file Markdown (theo năm/tháng, có hoặc không có thư mục bài viết)
✅ Lưu hình ảnh đi kèm và chỉnh sửa đường dẫn
✅ Tùy chỉnh advanced settings trong settings.js
nếu cần
Tham khảo https://github.com/lonekorean/wordpress-export-to-markdown