Các phương pháp hay nhất về cấu trúc URL dành cho Google

Google hỗ trợ URL theo định nghĩa trong RFC 3986. Các ký tự được xác định là đặt trước theo tiêu chuẩn này phải được mã hoá bằng phần trăm. Các ký tự ASCII không đặt trước có thể để nguyên ở dạng không mã hóa. Ngoài ra, các ký tự ngoài phạm vi ASCII phải được mã hoá UTF-8.

Khi có thể, hãy sử dụng các từ dễ đọc thay cho các mã nhận dạng dài trong URL của bạn.

Nên dùng: Các từ mô tả đơn giản trong URL:

https://en.wikipedia.org/wiki/Aviation

Nên dùng: Các từ đã bản địa hoá trong URL (nếu có).

https://example.com/lebensmittel/pfefferminz

Nên dùng: Sử dụng phương thức mã hoá UTF-8 nếu cần. Ví dụ: ví dụ sau đây sử dụng phương thức mã hoá UTF-8 cho các ký tự tiếng Ả Rập trong URL:

https://example.com/%D9%86%D8%B9%D9%86%D8%A7%D8%B9/%D8%A8%D9%82%D8%A7%D9%84%D8%A9

Ví dụ sau đây sử dụng phương thức mã hoá UTF-8 cho các ký tự tiếng Trung trong URL:

https://example.com/%E6%9D%82%E8%B4%A7/%E8%96%84%E8%8D%B7

Ví dụ sau đây sử dụng phương thức mã hoá UTF-8 cho âm sắc tiếng Đức trong URL:

https://example.com/gem%C3%BCse

Ví dụ sau đây sử dụng phương thức mã hoá UTF-8 cho các biểu tượng cảm xúc trong URL:

https://example.com/%F0%9F%A6%99%E2%9C%A8

Không nên dùng: Dùng ký tự không phải ASCII trong URL:

https://example.com/نعناع
https://example.com/杂货/薄荷
https://example.com/gemüse
https://example.com/🦙✨

Không nên dùng: Mã nhận dạng dài và khó hiểu trong URL:

https://example.com/index.php?id_sezione=360&sid=3a5ebc944f41daa6f849f730f1

Không dùng mảnh để thay đổi nội dung của một trang, vì Google thường không hỗ trợ các phân mảnh của URL. Nếu đang dùng JavaScript để thay đổi nội dung, hãy chuyển sang sử dụng API Nhật ký.

Không nên dùng: Phân mảnh của URL:

https://example.com/#/potatoes

Nếu trang web của bạn nhắm đến nhiều khu vực, hãy cân nhắc sử dụng một cấu trúc URL giúp bạn dễ dàng nhắm mục tiêu trang web theo địa lý. Để xem thêm ví dụ về cấu trúc URL, hãy tham khảo nội dung sử dụng URL theo khu vực.

Nên dùng: Miền theo quốc gia cụ thể:

https://example.de

Nên dùng: Thư mục con theo quốc gia cụ thể với miền cấp cao nhất dùng chung (gTLD):

https://example.com/de/

Hãy cân nhắc sử dụng dấu gạch nối để phân tách các từ trong URL vì việc này sẽ giúp người dùng và công cụ tìm kiếm xác định các khái niệm trong URL một cách dễ dàng hơn. Bạn nên dùng dấu gạch nối (-) thay vì dấu gạch dưới (_) trong URL.

Nên dùng: Dấu gạch nối (-):

https://example.com/summer-clothing/filter?color-profile=dark-grey

Không nên dùng: Dấu gạch dưới (_):

https://example.com/summer_clothing/filter?color_profile=dark_grey

Không nên dùng: Các từ được viết liền nhau trong URL:

https://example.com/greendress

Khi chỉ định tham số URL, hãy sử dụng các phương pháp mã hoá phổ biến sau: dấu bằng (=) để phân tách các cặp khoá-giá trị và thêm các tham số khác bằng dấu và (&). Để liệt kê nhiều giá trị cho cùng một khoá trong một cặp khoá-giá trị, bạn có thể sử dụng mọi ký tự không xung đột với tiêu chuẩn IETF STD 66, chẳng hạn như dấu phẩy (,).

Nên: Sử dụng dấu bằng (=) để phân tách các cặp khoá-giá trị và dấu và (&) để thêm các tham số khác:

https://example.com/category?category=dresses&sort=low-to-high&sid=789

Nên: Sử dụng dấu phẩy (,) để liệt kê nhiều giá trị đối với cùng một khoá, dấu bằng (=) để phân tách các cặp khoá-giá trị và dấu và (&) để thêm các tham số khác:

https://example.com/category?category=dresses&color=purple,pink,salmon&sort=low-to-high&sid=789

Không nên: Dùng dấu hai chấm : để phân tách các cặp khoá-giá trị và dấu ngoặc [ ] để thêm các tham số khác

https://example.com/category?[category:dresses][sort:price-low-to-high][sid:789]

Không nên: Dùng dấu phẩy đơn (,) để phân tách các cặp khoá-giá trị và dấu phẩy kép (,,) để thêm các tham số khác

https://example.com/category?category,dresses,,sort,lowtohigh,,sid,789

Các vấn đề thường gặp liên quan đến URL

Các URL quá phức tạp, đặc biệt là URL chứa nhiều tham số, có thể gây ra vấn đề cho các trình thu thập dữ liệu. Lý do là các tham số này có thể tạo ra một số lượng lớn URL dư thừa trỏ đến nội dung giống nhau hoặc tương tự nhau trên trang web. Hậu quả là Googlebot có thể tốn nhiều băng thông hơn mức cần thiết, hoặc không thể lập chỉ mục hoàn chỉnh cho toàn bộ nội dung trên trang web.

Việc tồn tại một số lượng lớn URL không cần thiết có thể là do một số vấn đề. Trong đó có:

  • Bộ lọc bổ sung cho một nhóm mặt hàng. Nhiều trang web cung cấp các chế độ xem khác nhau cho cùng một nhóm mặt hàng hoặc kết quả tìm kiếm. Thường thì những trang web đó cho phép người dùng lọc nhóm này bằng các tiêu chí định sẵn (ví dụ: cho tôi xem các khách sạn trên bãi biển). Khi có thể kết hợp các bộ lọc theo kiểu bổ sung (ví dụ: các khách sạn trên bãi biển và có phòng tập thể dục) thì số lượng URL (chế độ xem dữ liệu) trong trang web sẽ tăng lên rất nhiều. Việc tạo một số lượng lớn các danh sách khách sạn chỉ khác nhau đôi chút là không cần thiết, vì Googlebot chỉ cần xem một số lượng nhỏ các danh sách đủ để từ đó truy cập trang của từng khách sạn. Ví dụ:
    • Các khách sạn có "mức giá tốt":
      https://example.com/hotel-search-results.jsp?Ne=292&N=461
    • Các khách sạn có "mức giá tốt" nằm trên bãi biển:
      https://example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240
    • Các khách sạn có "mức giá tốt", nằm trên bãi biển và có phòng tập thể dục:
      https://example.com/hotel-search-results.jsp?Ne=292&N=461+4294967240+4294967270
  • Tạo tài liệu theo phương thức động. Việc này có thể dẫn tới những thay đổi nhỏ do các bộ đếm, dấu thời gian hoặc quảng cáo.
  • Tham số trong URL gây ra vấn đề. Ví dụ: Các mã phiên có thể tạo số lượng bản sao khổng lồ và số lượng URL lớn.
  • Tham số sắp xếp. Một số trang mua sắm lớn đưa ra nhiều cách để sắp xếp cùng một nhóm mặt hàng, từ đó dẫn đến số lượng URL lớn hơn rất nhiều. Ví dụ:
    https://example.com/results?search_type=search_videos&search_query=tpb&search_sort=relevance&search_category=25
  • Tham số không liên quan trong URL, chẳng hạn như tham số giới thiệu. Ví dụ:
    https://example.com/search/noheaders?click=6EE2BF1AF6A3D705D5561B7C3564D9C2&clickPage=OPD+Product+Page&cat=79
    https://example.com/discuss/showthread.php?referrerid=249406&threadid=535913
    https://example.com/products/products.asp?N=200063&Ne=500955&ref=foo%2Cbar&Cn=Accessories.
  • Vấn đề liên quan đến lịch. Lịch tạo theo phương thức động có thể tạo ra các đường liên kết đến những ngày trong tương lai hoặc quá khứ mà không có giới hạn ngày bắt đầu hoặc ngày kết thúc. Ví dụ:
    https://example.com/calendar.php?d=13&m=8&y=2011
  • Đường liên kết tương đối bị hỏng. Các đường liên kết có liên quan bị hỏng thường tạo ra các khoảng trống vô hạn. Thông thường, sự cố này xuất hiện do các phần tử lặp lại trong đường dẫn. Ví dụ:
    https://example.com/index.shtml/discuss/category/school/061121/html/interview/category/health/070223/html/category/business/070302/html/category/community/070413/html/FAQ.htm

Giải quyết vấn đề liên quan đến URL

Để tránh các sự cố có khả năng xảy ra với cấu trúc URL, bạn nên:

  • Tạo một cấu trúc URL đơn giản. Hãy cân nhắc việc sắp xếp nội dung sao cho URL có cấu trúc hợp lý và dễ hiểu đối với con người.
  • Cân nhắc việc sử dụng tệp robots.txt để chặn Googlebot truy cập những URL có vấn đề. Thường thì hãy xem xét việc chặn các URL động, chẳng hạn như các URL tạo kết quả tìm kiếm hoặc URL tạo khoảng trống vô hạn (ví dụ: lịch). Việc dùng các biểu thức chính quy trong tệp robots.txt có thể giúp bạn dễ dàng chặn số lượng lớn URL.
  • Bất cứ khi nào có thể, hãy tránh sử dụng mã phiên trong URL. Hãy thử thay bằng cookie.
  • Nếu máy chủ web xử lý loại chữ hoa và chữ thường như nhau trong một URL, hãy chuyển đổi toàn bộ văn bản thành cùng một loại chữ để Google dễ dàng xác định những URL dẫn chiếu đến cùng một trang.
  • Bất cứ khi nào có thể, hãy rút ngắn URL bằng cách cắt bớt các tham số không cần thiết.
  • Nếu trang web của bạn có lịch vô hạn, hãy thêm thuộc tính nofollow vào đường liên kết đến các trang lịch được tạo theo phương thức động cho thời điểm trong tương lai.
  • Kiểm tra trang web của bạn để tìm các đường liên kết có liên quan bị hỏng.