This has been on my mind for a few weeks - it seems like I’m constantly reading about web developers spending lots of time thinking about the “URL structure” or “URL design” of their site.
For the non-geeks that might be reading this, “URL” is an acronym for “Uniform Resource Locator”, which is a highly technical way of saying - “the address of something on the Internet”. When someone tells you “you can find our company website by typing in “http://www.ourcompanyname.com” they are telling you the URL of their site.
Every page in a site gets a URL - and it’s these “deeper than the home page” URLs that I’m thinking about today. On one hand we have the techhies, the web-heads, the people who live and breathe HTML and CSS, the people who look at a page for two seconds before doing a “View Source” to see what the code behind the page looks like.
This crowd is inherently much more critical about URL content and structure. This crowd can look at a URL like:
“http://www.yourcompanyhere.com/products/productone.htm”
(not an actual URL) and determine that they are looking at a specific product page, and if they “hack” the URL by removing the “/productone.htm” and hitting “enter”, they will probably find themselves at the index page for the “Products” section of the YourCompanyHere website.
Now enter a Content Management System (CMS) that is powered by a database. Much like a mail-merge on the fly, a CMS pushes content out through templates rather than stored static pages. Often the resulting URL’s look different—something like:
“http://www.yourcompanyhere.com/products.htm?product=productone”
That’s a pretty tame example. At my previous employer we had URL’s like:
“http://www.yourcompanyhere.com/CDA/SSA/IP/0,1776,a10-c1,00.html”
To a techie trying to divine something about the site’s structure and content from an URL, that one is pretty worthless. An article by Jesse James Garrett of Adaptive Path a few years ago sparked alot of interest in URL design, making sure it was “user-centered”. Content management tools like ExpressionEngine get so many requests on how to affect the URL structure of their output that they’ve posted a knowledge blog entry to point people to.
However, what Garrett’s article (and many others) lack is any reference to URL usage by non-techhies—we just assume that since it’s important to us, it must be important to other users as well.
Well, I’m not convinced.
I think the idea of someone “remembering” a deep-level URL at your site is fanciful, at best, and arrogant at worst.
Try to imagine, if you will, an average day on the ‘net for an average user. They likely visit what…somewhere between 3 and 8 websites? Those sites are likely powered by just as many different content management systems with just as many different URL structures.
And how do they arrive at their destination page? I think as web developers we always have this notion that people come in our front door and follow nicely-described navigation paths down our site structure, building a “mental model” of the site’s architecture along the way.
In reality, more people user search engines to jump directly into a page deep within your site. Jakob Nielsen wrote an article last year that talked about how search engines were starting to replace site navigation for users, and recently Jared Spool of User Interface Engineering blogged about the diminishing importance of global navigation.
How important can URL design be if we’re starting to question global navigation?
For me, I keep coming back to an article entitled “Seven Tricks that Web Users Don’t Know” by Carolyn Snider. Number five on her list is:
Navigation by hacking URLs
Only techie people glean information about the structure of a site by examining the words between all those forward slashes. Most users ignore the URL field except for typing in a top-level domain. In testing hundreds of users over a period of several years, I’ve never seen a non-technical user navigate by modifying the URL. Not once.
Granted, Carolyn’s article is now four years old, but until I hear solid evidence that, for non-technical users, URLs and URL structure are an important resource used during their visits to a site, I won’t be spending copious amounts of time designing “usable URLs”.
Unless the site is for a bunch of web-heads…;)
Visit Train-ee.com for the latest in ExpressionEngine training designed with one goal in mind - to get you up to speed on ExpressionEngine® as quickly as possible.
The latest Train-ee Products:
Latest Free Tutorials:
November 14, 2005
The only reason I would suggest for a usable URL would be when you print the URL for a specific page. I saw a church bulletin anouncement once that went something like this: ‘Go to ourchurchwebsite.org and click on “Ministries” then click “Adults” then click “Seniors” then click “Events” to see the current events for Seniors’ or something like that.
It would have been a lot easier to print: ‘Go to ourchurchwebsite.org/seniors to see the current events for Seniors.‘
Of course, it really wouldn’t matter if that URL redirected to an unusable URL. But it is a lot nicer to print, or even say, “Go to ourchurchwebsite-dot-org-slash-seniors” then to try to say, “click here, then click there, then click over there, etc.“—especially for content that is several ‘clicks’ deep.
November 14, 2005
Hmm…another aspect to think about, to be sure.
Redirects are one answer - but then again the events lists was probably deeper than one folder from the home page. The click-here approach is equally as bad, IMHO, as printing “www.yourchurchname/adults/seniors/events.
Another possibly better idea is to have an area on the home page where you can deep-link to any part of the site that’s being featured in print.
November 14, 2005
The other issue is search engline visibility. The URL is only one factor and not the most important by a long stretch, but I’d say including a keyword in the URL does seem to help.
November 14, 2005
I think you’re right: if you’re going to design the URL as an interface, then you need to explicitly design it.
First, does every page need a memorable URL? Or is it the case, like many things, that only a few pages really need a URL that can be remembered.
When we started our Audio Library a little while ago, we knew that we’d be giving URLs to people through the audio recordings (so they could, for instance, get a hardcopy of the slides for the recording they were listening to).
For this, we explicitly designed a URL: http://www.uie.com/audio. Turns out, it was best implemented as a redirect to another page, which we don’t tell anyone about.
My guess is that most sites can get away with this. I talk a little about this here: http://www.uie.com/brainsparks/2005/09/26/extended-urls/
November 16, 2005
Reason 1: Search engine optimization. Not all are up to the task of parsing query strings to find relevant words or information. You are able to be more descriptive with your URL for Search Engines. Instead of something like
http://www.mysite.com/info.php?id=2435324&page;=/about
You could have
http://www.mysite.com/about/mynamehere/
Its much more descriptive - and you are not always reliant on IDs for anything in the database.
Reason 2: Marketing. I work for a book publisher, if we want to send someone to a specific page on the site - we can print a tidy url on the back of a book that will give them just what they need (and allow us to track entry points from that specific link).
Reason 3: Site maintenance. I can keep all my links the same, and map them via the server to appropriate pages. I have just rebuilt several sites over the past few months. I switched programming languages and even re-structured. So, if someone previously had a page like this bookmarked:
http://www.yoursite.com/info.cfm
and I am now using PHP, I can map all requests for the previous url to something like
http://www.yoursite.com/info.php
This can be done with 302 redirects (which will update in search engines), or with a rewrite that only serves up the new page in the background. Regardless, links will not be broken from one build to the next. This is extremely important for usability (and one of the main reasons many consider their URL design up front - they are thinking long term and scalability).
Reason 4: Usability. For those that DO hack URLs, its easy for them to get just what they need (even if they mis-spell on some occasions). I know you mentioned a report - but I see no reason to bottleneck ANYONE if you can somehow prevent it with minimal to no overhead.
Reason 5: Security. If you are looking to build a secure environment where others cannot find out what programming language you are using - then this is a good way to hide it. You can Force the application type or rewrite in apache - no extensions will ever need to be shown (along with the configuration of your server). Yahoo has been using PHP for a while now - but its not shown. You can create custom extensions if you so desire.
Those are just a few reasons. I deem something like this as very important when you are developing any website - unless you never plan on changing or updating the site.
Peace,
Nate
November 17, 2005
I guess I would ask, why not pay attention to it?
Why ignore it? There’s really not a a lot of reason to.
November 17, 2005
Who said anything about ignoring it? I said I wouldn’t spend copious amounts of time on it.
There’s alot I can do with little effort….but I don’t see URL design being a significant design factor, especially when budgets and timeframes are right.
October 06, 2006
Sigh… This is exactly this type of unelightened view that inspired me to write this blog entry last August:
http://www.mikeschinkel.com/blog/welldesignedurlsarebeautiful.aspx
It’s also why, after it becoming the most widely view page on my blog that I decided to launch an advocacy wiki at welldesignedurls.org to:
*** Educate people as to why good URL design is so important
*** (Over time) provide resources for getting good URL designs implemented, and
*** To lobby development tool and CMS vendors to improve their URL structures.
The problem is Michael, and I mean this respectfully, you don’t know what you don’t know on this subject. Good URL design in the age of mashups and Web 2.0 will mean the difference between a superstar and an also-ran. Look at Flickr; it manages URLs in an excellent manner, and a necessary but not sufficient component of their success has been their URL design.
So many non-technical marketers fall prey to conventional wisdom and “logically” ask “What percentage of users will actually care?“ Unfortunately that’s exactly the wrong question! The right question is: “How can I empower the 1% of users that will proactively work to help me promote my site on their blogs, on their websites, and more?“ Imagine if YouTube had such a complex URL design that no one ever included YouTube videos in their blogs; where do you think YouTube would be today? Bad URL design casts an ugly shadow over a website; good URL design can empower the 1% of users to make you a success.
And yet this is just one of the many, many reasons why URL design is important which we plan to document over time as our “Principle of Well Designed Urls”.
So IMO you are doing your clients a huge disservice if you counsel them that URL design is not important.
BTW, I understand ExpressionEngine and pMachine do a pretty good job of helping its users implement well designed URLS. Any chance you want to help me document them?
(P.S. Why doesn’t your blog support BBCodes for lists?)
October 06, 2006
OK - here’s my simple request:
If you’re going to “educate” me, do with evidence rather than more opinion. Show me data. Results from usability studies. Results A/B testing the same design/app with and without what’s considered “well designed urls”.
Like my college writing teacher kept telling me over and over…“show, don’t tell”.
Until there is data to look at I have no interest in further discussing the issue.
EE’s URL structures are well documented on the pMachine website at http://www.pmachine.com
I have no idea why pMPro doesn’t support BBCodes - I’d suggest an email to them asking the question -
Just be aware that pmPro is no longer under development or supported.
October 07, 2006
Educating is exactly the purpose of the welldesignedurls.org website & wiki. As I have time to publish it, there will be information regarding results from usability studies, but not all benefits can and/or have been studied which is why one needs to develop hypothesis and evaluate them logically in absense of usability studies. People who can only make decisions based on data are crippled because there is almost never enough data to be absolutely sure.
That said, I assume you’ve heard of Jacob Nielsen? I believe he is the #1 authority on web usability; at least he publishes on the subject more than anyone else. And he is one who (thankfully for those of us who don’t have the resources) does usability studies ad-nauseum. Here is what Nielsen has had to say about URLs (emphasis mine):
From: http://www.wdvl.com/Authoring/Design/Usability/use6_1.html
** “Our usability studies have shown that users rely on reading URLs when they try to decipher the structure of a site or the possible results of following a hyperlink. ... so users read URLs .,. to divine a hostile environment with no known laws of nature.“
** “Because we know users try to understand URLs, we have an obligation to make them understandable. In particular, all directory names should be human-readable and should be either words or compound words that explain the meaning of the site structure.“
** “Also, your site structure should support URL-butchering where users hack off trailing parts of a URL in the hope of getting to an overview page at a higher place in the site hierarchy.“
** “Use common natural language words as much as possible because users normally know how to spell these words.“
** “URL Guessing: At a recent Digital Kids conference, a fifth grader was asked how he found things on the Internet. His answer was, “I sort of experiment. I take things I like and put ‘.com’ after them.“ Most adults do the same. In fact, it is quite striking in user testing how often people revert to URL guessing.“
[Continued…]
October 07, 2006
[...Continued]
From “URL as UI”: http://www.useit.com/alertbox/990321.html:
+ comments: http://www.useit.com/alertbox/990321_comments.html
** people guess the domain name of sites they have not visited before
** email (ed URLs) is the second-most common way users get to new sites
** shorter URLs are better since people often type them manually
** Persistent URLs Attract Links
** Update added 2005: ... enough users continue to enter ... (URLs) directly ...(so) it’s still important to have an easily guessable domain name and easily typable URLs.
** Make it easy to link to your site in systematic ways so that server-side programs on other sites can computationally generate links to specific services on your site. As another example, a map site should use a simple format for specifying an address in the URL to link to a page with a map showing that address.
Also, a very interesting case study about URL design at the BBC Radio: http://www.plasticbag.org/archives/2004/06/developing_a_url_structure_for_broadcast_radio_sites/
BTW, usability studies by their very nature can’t measure how good URL design encourages innovative ways of mashing up references in ways that will benefit the client owning the website. After all, how would you ever be able to find enough of those 1% of users who will do innovative things for a usability study? And what would you task them to do; would you say to them “Go innovate?“ (See this about how a tiny percentage contribute: http://www.seomoz.org/blogdetail.php?ID=1228)
I again posit that URL design is incredibly important, and it will just continue to be more so, especially as the lines between webpage and web service blur because of REST and Microformats. You might think that I believe this because I have a website/wiki focused on the topic, but you would have your cause and effect confused if you did.
In closing I suggest you and others ensure the apps delivered to clients have well designed URLS, then you and others will be heros down the road when clients recognize that their competitive advantage came in part from good URL design.
Mark my word. :)
October 07, 2006
“EE’s URL structures are well documented on the pMachine website at http://www.pmachine.com”
Thanks for the link. However, I was already aware of their docs. You see I wouldn’t want to document the URL structure of an app that I don’t use. Even though you are predisposed to think URL structure to be unimportant, I thought it wouldn’t hurt to ask.
October 07, 2006
- Guessing domain names is a related, but seperate issue.
- Emailed links are a seperate but related issue - if these emails get created either by people cutting and pasting a url into an email or using a “send this to a friend” function then the actual design of the URL is immaterial - only that it works.
- Persistent URLs are a seperate but related issue.
Yes, I’ve heard of Jakob - who hasn’t - but Jakob is infamous for making many assertions without any data to back them up. While I used to be quite a fan of his work back around 2000 these days…sorry…I no longer view him as any kind authority.
And if we’re going to quote Jakob…let’s use the entire quote, shall we?:
“Update added 2005: Domain names are still in use, and it looks like they may have several more years to go. But my prediction that they would become a less important way to find sites has come true: it is now much more common for users to type a company name, a site name, or even a domain name into a search engine than it is for them to guess the URL. Even so, enough users continue to enter their destination directly into the browser’s URL field that it’s still important to have an easily guessable domain name and easily typable URLs.“
And let me re-iterate my position on URL design. Quoting myself from above: “I wouldn’t spend copious amounts of time on it. There’s alot I can do with little effort….but I don’t see URL design being a significant design factor, especially when budgets and timeframes are right.“
See that “budgets and timeframe” part? I don’t have the advantage of working on web projects where siginificant time can be spent addressing 1% of the users. I’m not building the next Digg, YouTube, or Flickr. Most of my work is building better marketing websites for small businesses - projects where URL design is just not going to be the “make it or break it” factor in the overall success of the site. There are always points at which I have to make decisions that will affect the URL for the site - and I make those decisions as best I can for good URL’s. I’m even looking forward to porting Boyink.com over to ExpressionEngine and getting better URL’s as a result.
But if there is extra time in the project there are always areas where my efforts are better spent on improving things that will benefit 100% of the users. You know, like actual content.
And with that, comments are closed.