URL Canonical cho một trang chủ và dấu gạch chéo


14

Trang chủ của tôi có thể được liên kết như:

http://example.com
http://example.com/
http://example.com/?ref=1
http://example.com/index.html
http://example.com/index.html?ref=2

(the same page is served for all those URLs)

Tôi đang suy nghĩ về việc xác định một URL chuẩn để đảm bảo Google không coi các url đó là các trang khác nhau:

<link rel="canonical" href="/webmasters//" /> (relative)
<link rel="canonical" href="http://example.com/" /> (trailing slash)
<link rel="canonical" href="http://example.com" /> (no trailing slash)

Nên dùng cái nào? Tôi sẽ chỉ tát /nhưng gây rối với kinh điển có vẻ như là một doanh nghiệp đáng sợ vì vậy tôi muốn kiểm tra lại trước.

Đây có phải là một ý tưởng tốt để xác định URL chuẩn cho trang chủ không?



Câu trả lời:


14

Theo RFC 2616 (HTTP / 1.1), phần 3.2.2 , các URL http://www.example.comhttp://www.example.com/tương đương nhau, và các máy khách HTTP phải chuẩn hóa cái trước cho cái sau trước khi gửi yêu cầu đến máy chủ:

"Nếu abs_path không có trong URL, thì PHẢI được đưa ra là" / "khi được sử dụng làm URI yêu cầu cho tài nguyên ( phần 5.1.2 )."

trong đó phần 5.1.2 nói:

"Lưu ý rằng đường dẫn tuyệt đối không thể trống; nếu không có đường dẫn nào trong URI gốc, thì nó PHẢI được đưa ra là" / "(gốc máy chủ)."

RFC 3986 (Cú pháp chung URI) xác nhận điều này trong phần 6.2.3, Chuẩn hóa dựa trên lược đồ , lưu ý rằng:

"Ví dụ: vì lược đồ" http "sử dụng thành phần quyền hạn, có cổng mặc định là" 80 "và xác định đường dẫn trống tương đương với" / ", bốn URI sau đây tương đương:

    http://example.com
    http://example.com/
    http://example.com:/
    http://example.com:80/

Nói chung, một URI sử dụng cú pháp chung cho quyền hạn với đường dẫn trống nên được chuẩn hóa thành đường dẫn "/". Tương tự, một cổng ": port" rõ ràng, trong đó cổng trống hoặc mặc định cho lược đồ, tương đương với cổng mà dấu phân cách ":" của cổng được tách ra và do đó nên được loại bỏ bằng cách chuẩn hóa dựa trên lược đồ. Ví dụ: URI thứ hai ở trên là dạng thông thường cho sơ đồ "http". "

Về mặt kỹ thuật, việc chuẩn hóa được mô tả trong RFC 3986, mục 6.2.3 là tùy chọn cho việc triển khai, ví dụ như chỉ là URL chỉ mục, mặc dù RFC 2616 bắt buộc đối với các khách hàng muốn thực sự gửi yêu cầu HTTP. Tuy nhiên, do tiêu chuẩn cho phép bình thường hóa như vậy và do các công cụ tìm kiếm thường không muốn cố tình thêm các bản sao vào chỉ mục của mình, người ta có thể chắc chắn một cách hợp lý rằng tất cả các công cụ tìm kiếm sẽ bình thường hóa tất cả các URL đó giống nhau.

Do đó, nó không có sự khác biệt đối với trình duyệt hoặc công cụ tìm kiếm cho dù bạn sử dụng http://www.example.comhay http://www.example.com/. Chúng tương đương nhau.


5
http://www.example.comhttp://www.example.com/có thể tương đương, nhưng http://www.example.com/chuẩn, vì đó là những gì URI phải được chuẩn hóa. Vì vậy, tôi sẽ sử dụng nó trong thẻ meta chính tắc.
Stephen Ostermiller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.