← Kiến thức / Technical SEO

URL xấu: ?id=12, chữ có dấu, chữ hoa lẫn lộn

Tác giả: Thu Phương14/04/20268 phút đọc
URL xấu: ?id=12, chữ có dấu, chữ hoa lẫn lộn

Hướng dẫn chi tiết khắc phục lỗi URL chứa id tham số, chữ có dấu và chữ hoa lẫn lộn. Học cách slug hóa tiếng Việt chuẩn SEO giúp tăng trải nghiệm người dùng và rank TOP.

Khi mới bắt đầu học lập trình web hoặc làm SEO, rất nhiều bạn sinh viên và lập trình viên trẻ thường bỏ qua cấu trúc đường dẫn (URL). Những đường dẫn dạng như domain.com/article.php?id=12, hay chứa nguyên tiêu đề tiếng Việt có dấu như domain.com/Bài-Viết-Số-1 xuất hiện rất phổ biến trong các dự án đồ án hay website thực tập. Điều này không chỉ gây khó khăn cho các công cụ tìm kiếm như Google trong việc hiểu nội dung trang, mà còn làm giảm đáng kể trải nghiệm người dùng. Một đường dẫn xập xệ, không nhất quán sẽ khiến website nhìn thiếu chuyên nghiệp và giảm tỷ lệ nhấp (CTR) trên kết quả tìm kiếm.

Đường dẫn URL được coi là địa chỉ nhà của từng trang web trên không gian mạng. Khi Googlebot đi cào dữ liệu, nó sẽ dựa vào URL để thu thập thông tin và lập chỉ mục. Nếu địa chỉ đó quá phức tạp, chứa chuỗi truy vấn động hoặc ký tự lạ, con bọ tìm kiếm sẽ tốn nhiều ngân sách thu thập dữ liệu (crawl budget) hơn để xử lý. Về phía người dùng, một URL rõ ràng mang lại sự tin tưởng, giúp họ biết chính xác họ chuẩn bị bấm vào đâu. Việc tối ưu hóa URL từ những ngày đầu phát triển ứng dụng web là một khoản đầu tư nhỏ nhưng mang lại lợi ích lâu dài cho chiến lược SEO toàn diện.

1. Tác hại nghiêm trọng của URL không chuẩn SEO

Nhược điểm lớn nhất của các URL dạng ?id=12 là hoàn toàn thiếu ngữ cảnh ngữ nghĩa (semantic context). Google không thể biết nội dung của bài viết là gì nếu chỉ nhìn vào một con số vô hồn. Hơn nữa, việc sử dụng chữ có dấu hoặc ký tự đặc biệt khiến trình duyệt tự động mã hóa chuỗi thành dạng percent-encoding cực kỳ hỗn loạn, ví dụ như %E1%BA%A1i-h%E1%BB%8Dc. Đối với chữ hoa và chữ thường, các máy chủ Web Server như Linux (Ubuntu, CentOS) phân biệt rõ ràng giữa case-sensitive, khiến cho domain.com/Bai-Viet và domain.com/bai-viet trở thành hai trang khác nhau, dẫn đến nguy cơ trùng lặp nội dung nghiêm trọng.

URL xấu: ?id=12, chữ có dấu, chữ hoa lẫn lộn
URL xấu: ?id=12, chữ có dấu, chữ hoa lẫn lộn

Cảnh báo trùng lặp nội dung do phân biệt chữ hoa / chữ thường

Nếu hệ thống của bạn cho phép cả URL chữ hoa và chữ thường cùng truy cập vào một nội dung mà không khai báo thẻ Canonical hoặc Redirect 301, Google Search Console sẽ báo lỗi Duplicate Content và phân tán sức mạnh SEO của trang.

2. 4 Quy tắc vàng thiết kế URL thân thiện với SEO và UX

Để giải quyết triệt me bài toán này, khái niệm Slug ra đời trong lập trình web. Slug là chuỗi ký tự đã được chuẩn hóa đại diện cho tiêu đề trang, được đặt ở dạng chữ thường, không dấu, cách nhau bởi dấu gạch ngang (-). Quy trình chuẩn hóa slug đòi hỏi bạn phải chuyển toàn bộ chữ hoa thành chữ thường, loại bỏ tất cả dấu thanh tiếng Việt (như à, á, ả, ã, ạ thành a), thay thế khoảng trắng bằng dấu gạch ngang và loại bỏ hoàn toàn các ký tự đặc biệt như dấu chấm, phẩy, hỏi chấm, ngoặc đơn. Đây là tiêu chuẩn bắt buộc cho mọi website hiện đại.

  • Chỉ sử dụng chữ cái thường (lowercase) từ a-z và số 0-9.
  • Thay thế tất cả khoảng trắng và ký tự đặc biệt bằng dấu gạch ngang (-).
  • Loại bỏ hoàn toàn dấu tiếng Việt (chuyển chữ có dấu thành không dấu).
  • Giữ độ dài URL ngắn gọn, súc tích (lý tưởng từ 3 đến 5 từ chìa khóa).

3. Giải pháp kỹ thuật: Slug hóa tiếng Việt bằng Code

Khi triển khai trên mã nguồn thực tế, bạn có thể áp dụng thuật toán chuyển đổi chuỗi tiếng Việt bằng Regex hoặc dùng các thư viện sẵn có. Trong JavaScript hoặc PHP, thuật toán sẽ duyệt qua từng ký tự Unicode tiếng Việt để thay thế bằng ký tự ASCII tương ứng, sau đó loại bỏ các khoảng trắng thừa. Kỹ thuật này nên được tích hợp tự động ngay khi người dùng nhập tiêu đề bài viết trong trang quản trị CMS, giúp tạo ra một chuỗi slug chuẩn xác lưu vào cơ sở dữ liệu trước khi lưu bài.

URL xấu: ?id=12, chữ có dấu, chữ hoa lẫn lộn
URL xấu: ?id=12, chữ có dấu, chữ hoa lẫn lộn

Tuy nhiên, một thách thức lớn phát sinh trong cơ sở dữ liệu là sự trùng lặp slug khi hai bài viết có tiêu đề giống hệt nhau. Giải pháp kỹ thuật phổ biến là tự động kiểm tra sự tồn tại của slug trong Database. Nếu slug đã tồn tại, hệ thống sẽ tự động nối thêm chuỗi định danh duy nhất như ID hoặc chuỗi băm ngẫu nhiên ngắn vào cuối slug (ví dụ: bai-viet-hay-12 hoặc bai-viet-hay-a1b2) để đảm bảo tính duy nhất tuyệt đối trên toàn hệ thống.

💡 Mẹo xử lý trùng Slug trong CSDL

Nên đánh chỉ mục (INDEX) cho cột slug trong Database MySQL/PostgreSQL để tốc độ truy vấn URL dạng domain.com/slug diễn ra cực nhanh dưới 10ms.

4. Quy trình chuyển đổi URL cũ bằng Redirect 301 không mất Rank

Việc chuyển đổi cấu trúc URL trên một hệ thống đang hoạt động đòi hỏi sự cẩn trọng tối đa để tránh bị rớt thứ hạng SEO. Nếu bạn thay đổi URL từ dạng cũ ?id=12 sang bai-viet-hay, Googlebot sẽ coi đó là một trang hoàn toàn mới. Nếu không khai báo hướng dẫn chuyển hướng thích hợp, người dùng truy cập vào đường dẫn cũ sẽ gặp lỗi 404 Not Found, làm sụt giảm uy tín của trang web. Do đó, kỹ thuật Redirect 301 (Chuyển hướng vĩnh viễn) là công cụ bắt buộc phải áp dụng để truyền tải trọn bộ sức mạnh SEO (Link Juice) từ URL cũ sang URL mới.

Tóm lại, cấu trúc URL tuy chỉ là một yếu tố nhỏ trong toàn bộ bức tranh SEO Onpage và lập trình Web, nhưng lại là nền móng phản ánh chất lượng tư duy kỹ thuật của bạn. Bằng việc áp dụng việc slug hóa tiếng Việt chuẩn xác, loại bỏ các tham số động không cần thiết và giữ cho URL ngắn gọn dưới 75 ký tự, bạn đã giúp website tối ưu thêm 20-30% khả năng lên TOP Google. Hãy bắt tay vào kiểm tra toàn bộ hệ thống URL trên website của bạn ngay hôm nay để khắc phục những sai sót tiềm ẩn trước khi quá muộn.

Hoạt động

Checklist tối ưu đường dẫn URL trước khi Publish

0%
Mini Quiz

Dạng URL nào sau đây được coi là chuẩn SEO và thân thiện với người dùng nhất?

Khảo sát nhanh

Website của bạn hiện tại đang dùng cấu trúc URL dạng nào?

Cần triển khai SEO bài bản?

Đội ngũ LuckySEO đồng hành cùng bạn từ audit đến tăng trưởng bền vững.

Nhận tư vấn miễn phí