Menschen lesbare URLs: vorzugsweise hierarchisch zu?
-
26-09-2019 - |
Frage
In einem jetzt migriert Frage über Menschen lesbare URLs ließ ich mich ein kleines Hobby-Pferd von mir zu erarbeiten:
Wenn ich URLs wie
http://www.example.com/product/123/subpage/456.html
begegne ich immer denken, dass dies ein Versuch ist, sinnvolle hierarchische URLs auf der Erstellung, die jedoch nicht ganz hierarchisch ist. Was ich meine ist, sollten Sie in der Lage sein abschneiden eine Ebene zu einer Zeit . In der oben die URL hat zwei Verletzungen auf diesem Prinzip:
/product/123
heißt ein Stück Information dargestellt als zwei Ebenen. Es wäre richtiger als/product:123
dargestellt werden (oder was auch immer Begrenzer Sie mögen)/subpage
ist sehr wahrscheinlich keine Einheit in sich selbst (das heißt, man kann nicht nach oben ein Niveau von456.html
alshttp://www.example.com/product/123/subpage
ist "nichts").Daher finde ich die folgenden korrektere:
http://www.example.com/product:123/456.html
Hier können Sie immer eine Ebene zu einer Zeit Ebene hoch:
http://www.example.com/product:123/456.html
- Die Unterseitehttp://www.example.com/product:123
- Die Produktseitehttp://www.example.com/
- Die WurzelNach der gleichen Philosophie, würde die folgende Sinn machen [und bietet einen zusätzlichen Link zu den Produkten Listing]:
http://www.example.com/products/123/456.html
Dabei gilt:
http://www.example.com/products/123/456.html
- Die Unterseitehttp://www.example.com/products/123
- Die Produktseitehttp://www.example.com/products
- Die Liste der Produktehttp://www.example.com/
- Die Wurzel
Meine primäre Motivation für diesen Ansatz ist, dass, wenn jedes „Pfadelement“ (von /
begrenzt) ist umluftunabhängigem 1 , werden Sie immer in der Lage sein, die „Eltern“ zu navigieren, indem Sie einfach die letzte Entfernen Element der URL. Dies ist, was ich (manchmal) in meiner Datei-Explorer tun, wenn ich das übergeordnete Verzeichnis gehen. Nach der gleichen Logik der Benutzer (oder eine Suchmaschine / Crawler) kann das gleiche tun. Ganz schön smart, denke ich.
Auf der anderen Seite (und das ist das wichtige Bit der Frage): Während kann ich nie verhindern, dass ein Benutzer versucht, eine URL zuzugreifen er selbst amputiert hat, bin ich zu Unrecht ? behauptet (und zu ehren), dass eine Suchmaschine das gleiche tun könnte das heißt, es ist zu erwarten, dass keine Suchmaschine (oder wirklich: Google), um Zugang http://www.example.com/product/123/subpage
versuchen würde (Punkt 2 oben)? (Oder bin ich nur wirklich den menschlichen Faktor berücksichtigt hier?)
Dies ist keine Frage nach persönlicher Vorliebe. Es ist techical Frage, was ich von einem Crawler / Indexer erwarten kann und inwieweit ich soll URL-Manipulation berücksichtigt nicht-menschliche nehmen, wenn URLs zu entwerfen.
Auch die strukturelle „Tiefe“ von http://www.example.com/product/123/subpage/456.html
4, wo http://www.example.com/products/123/456.html
ist nur 3. Gerücht hat es, dass diese Tiefe Einflüsse Suchmaschine Ranking. Wenigstens so wurde mir gesagt. (Es ist nun offensichtlich, dass SEO ist nicht , was weiß ich am meisten.) Ist das (noch?) Wahr: ist die hierarchische Tiefe (Anzahl der Verzeichnisse) Einfluss Suche Ranking
So ist mein "Gefühl" technisch klingen, oder soll ich meine Zeit für etwas ausgeben sonst?
Beispiel: Tut es (fast) rechts
Good ol‘wird so die fast richtig. Typischer Fall: Profile, zum Beispiel http://stackoverflow.com/users/52162
:
-
http://stackoverflow.com/users/52162
- Einzel Profil -
http://stackoverflow.com/users
- Liste der Benutzer -
http://stackoverflow.com/
- Root
Doch die kanonische URL für das Profil tatsächlich http://stackoverflow.com/users/52162/jensgram
die redundant (auf zwei Hierarchieebenen repräsentiert den gleichen Endpunkt) zu sein scheint. Alternative: http://stackoverflow.com/users/52162-jensgram
(oder jeder anderer Begrenzer konsequentverwendet wird).
1) Trägt ein komplettes Stück Information nicht abhängig von "tiefer" Elementen.
Lösung
Hierarchical Urls diese Art „http://www.example.com/product:123/456.html“ ist so nutzlos wie „http://www.example.com/product/123/subpage“, weil wenn Benutzer Ihre Urls sehen, sie zu IDs aus Ihrer Datenbank nicht egal, sie wollen sinnvolle Wege. Aus diesem Grunde setzt Frage Stackoverflow Titel in Urls. „Http://stackoverflow.com/questions/4017365/human-readable-urls-preferably-hierarchical-too“
Google Ratschläge gegen die Praxis der üblichen Abfragen wie „http://www.example.com/?product=123&page=456“ ersetzt, denn wenn jeder Standort entwickelt sie eigenes Schema ist, Crawler nicht weiß, was jeden Teil Mittel, wenn es wichtig ist oder nicht. Google hat ausgefeilte Mechanismen erfunden wichtige Argumente zu finden und unwichtig zu ignorieren, was bedeutet, dass Sie mehrere Seiten in Index erhalten werden, und es wird weniger Duplikate. Aber diese Algorithmen oft fehlschlagen, wenn Web-Entwickler ihr eigenes Schema erfinden.
Wenn Sie über Benutzer und Crawler Pflege sollten Sie Urls verwenden wie diese statt:
- http://www.example.com/products/greatest-keyboard/benefits - die Unterseite
- http://www.example.com/products/greatest-keyboard - die Produktseite
- http://www.example.com/products - die Liste der Produkte
- http://www.example.com/ - die Wurzel
Auch Suchmaschinen geben höhere Bewertung zu Seiten mit Keywords in der URL.