2010-10-25 7 views
6

In einem now migrated question über Menschen lesbare URLs ich mir ein kleines Hobby-Pferd von mir zu erarbeiten erlaubt:Von Menschen lesbare URLs: Vorzugsweise auch hierarchisch?

Wenn ich begegnen URLs wie http://www.example.com/product/123/subpage/456.html Ich denke immer, dass dies ein Versuch, auf die Schaffung sinnvoller hierarchischen URLs, die, ist jedoch nicht vollständig hierarchisch. Was ich meine ist, sollten Sie eine Ebene auf einmal abschneiden können. In dem Vorstehend ist die URL zwei Verletzungen auf diesem Prinzip:

  1. /product/123 ist einem Stück Information als zwei Ebenen dargestellt. Es wäre korrekt als /product:123 dargestellt (oder was auch immer Begrenzer Sie mögen)
  2. /subpage sehr wahrscheinlich ist keine Einheit in sich selbst (das heißt, können Sie steigen nicht ein Niveau von 456.html als http://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 Unterseite
  • http://www.example.com/product:123 — Die Produktseite
  • http://www.example.com/ — Die Wurzel

die gleiche Philosophie folgend, würde die folgende Sinn machen [und einen zusätzlichen Link zum Artikel Angebote liefert]:

http://www.example.com/products/123/456.html 

Wo:

  • http://www.example.com/products/123/456.html — Die Unterseite
  • http://www.example.com/products/123 — Die Produktseite
  • http://www.example.com/products — Die Liste der Produkte
  • http://www.example.com/ — Die Wurzel

für diesen Ansatz Meine primäre Motivation ist, dass, wenn jedes „Pfadelement“ (begrenzt durch /) ist umluftunabhängigem können Sie immer zum "Elternteil" navigieren, indem Sie einfach das letzte Element der URL entfernen. Das mache ich (manchmal) in meinem Datei-Explorer, wenn ich in das übergeordnete Verzeichnis wechseln möchte. Nach derselben Logik kann der Benutzer (oder eine Suchmaschine/ein Crawler) dasselbe tun. Sehr schlau, denke ich.

Auf der anderen Seite (und das ist die wichtige Bit der Frage): Während ich nie verhindern kann, dass ein Benutzer eine URL zuzugreifen versucht er selbst amputiert hat, bin ich zu Unrecht behauptet (und zu ehren), dass eine Suchmaschine könnte das gleiche tun? Ist es vernünftig zu erwarten, dass keine Suchmaschine (oder wirklich: Google) versuchen würde, auf http://www.example.com/product/123/subpage (Punkt 2, oben) zuzugreifen? (Oder nehme ich wirklich nur den menschlichen Faktor in Betracht?)

Dies ist keine Frage über persönliche Vorlieben. Es ist eine technische Frage, was ich von einem Crawler/Indexer erwarten kann und inwieweit ich nicht-menschliche URL-Manipulation beim Entwerfen von URLs berücksichtigen sollte.

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, dass diese Tiefe Einflüsse Suchmaschinen-Ranking hat. Zumindest wurde mir gesagt. (Es ist jetzt offensichtlich, dass SEO nicht ist, was ich am meisten weiß.) Ist das (noch?) Wahr: beeinflusst die hierarchische Tiefe (Anzahl der Verzeichnisse) das Ranking der Suche?

Also, ist meine "Ahnung" technisch solide oder sollte ich meine Zeit mit etwas anderem verbringen?


Beispiel: es tun (fast) richtig
Good ol‘bekommt SO dieses fast richtig. Typischer Fall: Profile, zB http://stackoverflow.com/users/52162:

  • http://stackoverflow.com/users/52162 — Einzel Profil
  • http://stackoverflow.com/users — Liste der Benutzer
  • http://stackoverflow.com/ — Wurzel

jedoch die canonical URL für das Profil ist eigentlich http://stackoverflow.com/users/52162/jensgram was redundant erscheint (der gleiche Endpunkt ist auf zwei hierarchischen Ebenen dargestellt). Alternative: http://stackoverflow.com/users/52162-jensgram (oder ein anderes Trennzeichen, das konsistent verwendet wird).


1) Trägt ein komplettes Stück Information nicht abhängig von "tiefer" -Elemente.

+1

Und dieses Follow-up zu Ihrer migrierten Frage ist hier ein Thema, weil es die Programmierfrage enthält ...? –

+0

@Pascal Cuoq Nein, nicht unbedingt (und es war nicht meine Frage, nur meine "Antwort"). Vielleicht sollte dies auch zu "Pro Webmasters" migriert werden, aber ich weiß nicht, ob die Frage am besten von "professionellen und enthusiastischen Programmierern" oder "professionellen und enthusiastischen Webmastern" beantwortet wird. – jensgram

+1

Ich stimme nicht zu, dass "Produkt/123" nur eine Information ist; die erste Stufe gibt an "ist vom Typ Produkt" und die zweite Stufe "hat ID 123". – FacticiusVir

Antwort

4

Hierarchische URLs dieser Art "http://www.example.com/product:123/456.html" sind genauso nutzlos wie "http://www.example.com/product/123/subpage", Wenn Benutzer Ihre URLs sehen, interessieren sie sich nicht für Bezeichner aus Ihrer Datenbank. Sie möchten sinnvolle Pfade. Deshalb fügt StackOverflow Fragetitel in URLs ein: "http://stackoverflow.com/questions/4017365/human-readable-urls-preplier-hierarchical-too".

Google-Ratschläge gegen die Praxis, die üblichen Suchanfragen wie "http://www.example.com/?product=123 & page = 456" zu ersetzen, denn wenn jede Seite ihr eigenes Schema entwickelt, weiß der Crawler nicht was Teil bedeutet, wenn es wichtig ist oder nicht. Google hat ausgefeilte Mechanismen entwickelt, um wichtige Argumente zu finden und unwichtige Dinge zu ignorieren. Das bedeutet, dass Sie mehr Seiten in den Index bekommen und weniger Duplikate. Aber diese Algorithmen scheitern oft, wenn Webentwickler ihr eigenes Schema erfinden.

Wenn Sie Benutzern und Crawlern Pflege sollten Sie Urls wie diese statt:

Suchmaschinen geben Seiten mit Keywords in der URL eine höhere Bewertung.

+0

Ja, ich stimme Ihnen hinsichtlich der Nutzlosigkeit von IDs in URLs zu. Aber bezüglich der URL dieser Frage (um Ihrem Beispiel zu folgen): wird "http: // stackoverflow.com/questions/4017365/human-lesbar-urls-vorzugsweise-hierarchisch-too" im Vergleich zu der (fiktiven) Alternative "http" bestraft : // stackoverflow.com/questions/4017365-menschenlesbare-urls-vorzugsweise-hierarchische-too' (eine Ebene höher)? (Der zweite Teil meiner Frage.) – jensgram

+1

@jensgram Ich bezweifle ernsthaft Suchmaschinen "bestrafen" irgendwelche URLs für zusätzliche Ebenen. Selbst wenn es Unterschiede gibt, werden Sie es wahrscheinlich nicht bemerken. Das Hinzufügen eines Schlüsselworts zu URLs ist hundertmal mehr als die Anzahl der Schrägstriche in der URL. :) Es ist nur ein Charakter. Jetzt, wo "lesbare" URLs (mit unlesbaren IDs) populär werden, kann dieser Charakter praktisch alles bedeuten. – Athari

Verwandte Themen