Principles for Designing Webite URI Structures

Adapted from the introduction to a mozilla.org URI structure writeup. (Note the date on that.)

A URI is a permanent identifier. It should be constant.

The URI structure should reflect the best logical organization of the documents on the server by exploiting its hierarchical nature.

Thus, there should be "a place for everything and everything in its place".

The structure should create a coherent organization of the site's content.

It must be extensible and highly forwards-compatible.

So, if you decide someday to, say, create a second major product, you should be able to add necessary documents without disturbing anything else and still maintain a logical organization of content. In practice, this means the flagship should not get special treatment.

(You can still do whatever you want in terms of content and linking to emphasize some things over others.)

The navigational structure is a web, more or less. But a good web—an organized web—has strong spokes for filaments to attach to, and those spokes are the URI hierarchy. They maintain organization, provide a well-defined path for navigation, and can be oriented to when lost.

fantasai, "Re: Proposed way forward" on n.p.m.documentation