Giới hạn độ dài URL và phương pháp tốt nhất cho SEO

8 phút đọc

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 đaGhi chú
Chrome2.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ộ
Edge2.083.744 ký tựGiống Chrome (dựa trên Chromium)
Internet Explorer2.083 ký tựĐường dẫn 2.048 + truy vấn 2.048 giới hạn kết hợp
Apache8.177 ký tựMặc định; có thể cấu hình qua LimitRequestLine
Nginx4.096 ký tựMặc định; có thể cấu hình qua large_client_header_buffers
IIS16.384 ký tựMặc định; có thể cấu hình qua registry
Cloudflare32.768 byteTrả về lỗi 414 khi vượt quá
AWS ALB / CloudFront8.192 byteToà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:

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

  1. Sử dụng đường dẫn mô tả: /blog/seo-guide tốt hơn /p?id=123
  2. Giữ phân cấp nông: Giới hạn ở 2–3 cấp thư mục
  3. 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ủ
  4. Tránh stop word: "a," "the," "and" thêm độ dài mà không có giá trị SEO
  5. 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

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_mediumutm_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

Kỹ thuật thiết kế URL chuyên nghiệp

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.