2009-05-28 4 views
0

Ich habe darüber nachgedacht, wie ich meine URLs schreiben sollte. Ich möchte, dass sie A) benutzerfreundlich sind B) SEO C) schnelle DB-Anfragen erlauben. Die Informationen, die ich habe, sind Benutzername, Kategorie, MediaId, Titel und andere Daten, die ich nicht für notwendig halte (Datum, Hash, etc).URL für eine Benutzer-Content-Website und SEO

Sollte ich den Benutzernamen vor oder nach dem Domain-Namen haben? (username.mysite.com/ vs mysite.com/username/).

Dann muss ich entscheiden, ob ich/media/The-Titel-Of-Media oder/media/mediaId/The-Titel-Of-Media (Medien mit 8 oder 16 Ziffern) oder jede Variante (z als Medien/Die-Titel-Of-Media-MediaId).

Will ich eine mediaId drin? Ich dachte, es könnte die DB-Abfrage beschleunigen, aber wenn ich es gegen den Benutzernamen validiere (so mysite.com/deceptiveUserName/media/mediaId/title ist nicht erlaubt) nur mit WHERE userid = expectedUserId kann eine Haarlinie weniger effizient als a sein Abfrage mit einem Primärschlüssel? Auch die Verwendung einer mediaId erlaubt es dem Titel, nicht eindeutig zu sein, aber wäre es eine schlechte Idee, Benutzern zu erlauben, nicht einfach alles mit einem eindeutigen Titel zu versehen? Wenn ich Lazyness erlaube, können Benutzer eine URL vorher und nachher betrachten und denken, dass sie der Name wegen des Titels sind. Oder wird es schwierig, einen Link in einer Linkliste zu finden?

-edit-

Hows diese. mysite.com/username/media/mediaId/title. Wenn sich der Titel ändert, kann ich die URL aktualisieren und die Links nicht brechen, da die mediaId immer noch dieselbe ist.

+0

Es hilft, die verschiedenen Alternativen zu zeigen. –

Antwort

6

Subdomains können Dinge wie SSL und Cookies erschweren. Vermeide sie wenn möglich.

Geben Sie immer den Primärschlüssel ein, wenn Sie können.

Übertreibe dies nicht. SEO kommt von gut strukturierten und relevanten Inhalten, nicht von Shemananigans mit URL-Manipulation.

+1

+1: Auch geben Benutzer selten URLs ein - sie klicken auf Links. Sie bookmarken jedoch URLs. Gute URLs ändern sich nie - also müssen sie die tatsächliche PK zusätzlich zu allen möglichen Nacktschnecken enthalten. –

1

StackOverflow enthält die Frage ID in der URL, so muss es eine gute Praxis sein. :)

ich mit Ihrem letzten Gedanken zustimmen: mysite.com/username/media/mediaId/title