About the Author

Chris Shiflett

Hi, I’m Chris: entrepreneur, community leader, husband, and father. I live and work in Boulder, CO.


URL Sentences

Two and a half years ago, I was helping Jon Tan redesign a web site. We share an affinity for organization and structure, but we also like to experiment with new ideas.

One morning via Skype, I shared a crazy idea that I wasn't entirely sure of yet, trusting Jon to tell me if it was a bad idea.

What if we make every URL a sentence?

Before he could respond, I pasted in some examples I had been playing with to help clarify what I meant:

  • /is (About)
    • /is/here (Contact)
    • /is/hiring
    • /is/chris-shiflett
  • /does (Work)
    • /does/web-design
  • /helps (Clients)
    • /helps/digg
  • /thinks (Planet)
    • /thinks/about (Tags)
    • /thinks/about/oscon
  • /remembers (Timeline)
    • /remembers/2008 (Archive)
  • /writes (Books)
    • /writes/essential-php-security
    • /writes/http-developers-handbook
  • /has (Site Map / Search)
    • /has?php
    • /has/colophon
    • /has/accessibility
  • /shares (Feeds)
    • /shares/news
    • /shares/planet
    • /shares/everything
  • /presents (Talks)

These URLs still adhere to a basic — albeit shallow — hierarchy to help keep things organized, but instead of the usual about, work, and clients, I used verbs like is, does, and helps. I was pleasantly surprised to hear Jon liked the idea. He noted some limitations, like the challenge of avoiding awkward wording when the hierarchy was deep, but he thought it was worth trying to map out the entire site to see if we could make it work.

Because the site was fairly small, it turned out well. As I noted previously, this approach isn't appropriate for all sites, but it can give URLs a voice of their own. (I don't use URL sentences on shiflett.org.) It can also help you organize your pages. For example, if a page can't fit neatly into a sentence that starts with example.org is..., then it probably doesn't belong in the about section of the example.org site.

There are other ways to make sentences with URLs, especially if your domain name can be used as a verb. And you don't mind. :-) Using verbs (present tense) as the top-level hierarchy is just one example.

There have been other uses of URL sentences over the years:

  • Jon collaborated with Jon Gibbins on a really neat site for Denna Jones that uses URL sentences and other interesting innovations. (Pages like the colophon do not, but the primary ones do.)
  • Clearleft use URL sentences in their latest redesign. Paul Lloyd discusses this and more in a related post about URLs.
  • Ann McMeekin cleverly uses URL sentences to indicate categories for her blog. Some posts she considers; others she shares. A full list of categories is available in the sidebar.
  • Cameron Koczon used URL sentences when redesigning Jessica Hische's site. She chose verbs like typographizes and designifies to add a bit of her personality to the mix.
  • Martin Geber used past tense verbs as his top-level hierarchy, creating URLs that align with the idea that his site is a personal archive of thoughts, memories, and the like. He writes more about the inspiration for the site. Thanks for the nod, Martin!
  • Kernpunkt gives a German interpretation of URL sentences. This is the only non-English example I've seen.
  • There are some examples of URL sentences being used to add a bit of flavor to an existing site without reorganizing everything. Adrian Sevitz pointed me to his company's site as one such example.

I'm really happy to see other people embracing URL sentences and adding their own creativity, personality, and style. If the idea makes sense for a site you're making, please let me know, and I'll add your example as an update or comment to this post.

If making sentences out of your URLs makes you smile or makes your work more fun, you should definitely do it. The best sites are the ones we make while having fun. :-)

About this post

URL Sentences was posted on Mon, 31 May 2010. If you liked it, follow me on Twitter or share:

17 comments

1.Daniel Krook said:

Very cool. This provides a nice rule of thumb to guide site architecture design when you're struggling to find the best location for a new page. I can think of lots of sites where this would be appropriate.

In some ways it also reminds me of Struts default ".do" action mappings. Though those really focused on verbing the named action rather than considering the whole URL as one unit of action.

But the first thing that came to mind when I read this though was "Doesn't Chris know that in HTTP, URLs are supposed to point to resources, which are nouns, and leave all the verbing up to the HTTP methods?"

And then I remembered you literally wrote the book on HTTP so it must be OK :) How do you imagine the purists might respond?

(A hat tip to Calvin and Hobbes for turning the word verb into a verb).

Wed, 02 Jun 2010 at 13:07:16 GMT Link


2.Chris Shiflett said:

Hey Dan. Thanks for commenting.

Using URL sentences does help with organization, even if you don't use them in the final iteration. I'm not an IA expert, but I could see something like this being part of a good process for categorizing pages on a site.

I'm sure there will be purists (REST purists, for example) who think there must be something wrong with this, but I don't care. :-)

In a way, URLs are like variable names. There are some rules to follow, but outside of that, the choices you make should benefit humans, not computers.

Wed, 02 Jun 2010 at 15:52:43 GMT Link


3.Jordan Ryan Moore said:

It's a neat idea, but it creates a disconnect between the URL and the text of the navigation links (at least for OmniTI). If I was going to use "URL sentences", I think I would try to make my navigation links correspond a little more.

Wed, 02 Jun 2010 at 17:26:14 GMT Link


4.Chris Shiflett said:

Hey Jordan. You make a good point. It's a topic we thought about a lot when working on that site. We ultimately decided that it was more important for the link text to be clear than consistent with the URLs.

Link text and URLs are often disconnected, and I'm not sure that adversely affects the experience. Maybe there have been some user studies that can give us clarity. Anyone know?

Wed, 02 Jun 2010 at 17:49:47 GMT Link


5.WheatFree Fairy said:

While it's still in development, our web people have used URL sentences for our products, like http://www.wheatfreefairy.co.uk/makes/chocolate/cupcakes . We're really pleased with how it looks, and we'll be making more use of it as the site grows

Wed, 02 Jun 2010 at 18:56:40 GMT Link


6.Daniel Del Rio said:

Awesome idea! I've never hear do this before. Thanks for sharing.

Wed, 02 Jun 2010 at 19:04:55 GMT Link


7.Dorian Taylor said:

I don't know if it's necessary to get too uptight about whether or not a (conjugated natural language) verb should show up in a URI path. I think, as you'll probably concur, that it's an issue when the meaning of the URI contravenes the meaning of the request method (such as GET /counter/increment), but what you're making are affirmative statements, which can be taken as identifiers in their own right with no effect associated with them.

I was thinking about the problem of choosing an optimal URI hierarchy a few years ago, then it hit me: HTTP does not care about the content of the Request-URI. It's the implementation that handles that. Furthermore, the implementation need not care about the content of the Request-URI either, only that it can uniquely identify a resource, like a flat dictionary key. If you squint at it that way, you can then tell yourself the story that any mapping of HTTP URI paths to file system hierarchies is purely incidental.

Furthermore, it's possible to say that you don't actually need more than a single slug (basename, last path segment, whatever) on a URI path to get the job done, provided it has enough entropy in it to not collide with other slugs that might end up with the same (possibly generated) content. Perhaps the most prominent example of this is the menagerie of URI shorteners.

If URIs were only useful to computers we could do away with them entirely and just use UUIDs (which I do, actually, for tentative/unpublished stuff), but they turn out to be useful to people too. We know, though, that there isn't a whole lot of entropy per character in natural language, so chances of collisions (e.g. with title->slug conversion) are relatively high. What to do then? Prepend another path segment as a qualifier. The chance the pair of symbols will collide is much less than just one, but if that isn't unique either, prepend another, and so on.

Back to hierarchies: I've given up. After having done considerable research over the past couple years I've established that coming up with an optimal path hierarchy is a way-underappreciated combinatorial problem and therefore I shouldn't bother. Instead I've been experimenting with completely decoupling URIs from resources and enabling multiple entry points by placing individual resources into many different sets at once and carrying out the technique I mentioned above. The net effect, hopefully, is to be able to mash on the keyboard and still probably get something useful, while at the same time preserving a canonical URI for Cool URI purposes. I'm tentatively calling it a dynamic faceted taxonomy.

Under that model, I imagine a container or set-like object which can carry many different slugs, so the conjugated verb "is" could just as easily resolve to the same object as the noun "identity", and so on.

Wed, 02 Jun 2010 at 19:38:26 GMT Link


8.Trevor Adams said:

I love this idea and is something I have not considered before. The separation of text link to URIs could be managed quite effectively with some mod_rewrite rules. I may try to add some of this 'verbing' to an existing site.

Interesting, thanks.

Thu, 03 Jun 2010 at 15:27:32 GMT Link


9.Nick Roper said:

Great idea - working on a redesign of my site at the moment and will look to incorporate.

Thu, 10 Jun 2010 at 01:54:36 GMT Link


10.ilithya said:

I enjoyed reading your post, as I agree on your topic.

I actually had last year redesigned my personal website with this URL sentences idea, and did it because I thought it will be fun to read the URL as it follows my navigation menu.

You guys can take a look here if you want:

http://www.ilithya.net

Mon, 14 Jun 2010 at 15:21:03 GMT Link


11.Kumar Chetan Sharma said:

RESTful idea!!!

Mon, 19 Jul 2010 at 10:56:51 GMT Link


12.Chris Shiflett said:

Here's a beautiful site that started using URL sentences about a month ago:

http://hugsformonsters.com/just-made/a-new-site

Tue, 03 Aug 2010 at 17:31:53 GMT Link


13.Kevin said:

I intend to use a similar structure for my upcoming personal site/blog at kevin.is, an Icelandic domain extension. It'll be fun to write things like:

kevin.is/working-on/an-awesome-design

kevin.is/someone-to-know

kevin.is/savvy-at/programming

kevin.is/thinking-about/lucid-dreaming

Fri, 06 Aug 2010 at 09:15:57 GMT Link


14.Steven said:

While a little complicated to implement, I can really see the benefits of this. I can imagine you could also have some kind of tagging system though which you form the sentence, so articles with similar keywords can be accessed easily. Well, at least though the breadcrumbs, though personally I can access it just as fine by clicking individual segments (and seeing as that is how windows vista and onwards work, I imagine browsers will follow). I also know people are not that shy that they will not type urls directly; some people that is.

Personally I've been leaning towards having very readable urls for some time, since sometimes people just look at the url. Other times, people don't really have anything else to look at really. For example, when your url is naked and a link on another site, or your url is mentioned in a video or audio cast.

One important consideration, or rather brick wall, I've come across is urls need to be fairly short and must be readable; in particular the domain, as that is the portal though which people will enter your (err) domain. Preferably you want to use English words (actual, not made-up) and avoid any special punctuation.

Things like del.icio.us are cute and all but may prove tricky for some. The example both makes things like the period position hard (is it deli.cio.us? or de.li.cio.us? how many were there again?) but also suffers from typos (is it del.icio.us? or del.iciou.us? or del.ici.us?).

One of the biggest sins though is having a name that's hard to pronounce. This both forces very awkward spelling bee moments whenever it's mentioned: "[...] that's shiflett DOT org, S-H-I-F-L-E-T-T, the prefix is shi-F not shif-T, and there are two T's at the end of LET [...]". But also, as I eluded earlier, your audience doesn't have to be blind for audio-only visualization to happen. Your link could be part of many in a list, so it's presumably in small font and/or something like a video of a presentation. Or, your audience is viewing a low-res version of the video and can't see anything clearly, or your url is mentioned in a podcast, or in a commercial, or as a passing reference in another talk. Even if you made your url fit the entire slide, for all you know people might just be listening to the talk.

Going back to the delicious example, another problem is urls like that are pretty hard to remember. At least I, not having english as my main language, find them pretty hard to remember. At least they are fairly easy to google (secret SEO strategy? probably more likely to shoot you in the foot I reckon).

Each time someone uses a alternative site to shorten your url for a twitter post (or something other) I say it's a bad omen, and your url is either too cryptic or too long.

http://www.backtype.com/domain/shif...g/conversations

Or, both.

Disclaimer: I've only used your url as a example Chris, no offense intended. Given the context of this site, your url is fine. :)

Thu, 19 Aug 2010 at 13:42:38 GMT Link


15.Steven said:

(continuation)

I got a little carried away in writing, and part of the point I was trying to make just slipped my mind, and sentence.

The point in the delicious example is: things like site.example.com/some-ugly-dashes/something *may be* (ie. not definitely) just as bad as del.ici.us, though dashes in the last segment (the so-called "post slug") are most likely okey.

Special punctuation in special circumstances may be okey as well. For example: example.gallery.org/wallpapers/16:9/my-wallpaper. The reasoning here is as long as it doesn't burden the users with new rules, 16:9 being the natural way to refer to wallpaper aspect ratio, it's fine - if not actually preferred.

Thu, 19 Aug 2010 at 13:57:08 GMT Link


16.Drew McLellan said:

One thing to watch out for is that URL sentences can be difficult to translate. Many multilingual sites keep all their URLs in one language, but others translate into the language of the pages.

Of course, there can be significant differences in the order of works in a sentence between different languages, and this could provide implementation challenges.

There can even be issues in English. In US English you'd say company.com/is, whereas in British English we might use company.com/are. The latter would read very uncomfortably to a US English speaker.

company.com/about is unlikely to raise any such issues.

Mon, 06 Dec 2010 at 19:19:23 GMT Link


17.Chris Shiflett said:

Just noticed another one:

http://mds.is/

Tue, 20 Sep 2016 at 03:19:42 GMT Link


Hello! What’s your name?

Want to comment? Please connect with Twitter to join the discussion.