Slugify: tạo URL slug sạch, chuẩn SEO từ tiếng Việt
22/07/2026
URL slug là phần đuôi dễ đọc của đường dẫn, ví dụ /blog/slugify-tao-url-slug-chuan-seo. Slug tốt giúp người dùng đoán được nội dung và là một tín hiệu SEO nhẹ. Với tiếng Việt, thử thách là bỏ dấu và xử lý ký tự đặc biệt.
Quy tắc tạo slug tốt
- Chuyển toàn bộ về chữ thường
- Bỏ dấu tiếng Việt (à → a, đ → d, ê → e...)
- Thay khoảng trắng và ký tự không phải chữ/số bằng dấu gạch ngang
- Gộp nhiều gạch ngang liên tiếp thành một, cắt gạch ở đầu/cuối
- Giữ slug ngắn gọn — 3 đến 6 từ khoá là lý tưởng
Bỏ dấu tiếng Việt bằng Unicode normalize
Mẹo hay: chuẩn hoá NFD tách chữ cái khỏi dấu, rồi xoá các dấu kết hợp bằng regex. Riêng chữ đ/Đ phải thay tay vì không tách được.
function slugify(s) {
return s.toLowerCase()
.normalize("NFD").replace(/[\u0300-\u036f]/g, "")
.replace(/đ/g, "d")
.replace(/[^a-z0-9]+/g, "-")
.replace(/^-+|-+$/g, "");
}
slugify("Slugify: chuẩn SEO!"); // "slugify-chuan-seo"
Lưu ý khi dùng thật
- Slug nên là duy nhất — thêm hậu tố số nếu trùng
- Đừng đổi slug đã publish; nếu buộc đổi, tạo redirect 301 để không mất SEO
- Cân nhắc giữ giới hạn độ dài (~60 ký tự) để URL không quá dài
👉 Dùng thử công cụ liên quan trên dev-hub: Remove Accents (bỏ dấu tiếng Việt) — chạy hoàn toàn trong trình duyệt, không gửi dữ liệu lên server.