Improve User Experience With Friendly URLs
As a gateway to everything on the Web, URLs form an important part of the user experience. One of the many issues bandied about by Web developers is providing user-friendly URLs that are both friendly to the eyes and the fingers while typing. This article explores the issues surrounding this subject and some possible solutions.
The concept of providing user-friendly URLs has been around for quite some time, but some developers still seem to miss the point. The basic idea is to provide easier-to-understand Web addresses, which offer the following benefits:
URL mapping allows site developers or administrators to create constant user-friendly URLs and map them to existing Web pages. Most Web platforms provide this functionality as a standard feature. Basically, you point a friendly URL to an existing site path. For example, you may map the following lengthy address:
This lengthy address may be mapped to a shorter, friendlier address like this:
This functionality is readily available in products like IBM WebSphere with its administration tool; ASP.NET 2.0 provides mapping functionality via configuration files; Apache provides URL redirection, and so forth. The trickier aspect of providing friendly URLs occurs when you're working with a dynamic address.
Page generation is a common feature in today's Web, as sites often utilize backend databases to deliver content that is constantly changing. This is a necessity to give users timely and up-to-date information, but the addresses for the dynamic content is often overwhelming. A good example is the URLs spit out by Lotus Domino. The following URL points to a book on the IBM site (which is using Domino):
Do you want to try to remember that address? While it may not be necessary to provide a friendly URL for this address, there are often times when you want to shorten and decipher an address so it is friendly. These addresses are often called dirty URLs because they include data or commands that could be exploited.
URL rewriting allows you to hide complex Web addresses. It is the process of intercepting an incoming Web request and redirecting the request to a different resource. A challenge with implementing URL rewriting is the amount of time it takes to do it right. You may develop and include rewrite functionality in your application or utilize existing solutions.
The mod_rewrite module is available for Apache. It provides a rule-based engine to rewrite requested URLs on the fly. With ASP.NET, you may develop your own or use a third-party solution like ISAPI_Rewrite, IISRewrite, or PageXchanger. This is only a small sample of the current market of Web platforms.
Another approach to simplifying Web addresses is using a third-party service such as TinyURL to shorten it for you. As an example, I entered the TechRepublic.com address on the site, and it provided this simplified URL for it:
It reduced the size from 28 characters to 24. It's not a big deal in this case, but it could be beneficial for more lengthy addresses. I dislike using this type of service because it introduces a dependency on a third-party service that could easily disappear in the future. Also, it could easily be compromised and send users to other destinations.
On the other side of the fence are developers clamoring that URLs should not be hidden so users know exactly where they are going when selecting a link or entering an address. That is, friendly URLs often hide the ultimate destination from users. With third-party services, this can be exploited to send users to spam or malware sites.
I tend to favor friendly URLs as long as they are implemented as part of the application via redirection or rewriting, but I stay away from third-party solutions.
Web addresses are an important aspect of any business, just as important as a telephone number as people expect an easy way to retrieve more information online. One problem with these addresses is often their length and wording (or lack thereof), so friendlier URLs may be provided via redirection or rewriting to simplify the process for the user.
Do you utilize friendly URLs in your applications? If so, how do you implement them? Share your thoughts on the forums.
|All times are GMT +5.5. The time now is 20:19.|