Sollten meine URLs klein geschrieben sein?


17

Laut diesem Blog ("SEO Friendly URL Syntax Practices verstehen") sollte ich das ändern

http://example.com/Hello-Dolly

Zu

http://example.com/hello-dolly

Die Gründe dafür sind:

  • URLs unterscheiden im Allgemeinen zwischen Groß- und Kleinschreibung
  • Dies vereinfacht alle case sensitive SEO- und Analytics-Reports

Gemäß diesem GIF, das ich im Wikipedia-Artikel zur URL-Normalisierung gefunden habe, sollte ich meine URLs von Groß- in Kleinbuchstaben konvertieren.

Ich verwende jedoch ASP.NET MVC und meine URLs sind standardmäßig wie folgt aufgebaut ( CamelCase ):

http://www.example.com/Controller/Action/Parameter

http://www.example.com/Categories/List/Bicycles

Ich habe den RFC1738 durchgesehen, aber keine endgültigen Antworten darauf gefunden.

Sollte ich alles tun, um das Framework zu zwingen, alles in Kleinbuchstaben umzuwandeln? Warum hat Microsoft das Framework so gestaltet, wenn alle mir Kleinbuchstaben vorschreiben?


3
Tolle Frage und wunderbare Präsentation Ihrer Anfrage an die Community hier auf webmasters.stackexchange.com! Sie haben auch zu diesem Thema wirklich Ihre Hausaufgaben gemacht, bevor Sie gefragt haben!
DVNKISS

Ich stieß auf ein Problem, bei dem ein Proxy die angeforderte URL in Kleinbuchstaben änderte - und bei Anfragen an einen Linux-Server, auf dem sich eine Seite in meinem Unterverzeichnis ./SO/ befand (wo ich Beispiele für Stackoverflow anführte), eine 404 verursachte. Das ist ein Anwendungsfall, in dem Kleinbuchstaben einen Unterschied machen (Sie können behaupten, der Proxy wurde schlecht codiert, aber das ist das wirkliche Leben ...)
Floris

Antworten:


10

Should I go out of my way to force the framework to change everything to lower case?

Nein, das ist nicht nötig. Bei Windows-Betriebssystemen wird die Groß- und Kleinschreibung nicht berücksichtigt, einschließlich der Server-Betriebssysteme und der Framework-Anwendungen. Linux / Unix-Betriebssysteme unterscheiden jedoch zwischen Groß- und Kleinschreibung.

Internetbasierte Anwendungen (z. B. Browser) sollten URLs normalisieren , wie in Abschnitt 6 von RFC 3986 beschrieben :

Einer der häufigsten Vorgänge bei URIs ist der einfache Vergleich: Ermitteln, ob zwei URIs gleichwertig sind, ohne die URIs für den Zugriff auf die jeweiligen Ressourcen zu verwenden. Bei jedem Zugriff auf einen Antwortcache wird ein Vergleich durchgeführt, ein Browser überprüft seinen Verlauf, um einen Link einzufärben, oder ein XML-Parser verarbeitet Tags in einem Namespace. Umfassende Normalisierung vor dem Vergleich von URIs wird häufig von Spidern und Indexing-Engines verwendet, um einen Suchbereich zu beschneiden oder die Duplizierung von Anforderungsaktionen und Antwortspeicher zu reduzieren.

Da Sie zweifellos einen Windows-Server verwenden, werden die angeforderten URLs und URIs einwandfrei an die Clientanwendungen zurückgegeben.


In Bezug auf Suchmaschinen, wie im obigen RFC und in Ihrem Wikipedia-Link zur URL-Normalisierung angegeben :

Suchmaschinen verwenden die URL-Normalisierung, um Webseiten einen höheren Stellenwert einzuräumen und die Indizierung doppelter Seiten zu reduzieren.

Und als Quellen wie dieser Bericht zum Thema:

In jüngerer Zeit begann Google besser zu verstehen, dass /page1.html und /Page1.html nur zwei Instanzen desselben Inhalts waren.


Why did Microsoft choose to design their framework like this if everybody is telling me to use lowercase?

Es ist kompatibel mit ihrem Betriebssystem und technisch nicht inkorrekt gemäß den RFCs. Sie haben auch ihre eigene Art, Dinge zu tun, was Webmaster immer wieder erraten :-)


1
Tolle Antwort, ich wollte eine sehr ähnliche Antwort posten, aber du hast mich geschlagen! "Warum hat Microsoft beschlossen, das Framework so zu gestalten, wenn alle mir Kleinbuchstaben vorschreiben? ... Sie haben auch ihre eigene Vorgehensweise, die Webmaster immer wieder davon überzeugt." - Lieb das bisschen. Microsoft hat, soweit ich mich erinnern kann, eigene Mittel, um Entwickler / Webmaster dazu zu bringen, sich an ihre strengen Regeln zu halten!
DVNKISS

4

Ich weiß nicht, dass Sie es ändern sollten, aber Sie sollten darauf achten, konsequent zu sein.

Ich habe dies vor ein paar Jahren untersucht und Googles Standard war der Fall, bevor die TLD keine Rolle spielt, aber nachdem die TLD es tut.

Zu der Zeit arbeitete ich an einer nicht mehr existierenden Site namens BusinessForPhotographers.com; anscheinend wird das konsequent als case insensitiv behandelt.

Nach dem .comist eine andere Sache. Google-Ansichten /Great-Articleunterscheiden sich von /great-article, auch wenn Sie sie vom Server an denselben Ort weiterleiten lassen.

Dies kann Auswirkungen auf die Kanonisierung und das Duplizieren von Inhalten haben. Ich denke, die sicherste Methode wäre, eine 301-Umleitung auf die richtige Version zu erzwingen.

Während dies über einen Dienst wie YouTube sinnlos erscheinen mag, ist /A1B2C3die gleiche URL wie /a1b2c3?

Nicht in Googles Augen.


3

URI-Pfade unterscheiden zwischen Groß- und Kleinschreibung (sofern nicht anders definiert). Siehe den URI-Standard STD 66, Abschnitt 6.2.2.1. Fallnormalisierung :

Bei den anderen generischen Syntaxkomponenten wird zwischen Groß- und Kleinschreibung unterschieden, sofern das Schema nichts anderes definiert

Wenn Großbuchstaben in HTTP-URI-Pfaden für einige Benutzer ein Problem darstellen würden, wäre die Wikipedia für sie fehlerhaft. Diese beiden HTTP-URIs (die sich nur in Klein- ound Großbuchstaben unterscheiden O) führen zu unterschiedlichen Seiten:

Also nein, Sie nicht haben , um Ihre URIs zu ändern.

Wenn möglich (wenn Sie den Fall nicht verwenden, wie es Wikipedia tut), wäre es jedoch eine gute Praxis , alle Fallvarianten zuzulassen und 301 zu einer kanonischen Variante umzuleiten.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.