Bir ana sayfa ve sondaki eğik çizgiler için standart URL


14

Ana sayfam şu şekilde bağlanabilir:

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)

Google'ın bu URL'leri farklı sayfalar olarak görmediğinden emin olmak için standart bir URL tanımlamayı düşünüyorum:

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

Hangisi kullanılmalı? Sadece tokat /ama kanonik ile karışıklık korkunç bir iş gibi görünüyor bu yüzden ilk önce çift kontrol istedim.

Bir ana sayfa için standart bir URL tanımlamak hiç de iyi bir fikir mi?



Yanıtlar:


14

Göre RFC 2616 (HTTP / 1.1), bölüm 3.2.2 , URL'ler http://www.example.comve http://www.example.com/eşdeğer ve HTTP istemcileri sunucuya isteğini göndermeden önce ikinci eski normalleştirmek gerekir:

"Abs_path URL'de yoksa, bir kaynak için İstek URI'sı olarak kullanıldığında" / "olarak VERİLMELİDİR ( bölüm 5.1.2 )."

burada bölüm 5.1.2 diyor ki:

"Mutlak yolun boş olamayacağını unutmayın; orijinal URI'de hiçbiri yoksa," / "(sunucu kökü) olarak verilmelidir ZORUNLU."

RFC 3986 (URI Genel Sözdizimi) , Şema Tabanlı Normalizasyon bölüm 6.2.3'te şunları doğrular :

"Örneğin," http "şeması bir yetki bileşenini kullandığından, varsayılan olarak" 80 "bağlantı noktasına sahip olduğundan ve" / "ile eşdeğer olacak boş bir yol tanımladığından, aşağıdaki dört URI eşdeğerdir:

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

Genel olarak, boş bir yola sahip otorite için genel sözdizimini kullanan bir URI, "/" yoluna normalleştirilmelidir. Benzer şekilde, bağlantı noktasının boş olduğu veya şema için varsayılan olduğu açık bir ": bağlantı noktası", bağlantı noktasının ve onun ":" sınırlayıcısının seçildiği ve şema tabanlı normalleştirme ile kaldırılması gereken bir "eşdeğerdir". Örneğin, yukarıdaki ikinci URI "http" şeması için normal formdur.

Teknik olarak, RFC 3986 bölüm 6.2.3'te açıklanan normalleştirme, yalnızca URL'leri dizine ekleyen uygulamalar için isteğe bağlıdır, ancak RFC 2616, aslında HTTP istekleri göndermek isteyen istemciler için zorunlu hale getirir. Yine de, standardın böyle bir normalleşmeye izin verdiği ve arama motorlarının genellikle kasıtlı olarak dizinlerine kopya eklemek istemediği göz önüne alındığında , hemen hemen tüm arama motorlarının tüm bu URL'lerin aynı olmasını normalleştireceğinden makul olarak emin olabilirsiniz.

Böylece, her iki tarayıcılar için farketmez veya kullandığınız ister arama motorlarına http://www.example.comveya http://www.example.com/. Eşdeğerler.


5
http://www.example.comve http://www.example.com/eşdeğer olabilir, ama http://www.example.com/bir kanonik o URI'ları normalize edilmelidir şeydir çünkü biri. Bu yüzden kanonik meta etiketinde kullanırım.
Stephen Ostermiller
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.