11

I am making a website with several directories that will have a high amount of content.

For now I have separated the URLs into categories so that they’re like this:

www.example.com/student/
www.example.com/student/student-name/
www.example.com/student/student-name/biography
www.example.com/student/student-name/image-gallery/
www.example.com/student/student-name/image-gallery/gallery-name-1
www.example.com/student/student-name/image-gallery/gallery-name-2
www.example.com/student/student-name/contact
www.example.com/teacher/
www.example.com/teacher/teacher-name
www.example.com/teacher/teacher-name/biography
www.example.com/teacher/teacher-name/image-gallery/
www.example.com/teacher/teacher-name/image-gallery/gallery-name-1
www.example.com/teacher/teacher-name/image-gallery/gallery-name-2

There are many teachers, students, galleries, videos, etc.

There are several more categories that are made in the same way, but before going online I would like to check whether this is the best way.

4
  • 3
    That would seem to be a logical structure. What are your doubts? What others have you considered?
    – MrWhite
    Dec 2, 2013 at 11:44
  • 1
    Are these actual directories or permalink slugs in a CMS system?
    – JCL1178
    Dec 2, 2013 at 15:56
  • Also, are the paths actually /teacher/teacher-name/biography or does teacher-name resolve to the actual name e.g. /teacher/JCL1178/biography
    – JCL1178
    Dec 2, 2013 at 19:04
  • w3d - i was thinking they are maybe to long, not SEO friendly ? @JCL1178 not sure what you mean, but each link contains content. Teacher name resolves to actual name.
    – Azz Kawa
    Dec 2, 2013 at 21:32

1 Answer 1

9

This is a good URL design.

  • The URLs are can be persistent (they contain no parts that are likely to change; name changes are rare).
  • The URLs are descriptive (users can read the URL and they’ll get an idea what the page is about).
  • The URLs are browsable (users can remove path segments from right to left, and they’ll get no 404).

It’s also good that they don’t contain any "unnecessary" parts (like, for example, cryptic IDs for person/gallery names). Which, of course, means that you have to take care of edge cases like duplicate person names (maybe append an integer) or same person’s duplicate gallery names (maybe forbid these).

I assume that users get some kind of list of all teachers/students when visiting /teacher resp. /student. In this case, I’d probably use the plural forms /teachers* and /students*:

/teachers
/teachers/john-doe
/teachers/john-doe/biography
…

But this is only personal taste; singular is fine, too.


Note: In your example, you have written:

/student/student-name/
/teacher/teacher-name

I assume that it’s a mistake and you intend to stick to one variant: with our without trailing slash. Personally, I’d prefer the variant without trailing slash, but again, this is personal taste.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.