URL yolları büyük / küçük harfe duyarlı mı olmalı?


11

Web sitemin URL'leri şu anda büyük / küçük harfe duyarlı değil. Örneğin, aşağıdaki bağlantıların her ikisi de aynı sayfayı gösterir:

  • http://example.com/about
  • http://example.com/About

Ancak, wordpress.org web sitesine baktığımda, URL'lerin büyük / küçük harfe duyarlı olduğunu fark ettim. Örneğin, aşağıdaki ikinci bağlantı bir 404 hata sayfasıdır:

  • http://wordpress.org/about
  • http://wordpress.org/About

Düşüncelerim, web sitemin URL'lerini büyük / küçük harfe duyarlı hale getirmek. Yinelenen içerikten kaçınma konusundaki bariz sorunun yanı sıra, büyük / küçük harfe duyarlı URL'lere sahip olmanın avantajları ve dezavantajları nelerdir?

Güncelleme

Google, kendi URL'lerinde büyük / küçük harfe duyarlı bir URL politikası uygulamaktadır. Örneğin, aşağıdaki ikinci bağlantı bir 404'tür:

  • http://google.com/doodles
  • http://google.com/Doodles

Güncelleme 2

Cevaplarınız için teşekkürler. Kabul edilen cevapta belirtilen tavsiyeleri almaya ve gerektiğinde 301 yönlendirmelerini uygulamaya karar verdim. WordPress ile çalıştığım için, kod çözümüm aşağıdaki gibidir (herkes ilgilenirse):

function force_lowercase_urls() {

    if ( is_admin() )
        return;

    if ( preg_match( '/[A-Z]/', $_SERVER['REQUEST_URI'] ) ) {

        wp_redirect( strtolower( $_SERVER['REQUEST_URI'] ), 301 );
        exit();
    }

}
add_action( 'init', 'force_lowercase_urls' );

1
But wouldn't that result in duplicate content? – henrywrightSiteniz standart bağlantıları doğru kullanıyorsa ve 1 sayfanın milyonlarca yoldan erişmesini ve yinelenen içerikten hiçbir zaman etkilenmemesi durumunda asla yinelenen bağlantılar konusunda endişelenmenize gerek yoktur.
Simon Hayter

@bybe Milyonlarca yoldan erişilen bir sayfanız varsa, Googlebot sitenizi iyi tarayamaz. Sayfanın birkaç yolla erişmesi zarar vermez.
Stephen Ostermiller

Yanıtlar:


6

Web içeriği sunmak için en yaygın kullanılan işletim sistemi dosya sistemlerinden ikisi, varsayılan olarak URL'lerin büyük / küçük harf duyarlılığı için çok farklı ayarlara sahiptir. URL'lerinizin büyük / küçük harfe duyarlı olup olmadığı büyük olasılıkla kullandığınız bir işlevdir:

  • Windows üzerinde çalışan Microsoft IIS - büyük / küçük harfe duyarlı olmayan URL'ler - büyük / küçük harf kullanımına bakmaksızın aynı içeriği gösterir.
  • Linux'ta çalışan Apache HTTPD Sunucusu - büyük / küçük harfe duyarlı URL'ler - hatalı büyük harf kullanımı için 404 bulunamadı hatası verir.

Bence, her iki varsayılan da idealdir:

  • Büyük / küçük harf kullanımına bakmaksızın aynı içeriği göstermek web sitenizi taramayı zorlaştırır. Arama motorları, birden çok URL'deki aynı içeriği yinelenen içerik olarak kabul eder.
  • Hatalı büyük harf kullanımı için hata sayfalarının gösterilmesi kullanıcı dostu değildir. Kullanıcılar yazdıklarında genellikle büyük harf kullanımına dikkat etmezler.

İdeal çözüm, sayfayı yalnızca URL doğru şekilde büyük harfle yazıldığında göstermek olacaktır. Yanlış büyük harf kullanımı için, kullanıcı 301 tercih edilen büyük harf kullanımına yönlendirilmelidir. Bunun başarılmasının bazı yolları vardır:


1
Bunun DOS ve Windows'un Unix ortamlarında sahip olduğumuz önceki durum duyarlılığı standardından sapan bir eser olduğunu hissediyorum.
Paz

1
Apache'nin dosya sistemine eşlenen istekler için büyük / küçük harfe duyarlı olup olmadığı Apache'nin kendisine değil temel dosya sistemine bağlıdır. Apache'yi Windows'ta çalıştırıyorsanız, istekte bulunur /iNdEx.HtMlveya /InDeX.hTmlher ikisi de geri döner /index.html( /index.htmldosya sisteminde fiziksel bir dosya olması koşuluyla).
MrWhite

1
Aslında, bu IIS için aynı görünüyor .
MrWhite

1
IIS her zaman Windows'ta (AFAIK) çalışır, bu nedenle dosya sistemi istekleri her zaman büyük / küçük harfe duyarlı değildir. Ancak, birçok site URL'leri bir tür ön denetleyici aracılığıyla yönlendirir (yeniden yazar) - bu durumda istek büyük olasılıkla dosya sistemindeki fiziksel bir dosyayla eşleşmez ve bu nedenle URL muhtemelen büyük / küçük harfe duyarlıdır (uygulama özellikle büyük / küçük harf duyarlı olmadıkça) -insensitive) - temel olarak Apache ile aynıdır (Windows'ta çalışırken). (?)
MrWhite

2
Aslında " URL'ler neden büyük / küçük harfe duyarlı? " Sorusunu araştırırken burada tökezledim . "IIS büyük / küçük harfe duyarsız" gibi ifadeler o kadar yaygındır ki, IIS'deki URL'ler her zaman büyük / küçük harfe duyarsızdır - en azından aldığım izlenim - hiç de öyle görünmüyor.
MrWhite

4

Google'ın arşivlenmiş bir canlı sohbet oturumundaki konumu (bağlantı artık öldü):

* URL'lerin tutarsız büyük harf kullanımı yinelenen içerik sorunlarına ve sayfa sıralamasının seyreltilmesine neden oluyor mu? Örneğin, www.site.com/abc vs www.site.com/Abc. Windows ana bilgisayarlarında, bunlar aynı sayfadır, ancak Unix ana bilgisayarlarındaki farklı sayfalardır.

JohnMu: Merhaba John, mevcut standartlara göre, URL'ler büyük / küçük harfe duyarlıdır, bu nedenle evet, bunlar ayrı URL'ler olarak görülür. URL'lerdeki içerik aynı olduğundan, genellikle bunu tanıyacağız ve bunlardan yalnızca birini koruyacağız. Ancak, tüm bağlantıların URL'nin bir sürümüne devam etmesini denemenizi öneririz. Bunun robots.txt dosyaları için de geçerli olduğunu unutmayın. *

IE Ekibi, bir dosya kasası kuralını seçmenizi ve performansı artırabileceğinden buna kesinlikle uymanızı önerir .


-2

RFC 3986 6.2.2.1 , URI'leri büyük / küçük harfe duyarlı değildir, bu nedenle wordpress.org gibi büyük / küçük harfe duyarlı hale getirmek iyi bir fikir değildir.


Ancak bu yinelenen içerikle sonuçlanmaz mı?

Aslında değil, çünkü arama motorları da büyük / küçük harfe duyarsız çalışmalıdır.

Şimdi soru şu ki, arama motorlarının üst ve alt kasalı URL'leri eşdeğer olarak görüntüleyip görüntülemediğini nasıl öğrenebilirim? Örneğin Google'ı ele alalım: google.com/Doodles ve google.com/doodles

10
Bu RFC, URL'nin yalnızca üç bölümünün durumunu ele alır. 1 - Protokol ( http://) - büyük / küçük harfe duyarsız, küçük harfe normalleştirin. 2 - Ana bilgisayar adı ( example.com) - büyük / küçük harfe duyarsız, küçük harfe normalleştirin. 3. Kodlanmış karakterlerin yüzdesi ( %3F) - büyük / küçük harfe duyarsız, büyük harfe normalleştirin. URL'nin geri kalanı genellikle büyük / küçük harfe duyarlıdır
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.