Wann sollte ein abschließender Schrägstrich in einer URL verwendet werden? Zum Beispiel - sollte meine URL so aussehen /about-us/
oder so aussehen /about-us
?
Ich bin mir der SEO-Probleme voll bewusst - doppelte Inhalte und die kanonische Sache; Ich versuche herauszufinden, welche ich im Zusammenhang mit der korrekten Bereitstellung von Seiten allein verwenden soll.
Zum Beispiel denkt mein Kollege, dass ein abschließender Schrägstrich am Ende bedeutet, dass es sich um einen "Ordner" handelt - ein "Verzeichnis", daher ist dies kein korrekter Stil. Aber ich denke das ohne Schrägstrich am Ende - es ist auch nicht ganz richtig, weil es fast wie ein Ordner aussieht, aber es ist nicht und es ist auch keine normale Datei, sondern ein Dateiname ohne Erweiterung.
Gibt es eine richtige Methode, um zu wissen, welche zu verwenden ist?
Antworten:
Nach meiner persönlichen Meinung werden nachgestellte Schrägstriche missbraucht.
Grundsätzlich stammte das URL-Format aus demselben UNIX-Format von Dateien und Ordnern, später auf DOS-Systemen, und wurde schließlich für das Web angepasst.
Quelle: Wikipedia: Uniform Resource Identifier
Eine weitere gute Quelle zum Lesen: Wikipedia: URI Scheme
Quelle: Wikipedia Uniform Resource Locator (URL)
Ebenfalls:
Quelle: Google WebMaster Central Blog - Schrägstrich oder nicht Schrägstrich
Schließlich:
Ein Schrägstrich am Ende der URL lässt die Adresse "hübsch" aussehen.
Eine URL ohne Schrägstrich am Ende und ohne Erweiterung sieht etwas "komisch" aus.
Sie werden Ihre CSS-Datei (zum Beispiel) niemals http://www.sample.com/stylesheet/ benennen , oder?
ABER ich bin ein Befürworter von Web-Best Practices, unabhängig von der Umgebung. Es kann wackelig und unklar sein, genau wie Sie über die URL ohne ext gesagt haben.
quelle
index.html
(oder ähnlich benannten Datei) , wenn ein Verzeichnis zugegriffen wird, so/foo/
ist/foo/index.html
ohne die zusätzliche Verwirrung. In der Vergangenheit haben Browser auch/
an den Domainnamen angehängt, aber sie (Firefox, Chrome, Opera) haben sich seitdem geändert, um das/
beim Zugriff auf die Homepage wegzulassen .Es ist keine Frage der Präferenz.
/base
und/base/
haben unterschiedliche Semantik. In vielen Fällen ist der Unterschied unwichtig. Es ist jedoch wichtig, wenn relative URLs vorhanden sind.child
relativ zu/base/
ist/base/child
.child
relativ zu/base
ist (vielleicht überraschend)/child
.quelle
Uri.MakeRelativeUri
. Die Ergebnisse spiegeln genau das wider, was Sie gesagt haben. Ich habe das Problem behoben, indem ich den abschließenden Schrägstrich zu meiner Basis hinzugefügt habeUri
.Ich bin immer wieder überrascht über die weit verbreitete Verwendung von abschließenden Schrägstrichen bei Nicht-Verzeichnis-URLs (unter anderem WordPress). Dies sollte wirklich keine Entweder-Oder-Debatte sein, da es semantisch falsch ist, einen Schrägstrich nach einer Ressource zu setzen. Das Web wurde entwickelt, um adressierbare Ressourcen bereitzustellen, und diese Adressen - URLs - wurden entwickelt, um eine Dateisystemhierarchie im * nix-Stil zu emulieren. In diesem Zusammenhang:
Nach diesen Richtlinien ist es falsch, einen Schrägstrich nach einer Nicht-Verzeichnis-Ressource zu setzen.
quelle
directory
(andernfalls würdeimage.png
inhttp://hostname/directory
darauf verweisenhttp://hostname/image.png
). Ich habe nur gesagt, dass die Unterscheidung zwischen einer Datei und einem Verzeichnis aus Sicht des Benutzers möglicherweise nicht sehr wichtig ist.Das ist nicht wirklich eine Frage der Ästhetik, sondern ein technischer Unterschied. Das Verzeichnis, das daran denkt, ist völlig korrekt und erklärt so ziemlich alles. Lass es uns herausfinden:
Sie sind jetzt zurück in der Steinzeit oder bedienen nur statische Seiten
Sie haben eine feste Verzeichnisstruktur auf Ihrem Webserver und nur statische Dateien wie Bilder, HTML usw. - keine serverseitigen Skripte oder was auch immer.
Ein Browser fordert an
/index.htm
, es existiert und wird an den Client geliefert. Später haben Sie viele - sagen wir - DVD-Filme überprüft und eine HTML-Seite für jeden von ihnen im/dvd/
Verzeichnis. Jetzt fragt jemand/dvd/adams_apples.htm
und es wird geliefert, weil es da ist.Irgendwann fordert jemand nur noch an
/dvd/
- das ist ein Verzeichnis, und der Server versucht herauszufinden, was zu liefern ist. Neben Zugangsbeschränkungen und so weiter gibt es zwei Möglichkeiten: Zeigen Sie dem Benutzer den Verzeichnisinhalt (Ich wette , Sie schon das irgendwo gesehen haben) oder eine Standarddatei zeigen (in Apache ist:DirectoryIndex: sets the file that Apache will serve if a directory is requested.
)So weit so gut, das ist der erwartete Fall. Es zeigt bereits den Unterschied in der Handhabung, also lasst uns darauf eingehen:
Um 5:34 Uhr haben Sie beim Hochladen Ihrer Dateien einen Fehler gemacht
(Was übrigens völlig verständlich ist.) Sie haben also etwas völlig Falsches getan und statt hochzuladen, haben
/dvd/the_big_lebowski.htm
Sie diese Datei alsdvd
(ohne Erweiterung) hochgeladen/
.Jemand hat Ihre
/dvd/
Verzeichnisliste mit einem Lesezeichen versehen (natürlich wollten Sie diese raffinierte Liste nicht erstellen und immer aktualisierenindex.htm
) und besucht Ihre Website. Verzeichnisinhalte werden geliefert - alles in Ordnung.Jemand hat von Ihrer Liste gehört und tippt
/dvd
. Und jetzt ist es geschraubt. Anstelle Ihres DVD-Verzeichnisses findet der Server eine Datei mit diesem Namen und liefert Ihre Big Lebowski-Datei.Also löschst du diese Datei und sagst dem Kerl, er solle die Seite neu laden. Ihr Server sucht nach der
/dvd
Datei, aber sie ist weg. Die meisten Server werden dann feststellen, dass es ein Verzeichnis mit diesem Namen gibt, und dem Client mitteilen, dass das Gesuchte tatsächlich woanders ist. Die Antwort wird höchstwahrscheinlich sein:Status Code:301 Moved Permanently
mitLocation: http://[...]/dvd/
Also völlig ignorieren, was Sie Ihre Meinung zu Verzeichnissen oder Dateien , kann der Server nur mit solchen Dingen umgehen und entscheidet - sofern nicht anders angegeben - für Sie über die Bedeutung von "Schrägstrich oder nicht".
Nachdem diese Antwort empfangen wurde, wird der Client geladen
/dvd/
und alles ist in Ordnung.Ist es in Ordnung? Nein.
"Gut" ist nicht gut genug für dich
Sie haben eine dynamische Seite, auf der alles übergeben
/index.php
und verarbeitet wird. Bis jetzt hat alles ganz gut funktioniert, aber das Ganze fühlt sich langsamer an und Sie untersuchen.Bald werden Sie feststellen, dass
/dvd/list
genau das Gleiche/dvd/list/
geschieht : Die Umleitung, in die dann intern übersetzt wirdindex.php?controller=dvd&action=list
. Eine zusätzliche Anfrage - aber noch schlimmer!customer/login
Weiterleitungen, zucustomer/login/
denen wiederum zur HTTPS-URL von umgeleitet wirdcustomer/login/
. Sie haben am Ende Tonnen unnötiger HTTP-Weiterleitungen (= zusätzliche Anforderungen), die die Benutzererfahrung verlangsamen.Höchstwahrscheinlich haben Sie auch hier einen Standardverzeichnisindex:
index.php?controller=dvd
ohneaction
einfach internes Ladenindex.php?controller=dvd&action=list
.Zusammenfassung:
Wenn es damit endet
/
, kann es niemals eine Datei sein. Kein Server erraten.Schrägstrich oder kein Schrägstrich sind völlig unterschiedliche Bedeutungen. Es gibt einen technischen / Ressourcenunterschied zwischen "Schrägstrich oder kein Schrägstrich", und Sie sollten sich dessen bewusst sein und ihn entsprechend verwenden. Nur weil der Server höchstwahrscheinlich
/dvd/index.htm
das richtige Skriptmaterial lädt - oder lädt -, wenn Sie sagen/dvd
: Es tut es, aber nicht, weil Sie die richtige Anfrage gestellt haben. Welches wäre gewesen/dvd/
.Wenn Sie den Schrägstrich weglassen, auch wenn Sie tatsächlich die Schrägstrichversion meinen, erhalten Sie eine zusätzliche Strafe für HTTP-Anforderungen. Was immer schlecht ist (denken Sie an die mobile Latenz) und mehr Gewicht hat als eine "hübsche URL" - zumal Crawler nicht so dumm sind, wie SEOs glauben oder wollen, dass Sie glauben;)
quelle
dvd
)?Wenn Sie Ihre URL zu machen
/about-us/
(mit dem Schrägstrich), ist es einfach , mit einer einzigen Datei zu startenindex.html
und sie dann später erweitern und mehr Dateien (zB hinzufügenour-CEO-john-doe.jpg
) oder sogar eine Hierarchie unter ihm bauen (zB/about-us/company/
,/about-us/products/
usw.) je nach Bedarf, ohne Ändern der veröffentlichten URL . Dies gibt Ihnen eine große Flexibilität.quelle
/about-us
oder sie/about-us/
in beiden Fällen noch ändern muss, wenn ich das Verzeichnis erweitert habe. Die neue Datei wird/about-us/new-file.html
in beiden Fällen sein !! Was vermisse ich hier?/about-us
und geben/about-us/company
? In Bezug auf die Bereitstellung der Dateien können sowohl Apache als auch IIS problemlos damit umgehen, daher bin ich anderer Meinung./about-us
Sie einen Link zu erstellen möchten/about-us/company
, müssen Siehref="https://stackoverflow.com/about-us/company"
oder verwendenhref="./company"
(sind sich jedoch nicht sicher). Wenn Sie jedoch eingeschaltet sind/about-us/
, ist es einfach :href="company"
.Andere Antworten hier scheinen es zu begünstigen, den abschließenden Schrägstrich wegzulassen. Es gibt einen Fall, in dem ein abschließender Schrägstrich bei der Suchmaschinenoptimierung (SEO) hilft. Dies ist der Fall, wenn Ihr Dokument eine Dateierweiterung aufweist, die dies nicht ist
.html
. Dies wird zu einem Problem bei Websites, die Websites bewerten. Sie könnten zwischen diesen beiden URLs wählen:http://mysite.example.com/rated.example.com
http://mysite.example.com/rated.example.com/
In einem solchen Fall würde ich den mit dem abschließenden Schrägstrich wählen . Dies liegt daran, dass die
.com
Erweiterung eine Erweiterung für ausführbare Windows-Befehlsdateien ist. Suchmaschinen und Virenprüfer mögen häufig keine URLs, die Malware enthalten, die über solche Mechanismen verbreitet wird. Der abschließende Schrägstrich scheint alle Bedenken auszuräumen, sodass die Seite in Suchmaschinen rangieren und von Virenprüfern erfasst werden kann.Wenn Ihre URLs keine
.
Dateien enthalten, würde ich der Einfachheit halber empfehlen, den abschließenden Schrägstrich wegzulassen.quelle
Wer sagt, dass ein Dateiname eine Erweiterung benötigt? Werfen Sie irgendwann einen Blick auf eine * nix-Maschine ...
Ich stimme Ihrem Freund zu, kein abschließender Schrägstrich.
quelle
Aus SEO-Sicht ist es unerheblich, ob am Ende einer URL ein abschließender Schrägstrich eingefügt werden soll oder nicht. Heutzutage ist es üblich, Beispiele für beides im Internet zu sehen. Eine Website wird weder bestraft noch beeinflusst diese Auswahl das Suchmaschinenranking Ihrer Website oder andere SEO-Überlegungen.
Wählen Sie einfach eine URL-Namenskonvention, die Sie bevorzugen, und fügen Sie ein kanonisches Meta-Tag in den
<head>
Abschnitt jeder Webseite ein.Suchmaschinen können eine einzelne Webseite als zwei separate doppelte URLS berücksichtigen , wenn sie es mit und ohne Schrägstrich begegnen, das heißt
example.com/about-us/
undexample.com/about-us
.Es wird empfohlen, auf jeder Seite ein kanonisches Meta-Tag einzufügen, da Sie nicht steuern können, wie andere Websites auf Ihre URLs verlinken.
Das kanonische Tag sieht folgendermaßen aus :
<link rel="canonical" href="https://example.com/about-us" />
. Durch die Verwendung eines kanonischen Meta-Tags wird sichergestellt, dass Suchmaschinen jede Ihrer URLs nur einmal zählen, unabhängig davon, ob andere Websites beim Verknüpfen mit Ihrer Website einen abschließenden Schrägstrich enthalten.quelle