Trong một now migrated question về URL con người có thể đọc được tôi cho phép bản thân mình để xây dựng một chút sở thích ngựa của tôi:URL có thể đọc được của con người: tốt nhất là phân cấp?
Khi tôi gặp các URL như
http://www.example.com/product/123/subpage/456.html
Tôi luôn luôn nghĩ rằng đây là một nỗ lực vào việc tạo ra các URL theo cấp bậc có ý nghĩa đó, tuy nhiên, không hoàn toàn phân cấp. Ý của tôi là, bạn sẽ có thể cắt giảm một cấp tại một thời điểm. Ở phía trên, URL có hai hành vi vi phạm về nguyên tắc này:
/product/123
là một mẩu thông tin biểu diễn như hai cấp độ. Nó sẽ được trình bày một cách chính xác hơn là/product:123
(hoặc bất kỳ dấu phân cách bạn thích)/subpage
rất có khả năng không phải là một thực thể tự nó (ví dụ, bạn không thể đi lên mức một từ456.html
nhưhttp://www.example.com/product/123/subpage
là "không có gì").Vì vậy, tôi tìm ra sau đúng hơn:
http://www.example.com/product:123/456.html
Ở đây, bạn luôn có thể di chuyển lên một cấp tại một thời điểm:
http://www.example.com/product:123/456.html
— Các trang conhttp://www.example.com/product:123
— Trang sản phẩmhttp://www.example.com/
— GốcTiếp theo cùng một triết lý, những điều sau đây sẽ có ý nghĩa [và cung cấp một liên kết bổ sung vào danh sách các sản phẩm]:
http://www.example.com/products/123/456.html
đâu:
http://www.example.com/products/123/456.html
— Trang conhttp://www.example.com/products/123
— Các trang sản phẩmhttp://www.example.com/products
— Danh mục sản phẩmhttp://www.example.com/
— Gốc
động lực chính khiến tôi phương pháp này là nếu mỗi "con đường yếu tố" (giới hạn bởi /
) là selfcontained , bạn sẽ luôn có thể điều hướng đến "cha mẹ" bằng cách xóa phần tử cuối cùng của URL. Đây là những gì tôi (đôi khi) làm trong trình thám hiểm tệp của tôi khi tôi muốn đi đến thư mục mẹ. Theo cùng một dòng logic, người dùng (hoặc công cụ tìm kiếm/trình thu thập thông tin) có thể làm tương tự. Khá thông minh, tôi nghĩ vậy.
Mặt khác (và điều này là bit quan trọng của câu hỏi): Trong khi tôi không bao giờ có thể ngăn chặn điều đó một người dùng cố gắng truy cập một URL bản thân ông đã cụt, là tôi sai lầm khẳng định (và tôn vinh) mà một công cụ tìm kiếm có thể làm như vậy? I.e., là hợp lý để mong đợi rằng không có công cụ tìm kiếm (hoặc thực sự: Google) sẽ cố truy cập http://www.example.com/product/123/subpage
(điểm 2 ở trên)? (Hay tôi thực sự chỉ tính đến yếu tố con người vào đây?)
Đây không phải là câu hỏi về sở thích cá nhân. Đó là câu hỏi công nghệ về những gì tôi có thể mong đợi của một trình thu thập thông tin/indexer và những gì mở rộng tôi nên dùng thao tác URL không phải con người vào tài khoản khi thiết kế URL.
Ngoài ra, cấu trúc "chiều sâu" của http://www.example.com/product/123/subpage/456.html
là 4, trong đó http://www.example.com/products/123/456.html
chỉ là 3. Tin đồn rằng độ sâu này ảnh hưởng đến xếp hạng công cụ tìm kiếm. Ít nhất, vì vậy tôi đã nói. (Bây giờ hiển nhiên rằng SEO là không phải là những gì tôi biết nhiều nhất.) Đây có phải là (vẫn đúng): độ sâu phân cấp (số lượng thư mục) có ảnh hưởng đến xếp hạng tìm kiếm không?
Vì vậy, là "linh cảm" của tôi về mặt kỹ thuật hay tôi nên dành thời gian cho một thứ gì đó khác?
Ví dụ: Làm nó (hầu như) ngay
Tốt ol' SO bị này gần như ngay. Trường hợp tại điểm: cấu hình, ví dụ như, http://stackoverflow.com/users/52162
:
http://stackoverflow.com/users/52162
— Độc hồ sơhttp://stackoverflow.com/users
— Danh sách người dùnghttp://stackoverflow.com/
— gốc
Tuy nhiên, canonical URL cho cấu hình thực sự là http://stackoverflow.com/users/52162/jensgram
mà dường như dư thừa (cùng một điểm kết thúc đại diện cho hai cấp độ phân cấp). Thay thế: http://stackoverflow.com/users/52162-jensgram
(hoặc bất kỳ dấu phân cách nào khác được sử dụng nhất quán).
1) Mang một mảnh hoàn chỉnh các thông tin không phụ thuộc vào yếu tố "sâu hơn".
Và việc theo dõi câu hỏi được di chuyển của bạn là chủ đề ở đây vì câu hỏi có chứa câu hỏi lập trình ...? –
@Pascal Cuoq Không, không nhất thiết (và đó không phải là câu hỏi của tôi, chỉ là "câu trả lời" của tôi). Có lẽ điều này cũng nên được chuyển sang "Pro Webmasters" nhưng tôi không biết câu hỏi đó có được trả lời hay nhất bởi "lập trình viên chuyên nghiệp và người đam mê" hay "người quản trị web chuyên nghiệp và đam mê". – jensgram
Tôi không đồng ý rằng "sản phẩm/123" chỉ là một phần thông tin; trạng thái mức đầu tiên "là loại sản phẩm" và trạng thái thứ hai "có id 123". – FacticiusVir