Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I disagree with many points of this article, and actually feel the reverse is true:

URLs are for computers, not people.

To me, a URL is an address to a web site, not the title (or description).

If I want to find somebody's address on a map, I don't go to "Bobby's House". I go to "123 Main Street, New York City, NY". If I search for Bobby's house, I'm not given "Bobby's House" on a map, I'm given a surrogate street address.

If humans are expecting the URL to look pretty and descriptive, then the issue here is that we've conditioned this expectation and we should instead condition users to expect succinct, surrogate URLs that only serve the purpose of identifying the article you're trying to reach.

Additionally, I think the fact that search engines highly weight their optimization on a URL is terrible and counter-intuitive to the purpose of a URL. This is what <title></title> is for, and other <meta></meta> headers.

The URL should not determine a page's rank in search results, at all. At the very most, it may make sense to factor the root domain into SEO, but that's where it should end. This isn't the 1990's when much of the web was static HTML pages that could be given whatever meaningful file names. In today's world where the web is dynamic and mostly made up of user-driven content, URLs are designed to route the user based on one or many identifiers, which are often surrogate identifiers, and not natural or meaningful identifiers.

Edit: I do agree with the point about useless garbage in the URL (like the Google search examples) that are there only in the interests of the site and tracking/analytics. I think URLs should only serve to get the user where they need to go, and contain exactly enough data to get them there.



But people often need to parse URLs before they provide them to their computers (via click or keyboard), and I think that's the point.

The issue is that URLs are often the only piece of information users receive, and it's why we've conditioned users to expect meaningful URLs.

From our standpoint, it's not too hard to make URLs more meaningful, even with user-generated content. Plenty of sites incorporate the title of submitted content into the URLs, and it's even easier when creating content for oneself.

Would you prefer a link to http://www.example/about or a link to http://www.example.com/?id=123. Which are you able to understand before clicking it? Which are you more likely to click?


> But people often need to parse URLs before they provide them to their computers (via click or keyboard)

Users don't provide URLs unless they type them in the address bar. And if they're doing that, it's likely just the domain name, and very rarely anything more than that.

If they're clicking a URL, then what the URL looks like is meaningless, and often does not even need to be shown to the user. Again, the only reason they care about what a URL looks like is because we've conditioned them to care. It bares no meaning on them being able to access a page.

> The issue is that URLs are often the only piece of information users receive

Why is this? Why do they ever even see the URL?

If it's visible to the user on a page, then replace the URL in the <a></a> tags with a meaningful description of a URL. Showing a user a URL is bad UX (unless you're audience are power users, but that's not what this article is talking about).

> From our standpoint, it's not too hard to make URLs more meaningful, even with user-generated content.

I would argue this is not true. Take Amazon for example. Converting "Panasonic-KX-TG7743S-Bluetooth-Cordless-Answering" to a product in the database is a nightmare I don't want to deal with. Computers work better with surrogate identifiers that are short, and they're easier to generate.

But then add user-generated content. Who is responsible for generating the meaningful unique identifier for the content? "Sorry, that content ID is taken. Try another one." :)

> Would you prefer a link to http://www.example/about or a link to http://www.example.com/?id=123.

An "about" page is a complete different situation, and these static pages are often limited in number on dynamic sites like this article is referring to. Of course they can, and should, have a meaning (there's no reason to give it a surrogate identifier).

But if a computer is responsible for creating the content, and the address to access that content, then why go through the trouble of giving the URL a meaning?

> Which are you able to understand before clicking it? Which are you more likely to click?

Why do I care what the link is? When I see it on a page, I should see "About", not "http://www.example.com/?id=123.


Here's a recent tweet from a friend:

> My thoughts on what I believe is a bad article on HN: “URLs are for people, not computers”. https://news.ycombinator.com/item?id=5499730 http://www.not-implemented.com/urls-are-for-people-not-compu...

URLs are a way of life. Of course the ideal solution is a semantic hyperlink, but people don't share hyperlinks, they share URLs, and they don't always take the time to type out a nice description like the above tweet contains.

> I would argue this is not true. Take Amazon for example. Converting "Panasonic-KX-TG7743S-Bluetooth-Cordless-Answering" to a product in the database is a nightmare I don't want to deal with. Computers work better with surrogate identifiers that are short, and they're easier to generate.

I don't think computers care one way or the other, and it's not hard to generate a key like that at all. In your example, you'd simply have brand + model + short description. In most other cases, you'd simply take the title of content that was submitted. It's a very common solution to this problem [1]. The idea is that a short description is part of the item in the database. It's not some sort of complicated lookup that acts like a keyword search.

[1] https://docs.djangoproject.com/en/dev/ref/models/fields/#slu...


I agree that URLs should be for machines, and that SEO in url paths is stupid, but I disagree that urls should be hidden from users. If you're talking about browser UI, it could show the full domain, and hide the protocol and url path unless the url is clicked on, but the full url needs to be readily accessible.

> Why is this? Why do they ever even see the URL?

Because the url often transmits more information than what's in the page title. For better or for worse.

Because the web is about inter-site linking. You can't link if you can't see the full url to a page. You seem to think that only automated software or "power users" would ever want to create links.

> Why do I care what the link is?

You've never wanted to link to anyone else's pages? It's not just power users who do this. Casual internet users share full url links all the time. Requiring more than one click to get at the full URL is burdensome and would change linking on the web.

The web is not the only place urls are used, and http, https, spdy are not the only url protocols in existence. In some cases urls are the only information you have about a resource, and it takes quite a while to get additional information. BTIH, for instance, can take a while to get the torrent depending on the initial connection status to the p2p cloud. In other cases, there may never be any additional information about a resource besides the content of the url. You can't hide urls like those. The URL bar needs to stay. It doesn't have to show full url paths all the time, but it needs to be ready to in a click.

Search engines already understand this, but they go as far wrong in the other direction with SEO signals based on url paths, which encourages pathological descriptive url paths rather than encouraging url paths that are merely adequately identifying.


Urls are important to search engines because they should express the primary purpose of the page. Unlike meta keywords, it is very difficult to keyword-stuff a URL, because search engines can detect duplicate content. So a person needs to select the URL for a page that best describes that page, which increases the search signal quality for a URL.

Urls are important to humans for the same reason we save documents with meaningful names instead of random gibberish.

Urls are the way people use sites, and that's just the way it is.


123 Main St (comma) New York (comma) New York is a human paradigm.

You left out zip+4 code, GEO coordinates, user spoken language, travel-type preference setting, internal id, and unique user id tracker.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: