I liked how Chris and Sean describe their role as curating PHP Advent, so I thought I’d do a little sub-curation of my own. This entry is a point-counterpoint on the topic Do URLs Matter? The contributors’ thoughts are below, followed by my conclusion.
— J. Random Programmer
Of course URLs matter! Without clean URLs, it wouldn’t be obvious where you are just by looking at the URL displayed in the address bar. Who can remember long strings of jumbled letters and digits to type in compared to something elegant like http://pants.com/blog/my-dinner-with-barack‽
Plus, I’m always noodling around with the URLs I see, so it’s nice when they’re easily hackable. If I see a page like http://pants.com/forum/topic/23, it’s easy enough to swap in
22 for the
23, and browse around.
It sure does bug me when those URL shortening services transform my beautiful URLs into tiny garbled squibs. How do people even know where they’re going to end up when they click on one of those things? It’s almost as if the URL itself is just a means to an end to those people.
— A. Normal Person
I’m not really sure what a “URL” is but when David asked me to write this, he said something about the way to find Internet web pages, so here’s how I look at them:
- People send me emails with blogs to read or YouTubes to watch, so I click on the blue part of the message to see the blog or the YouTube.
- Sometimes, I’ll make a bookmark when I’m looking at something I want to see later, so I can visit it from the bookmarks menu on the computer. Also, my computer came with a bunch of bookmarks already on there.
- Occasionally, I see one of those .com web page addresses printed somewhere, maybe in an ad on TV or on the side of a bus. If I type that address into the Google, then I get to see the Internet web page that the ad was for.
People don’t care about URLs. The few normal humans who still occasionally type in a URL are going to stop doing that once their iPhones get better at reading 2-D barcodes.
If you’re designing a web service to be used by programmers, then URLs matter as much as function names matter in a well-designed library. Would you rather call
func_73d3a702db472629f27b06ac8f056476()? This is not something salient about URLs, but just a general principle of human mental capacity. It is easier to refer to
7000 + 14 as “7,014” than as “Máximo Pérez.” (To read more about that, visit this URL: http://www.amazon.com/Collected-Fictions-Jorge-Luis-Borges/dp/0140286802/ref=sr_1_1?ie=UTF8&s=books&qid=1259708003&sr=1-1.)
A grumpy “SEO Professional” is reading this right now and saying “No, he’s missing the point! The clients for URLs aren’t humans, they’re search engines! I need to tell Google what my page is about in the URL.”
Mr. Grumps is not entirely wrong, but SEO-friendliness is orthogonal to human-readability. That Amazon URL up there works just as well (from a loading-the-right-page perspective) written as http://amazon.com/dp/0140286802. The rest is just fluff to make some automated system (a search engine, clickstream analysis processing, &c.) happy.
There are a variety of reasons to structure your URLs a certain way, such as making search engines happy, making developers using your service happy, or keeping yourself sane when you build a web site. Providing utility or aesthetic pleasure to regular people who use your web site, however, is not one of them.