Giới hạn độ dài URL và phương pháp tốt nhất cho SEO
URL vừa là nhu cầu kỹ thuật vừa là cơ hội SEO. Mặc dù không có giới hạn độ dài URL tối đa chính thức trong đặc tả HTTP, nhưng các giới hạn thực tế được áp đặt bởi trình duyệt, máy chủ và công cụ tìm kiếm. Hướng dẫn này bao gồm các ràng buộc thực tế và phương pháp tốt nhất cho thiết kế URL.
Giới hạn URL trình duyệt và máy chủ
Giới hạn URL được thực thi độc lập bởi trình duyệt và máy chủ. Giới hạn trình duyệt áp dụng trước khi yêu cầu được gửi, trong khi giới hạn máy chủ đánh giá dòng yêu cầu (method + URL + phiên bản HTTP) khi nhận được. Giới hạn nghiêm ngặt hơn trong hai giới hạn trở thành nút thắt cổ chai hiệu quả, vì vậy cả môi trường client và server đều phải được xem xét.
| Trình duyệt/Máy chủ | Độ dài URL tối đa | Ghi chú |
|---|---|---|
| Chrome | 2.083.744 ký tự | Bắt nguồn từ kích thước bộ đệm nội bộ engine Blink |
| Firefox | ~65.536 ký tự | Sau đó, thanh địa chỉ bị cắt ngắn |
| Safari | ~80.000 ký tự | Giới hạn nội bộ WebKit; giới hạn chính xác không được tiết lộ |
| Edge | 2.083.744 ký tự | Giống Chrome (dựa trên Chromium) |
| Internet Explorer | 2.083 ký tự | Đường dẫn 2.048 + truy vấn 2.048 giới hạn kết hợp |
| Apache | 8.177 ký tự | Mặc định; có thể cấu hình qua LimitRequestLine |
| Nginx | 4.096 ký tự | Mặc định; có thể cấu hình qua large_client_header_buffers |
| IIS | 16.384 ký tự | Mặc định; có thể cấu hình qua registry |
| Cloudflare | 32.768 byte | Trả về lỗi 414 khi vượt quá |
| AWS ALB / CloudFront | 8.192 byte | Toàn bộ dòng yêu cầu (method + URL + phiên bản HTTP) |
Lưu ý rằng giới hạn phía máy chủ được định nghĩa bằng byte, không phải ký tự. Khi URL chứa ký tự không phải ASCII, số byte sau khi mã hóa phần trăm mới là điều quan trọng. Giới hạn mặc định 8.177 byte của Apache tương đương khoảng 900 ký tự cho URL chứa văn bản tiếng Nhật.
Tác động SEO của độ dài URL
Google có thể lập chỉ mục URL với hầu như bất kỳ độ dài nào, nhưng URL ngắn hơn có xu hướng hoạt động tốt hơn trong kết quả tìm kiếm. Các nghiên cứu cho thấy URL trong top 10 kết quả tìm kiếm trung bình có 50–60 ký tự. Các yếu tố SEO chính cần xem xét:
- Giữ URL dưới 75 ký tự để hiển thị tối ưu trong kết quả tìm kiếm
- Bao gồm từ khóa mục tiêu trong đường dẫn URL
- Sử dụng dấu gạch ngang để phân tách từ (không dùng dấu gạch dưới)
- Tránh các tham số không cần thiết và ID phiên
John Mueller của Google đã tuyên bố rằng bản thân độ dài URL không phải là tín hiệu xếp hạng, nhưng từ khóa trong URL đóng vai trò như một tín hiệu nhỏ trong quá trình lập chỉ mục ban đầu. Khi trang đã được lập chỉ mục, chất lượng nội dung trở thành yếu tố chi phối, vì vậy việc tối ưu hóa quá mức từ khóa URL mang lại hiệu quả giảm dần. Trên thực tế, đảm bảo URL đủ mô tả để người dùng có thể suy ra nội dung trang chỉ bằng một cái nhìn là đủ.
Mã hóa URL
Các ký tự không phải ASCII trong URL phải được mã hóa phần trăm. Một ký tự tiếng Nhật có thể mở rộng thành 9 ký tự khi được mã hóa (ví dụ: "文" trở thành "%E6%96%87"). Việc mã hóa này làm tăng đáng kể độ dài URL cho nội dung không phải Latin, khiến việc tạo slug URL ngắn gọn càng trở nên quan trọng hơn.
Tỷ lệ mở rộng thay đổi theo loại ký tự. Ký tự ASCII (chữ cái, chữ số, dấu gạch ngang, dấu chấm) không cần mã hóa và giữ nguyên tỷ lệ 1:1. Dấu cách trở thành %20 (3 ký tự), ký tự CJK mở rộng thành 9 ký tự mỗi ký tự, và emoji còn tệ hơn - một emoji đơn lẻ tiêu tốn 4 byte UTF-8 và mở rộng thành 12 ký tự (ví dụ: %F0%9F%98%80). Mặc dù emoji trong URL hiếm gặp, nhưng đầu vào do người dùng tạo được truyền dưới dạng tham số truy vấn có thể gây ra sự tăng độ dài không mong đợi.
Mã hóa kép là một cạm bẫy phổ biến trên thực tế. Nếu một %E6%96%87 đã được mã hóa bị mã hóa lại, nó trở thành %25E6%2596%2587, mở rộng từ 9 lên 15 ký tự. Khi các framework hoặc thư viện thực hiện mã hóa tự động, việc kết hợp chúng với mã hóa thủ công tạo ra lỗi mã hóa kép. Việc phân tách rõ ràng trách nhiệm mã hóa trong toàn bộ stack của bạn là điều cần thiết.
Phương pháp tốt nhất cho cấu trúc URL
- Sử dụng đường dẫn mô tả:
/blog/seo-guidetốt hơn/p?id=123 - Giữ phân cấp nông: Giới hạn ở 2–3 cấp thư mục
- Sử dụng chữ thường: URL phân biệt chữ hoa chữ thường trên hầu hết máy chủ
- Tránh stop word: "a," "the," "and" thêm độ dài mà không có giá trị SEO
- Sử dụng URL canonical: Ngăn nội dung trùng lặp từ các biến thể URL
Lỗi thường gặp
- Tham số động: Chuỗi truy vấn dài với tham số theo dõi tạo ra URL xấu, khó chia sẻ
- URL dựa trên ngày:
/2025/03/15/article-titlethêm độ dài không cần thiết và làm nội dung của bạn trở nên lỗi thời - Nhồi từ khóa:
/best-seo-tips-seo-guide-seo-strategytrông spam đối với cả người dùng và công cụ tìm kiếm
Giới hạn và thiết kế tham số truy vấn
Tham số truy vấn (?key=value&key2=value2) được tính vào tổng độ dài URL. Khi các tham số tích lũy - đặc biệt với bộ lọc tìm kiếm và mã theo dõi - URL có thể nhanh chóng tiến gần đến giới hạn phía máy chủ.
Tránh gửi lượng lớn dữ liệu qua tham số yêu cầu GET. Đối với các điều kiện tìm kiếm phức tạp, hãy cân nhắc chuyển payload sang body yêu cầu POST. Đối với tham số theo dõi UTM, giữ tổng utm_source, utm_medium và utm_campaign dưới 100 ký tự để sử dụng thực tế.
Định danh fragment (#section-name) là một phần của URL nhưng không bao giờ được gửi đến máy chủ. Trình duyệt xử lý chúng cục bộ, vì vậy chúng không được tính vào giới hạn độ dài URL phía máy chủ - nhưng chúng được tính vào giới hạn phía trình duyệt. Trong SPA (Ứng dụng trang đơn) phụ thuộc nhiều vào định tuyến phía client qua fragment, giới hạn độ dài URL của trình duyệt trở thành một yếu tố cần xem xét.
Hướng dẫn thực tế về độ dài URL
Xem xét tất cả các ràng buộc của trình duyệt và máy chủ, giữ tổng độ dài URL dưới 2.000 ký tự là mức cơ sở an toàn. Điều này nằm dưới giới hạn nghiêm ngặt nhất của phiên bản cũ (2.083 ký tự của Internet Explorer) và hoạt động đáng tin cậy trên hầu hết mọi môi trường.
Đối với thiết kế endpoint API, hãy tính đến định danh tài nguyên (UUID dài 36 ký tự) và giữ URL cơ sở cộng đường dẫn dưới 200 ký tự để dành chỗ cho tham số. Trong chuỗi chuyển hướng, hãy xác minh rằng URL đích cuối cùng nằm trong giới hạn, vì mỗi lần chuyển hướng có thể thay đổi URL.
Với việc IE 11 đã ngừng hoạt động, hướng dẫn 2.000 ký tự có thể quá thận trọng cho các mục tiêu chỉ hỗ trợ trình duyệt hiện đại. Khi chỉ hỗ trợ trình duyệt hiện đại, giới hạn phía máy chủ (mặc định 4.096 byte của Nginx, 8.177 byte của Apache) trở thành nút thắt cổ chai thực tế. Đối với kiến trúc liên quan đến CDN hoặc bộ cân bằng tải, hãy xác minh giới hạn tại mỗi lớp một cách độc lập.
Khi URL vượt quá giới hạn máy chủ, máy chủ trả về mã trạng thái HTTP 414 URI Too Long. Lỗi này khó phát hiện ở phía client và mang lại trải nghiệm giống như “không tìm thấy trang” cho người dùng, khiến việc quản lý độ dài URL chủ động trong giai đoạn thiết kế trở nên quan trọng.
Điều thú vị về độ dài URL
Đặc tả HTTP (RFC 2616) không định nghĩa độ dài URL tối đa. Tuy nhiên, giới hạn lịch sử 2.083 ký tự của Internet Explorer đã trở thành tiêu chuẩn thực tế của ngành trong nhiều năm. Ngay cả sau khi IE ngừng hoạt động, nhiều hướng dẫn trong ノーブラを見てみる → vẫn khuyến nghị “dưới 2.000 ký tự” là mục tiêu an toàn - di sản từ ràng buộc của trình duyệt đó.
Lưu ý rằng RFC 2616 đã được thay thế vào năm 2014 bởi RFC 7230–7235. RFC 7230 hiện tại Mục 3.1.1 nêu rằng máy chủ “NÊN có khả năng xử lý mục tiêu yêu cầu ít nhất 8.000 octet,” thiết lập đây là mức tối thiểu thực tế được khuyến nghị của đặc tả HTTP hiện đại.
URI data: là một trường hợp đặc biệt - chúng nhúng dữ liệu trực tiếp vào chính URL. Khi hình ảnh được mã hóa Base64 được nhúng dưới dạng data:image/png;base64,..., URL có thể đạt hàng chục nghìn ký tự. Chrome xử lý chúng mà không gặp vấn đề, nhưng một số ứng dụng email và nhắn tin cắt ngắn chúng, khiến việc tham chiếu tài nguyên bên ngoài là lựa chọn an toàn hơn.
Lỗi URL thường gặp
- Sử dụng ký tự không phải ASCII trong đường dẫn mà không tính đến mã hóa: Một ký tự CJK đơn lẻ mở rộng thành 9 ký tự khi được mã hóa phần trăm (ví dụ: %E6%96%87). Một đường dẫn tiếng Nhật 10 ký tự trở thành 90 ký tự sau khi mã hóa, thường vượt quá mong đợi
- Tham số theo dõi không giới hạn: Thêm tham số UTM, ID phiên và thẻ phân tích mà không kiểm soát có thể đẩy URL lên hàng trăm ký tự. Khi chia sẻ qua email hoặc mạng xã hội, URL dài có thể bị cắt ngắn, gây ra liên kết hỏng
- Dấu gạch chéo cuối không nhất quán: Xử lý
/blog/và/blognhư các URL khác nhau tạo ra vấn đề nội dung trùng lặp. Chuẩn hóa một định dạng bằng URL canonical và chuyển hướng 301 - Chữ hoa chữ thường lẫn lộn trong URL: Hầu hết máy chủ web (dựa trên Linux) xử lý URL phân biệt chữ hoa chữ thường, vì vậy
/Blog/Articlevà/blog/articletrỏ đến các tài nguyên khác nhau. Sử dụng nhất quán URL chữ thường tránh nhầm lẫn và nội dung trùng lặp
Kỹ thuật thiết kế URL chuyên nghiệp
- Sử dụng slug tiếng Anh với dấu gạch ngang: Phân tách từ bằng dấu gạch ngang (
-) thay vì dấu gạch dưới (_). Google coi dấu gạch ngang là dấu phân tách từ nhưng không nhận dạng dấu gạch dưới theo cách tương tự, khiến dấu gạch ngang là lựa chọn tốt hơn cho SEO - Chuyển truy vấn phức tạp sang body POST: Thay vì mã hóa các bộ lọc tìm kiếm phức tạp trong tham số GET, hãy sử dụng yêu cầu POST với body JSON. Điều này loại bỏ sự phụ thuộc vào độ dài URL và tạo ra kiến trúc mạnh mẽ hơn
- Sử dụng domain riêng cho URL ngắn: Dịch vụ rút gọn URL (bit.ly, t.co) hữu ích cho chia sẻ mạng xã hội, nhưng thêm độ trễ chuyển hướng và tạo ra điểm lỗi đơn. Vận hành URL ngắn trên domain riêng (
example.com/go/xxx) cung cấp độ tin cậy dài hạn và kiểm soát phân tích tốt hơn - Hiểu sự khác biệt giữa ký tự và byte: Nhận biết cách ký tự và byte khác nhau giúp bạn ước tính mức mở rộng mã hóa trước. Đối với URL có ký tự đa byte, tránh nhầm lẫn giới hạn dựa trên ký tự với giới hạn dựa trên byte
Kết luận
Giữ URL ngắn, mô tả và giàu từ khóa. Nhắm đến dưới 75 ký tự trong đường dẫn để có sự cân bằng tốt nhất giữa hiệu suất SEO và trải nghiệm người dùng. Ngay cả khi chỉ nhắm đến trình duyệt hiện đại, giới hạn máy chủ và CDN (4.096–8.192 byte) trở thành nút thắt cổ chai thực tế, vì vậy hãy xem xét giới hạn dựa trên byte cùng với số ký tự. Tính đến mức mở rộng mã hóa phần trăm với ký tự không phải ASCII (1 ký tự → 9 ký tự cho CJK), cẩn thận với cạm bẫy mã hóa kép, giới hạn tham số theo dõi và giữ tổng độ dài URL dưới 2.000 ký tự để tương thích phổ quát. Sử dụng Bộ đếm ký tự để kiểm tra độ dài URL của bạn trong quá trình lập kế hoạch trang web.