Sollten URL-Pfade zwischen Groß- und Kleinschreibung unterscheiden?

11

Bei den URLs meiner Website wird derzeit nicht zwischen Groß- und Kleinschreibung unterschieden. Beispielsweise zeigen beide der folgenden Links genau dieselbe Seite:

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

Beim Blick auf die Website wordpress.org habe ich jedoch festgestellt, dass bei URLs zwischen Groß- und Kleinschreibung unterschieden wird. Der zweite Link unten ist beispielsweise eine 404-Fehlerseite:

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

Meine Gedanken sind, die URLs meiner Website zwischen Groß- und Kleinschreibung zu unterscheiden. Was sind die Vor- und Nachteile von URLs, bei denen zwischen Groß- und Kleinschreibung unterschieden wird, abgesehen von dem offensichtlichen Problem, doppelte Inhalte zu vermeiden?

Aktualisieren

Google scheint eine URL-Richtlinie zu verwenden, bei der zwischen Groß- und Kleinschreibung unterschieden wird. Der zweite Link unten ist beispielsweise ein 404:

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

Update 2

Danke für deine Antworten. Ich beschloss, den in der akzeptierten Antwort genannten Rat zu befolgen und erforderlichenfalls 301 Weiterleitungen zu implementieren. Da ich mit WordPress arbeite, lautet meine Codelösung wie folgt (falls jemand interessiert ist):

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' );
Henrywright
quelle
1
But wouldn't that result in duplicate content? – henrywrightSie müssen sich keine Gedanken über doppelte Links machen, wenn Ihre Website kanonische Links korrekt verwendet und Sie auf eine Seite millionenfach zugreifen können und niemals von doppelten Inhalten betroffen sind.
Simon Hayter
@bybe Wenn auf eine Seite auf Millionen von Arten zugegriffen wurde, kann Googlebot Ihre Website nicht gut crawlen. Es kann nicht schaden, wenn eine Seite auf eine Handvoll Arten aufgerufen wird.
Stephen Ostermiller

Antworten:

6

Zwei der am häufigsten verwendeten Betriebssystem-Dateisysteme zum Bereitstellen von Webinhalten haben standardmäßig sehr unterschiedliche Einstellungen für die Groß- und Kleinschreibung von URLs. Ob Ihre URLs zwischen Groß- und Kleinschreibung unterscheiden oder nicht, hängt wahrscheinlich von folgenden Funktionen ab:

  • Microsoft IIS unter Windows - URLs ohne Berücksichtigung der Groß- und Kleinschreibung - zeigt unabhängig von der Großschreibung denselben Inhalt an.
  • Apache HTTPD Server , der unter Linux ausgeführt wird - URLs, bei denen zwischen Groß- und Kleinschreibung unterschieden wird - gibt einen 404-Fehler aus, der bei falscher Großschreibung nicht gefunden wurde.

Meiner Meinung nach ist kein Standard ideal:

  • Das Anzeigen des gleichen Inhalts unabhängig von der Großschreibung erschwert das Crawlen Ihrer Website. Suchmaschinen betrachten denselben Inhalt auf mehreren URLs als doppelten Inhalt.
  • Das Anzeigen von Fehlerseiten für eine falsche Groß- und Kleinschreibung ist nicht benutzerfreundlich. Benutzer achten normalerweise nicht auf die Großschreibung, wenn sie tippen.

Die ideale Lösung wäre, die Seite nur anzuzeigen, wenn die URL korrekt groß geschrieben ist. Bei falscher Großschreibung sollte der Benutzer zur bevorzugten Großschreibung umgeleitet werden. Es gibt einige Möglichkeiten, wie dies erreicht werden kann:

Stephen Ostermiller
quelle
1
Ich denke, dies ist ein Artefakt von DOS und Windows, das von dem vorherigen Standard für die Groß- und Kleinschreibung in Unix-Umgebungen abweicht.
So
1
Ob Apache bei Anforderungen, die dem Dateisystem zugeordnet sind, zwischen Groß- und Kleinschreibung unterscheidet, hängt vom zugrunde liegenden Dateisystem ab, nicht von Apache selbst. Wenn Sie Apache unter Windows ausführen, fordern Sie beide an /iNdEx.HtMloder /InDeX.hTmlwerden beide zurückgeben /index.html(vorausgesetzt, es /index.htmlhandelt sich um eine physische Datei im Dateisystem).
MrWhite
1
Tatsächlich scheint dies für IIS dasselbe zu sein .
MrWhite
1
Nun, IIS läuft immer unter Windows (AFAIK), sodass bei Dateisystemanforderungen immer die Groß- und Kleinschreibung nicht berücksichtigt wird. Viele Websites leiten URLs jedoch über eine Art Front-Controller weiter (schreiben sie neu). In diesem Fall wird die Anforderung wahrscheinlich keiner physischen Datei im Dateisystem zugeordnet, sodass bei der URL wahrscheinlich zwischen Groß- und Kleinschreibung unterschieden wird (es sei denn, die App gibt dies ausdrücklich an -unempfindlich) - Dies entspricht im Wesentlichen Apache (unter Windows). (?)
MrWhite
2
Ich bin hier tatsächlich gestolpert, als ich die aktuelle / beschäftigte Frage " Warum wird bei URLs zwischen Groß- und Kleinschreibung unterschieden? " Recherchiert habe . Es scheint, dass Ausdrücke wie "IIS unterscheidet nicht zwischen Groß- und Kleinschreibung" (mehrmals in diesem anderen Thread erwähnt) so weit verbreitet sind, dass allgemein angenommen wird, dass URLs in IIS immer zwischen Groß- und Kleinschreibung unterscheiden - zumindest ist dies der Eindruck, den ich hatte - was scheint überhaupt nicht der Fall zu sein.
MrWhite
4

Hier ist die Position von Google aus einer archivierten Live-Chat-Sitzung (der Link ist jetzt tot):

* Verursacht eine inkonsistente Großschreibung von URLs doppelte Inhaltsprobleme und eine Verwässerung des Seitenrangs? Zum Beispiel www.site.com/abc vs www.site.com/Abc. Auf Windows-Hosts sind dies dieselben Seiten, auf Unix-Hosts jedoch unterschiedliche Seiten.

JohnMu: Hallo John, basierend auf den bestehenden Standards wird bei URLs zwischen Groß- und Kleinschreibung unterschieden. Ja, diese werden als separate URLs angesehen. Da der Inhalt der URLs identisch ist, erkennen wir dies im Allgemeinen und behalten nur einen davon bei. Wir empfehlen jedoch, dass Sie versuchen, alle Links zu einer Version der URL beizubehalten. Beachten Sie, dass dies auch für robots.txt-Dateien gilt. *

Das IE-Team empfiehlt , eine Dateigehäusekonvention auszuwählen und diese strikt einzuhalten, da dies die Leistung verbessern kann.

mvark
quelle
-2

RFC 3986 6.2.2.1 definiert URIs als unabhängig von Groß- und Kleinschreibung, daher ist es keine gute Idee, sie wie bei wordpress.org zwischen Groß- und Kleinschreibung zu unterscheiden.

Andreas Krischer
quelle
Aber würde das nicht zu doppelten Inhalten führen?
Eigentlich nicht, denn Suchmaschinen sollten auch ohne Berücksichtigung der Groß- und Kleinschreibung arbeiten.
Ich nehme an, die Frage ist jetzt, wie man herausfindet, ob Suchmaschinen URLs in Groß- und Kleinschreibung als gleichwertig ansehen. Nehmen wir zum Beispiel Google: Versuchen Sie es mit google.com/Doodles und google.com/doodles
10
Dieser RFC behandelt nur den Fall von drei Teilen der URL. 1 - Das Protokoll ( http://) - Groß- und Kleinschreibung nicht berücksichtigen, auf Kleinbuchstaben normalisieren. 2 - Der Hostname ( example.com) - Groß- und Kleinschreibung nicht berücksichtigen, auf Kleinbuchstaben normalisieren. 3. Prozentcodierte Zeichen ( %3F) - Groß- und Kleinschreibung wird nicht berücksichtigt, normalisiert auf Großbuchstaben. Der Rest der URL unterscheidet im Allgemeinen zwischen Groß- und Kleinschreibung
Stephen Ostermiller