views:

2873

answers:

14

Many websites, including this one, add what are apparently called slugs - descriptive but as far as I can tell useless bits of text - to the end of URLs.

For example, the URL the site gives for this question is:

http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls

But the following URL works just as well:

http://stackoverflow.com/questions/47427/

Is the point of this text just to somehow make the URL more user friendly or are there some other benefits?

+85  A: 

The slugs make the URL more user-friendly and you know what to expect when you click a link. Search engines such as Google, rank the pages higher if the searchword is in the URL.

Espo
One of the things that make a url user-friendly is 'discover-ability', meaning you can take a guess at url's simply from the address bar. http://i.love.pets.com/search/cats+dogs could easily lead to http://i.love.pets.com/search/pug+puppies etc
Xian
Xian, I've heard that argument before, but I don't think it stands up to scrutiny. Apart from geeks, hardly anyone really types URLs directly. Readability is definitely important, and I think a growing number of users *see* the URLs, but when it comes to "guessing" I think the minority is extremely tiny.
eyelidlessness
@eyelidlessnes - I will have to disagree. While people might not manually enter URLs, I have seen evidence that they create them. Through looking at our logs and our monitoring devices, we see samples where one user session will do something and then modify the URL (evidenced by the lack of a referrer). Granted, not everyone is doing it - but it definitely is not a negligible amount of traffic.
joseph.ferris
@Xian. Yes, few type URLS, however, the slug is essentially caller id. The name of the caller is not NECESSARY but it helps you decide if you want to answer the call or not. slugs make a URL look more friendly and makes a user more likely to click it.
Atømix
xian, exactly how is that different from google.com/search?q=cat+puppy ? People who discover URL's will likely do that. I do that.
netrox
+24  A: 

Usability is one reason, if you receive that link in your e-mail, you know what to expect. SEO (search engine optimization) is another reason. Search engines such as google will rank your page higher for the keywords contained in the url

michielvoo
+3  A: 

Remove the formatting from your question, and you'll see part of the answer: http://stackoverflow.com/questions/47427/ vs http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls. With no markup, the second is self-descriptive.

Tom
+11  A: 

The reason most sites use it is probably SEO (Search Engine Optimization). Yahoo used to give a reasonable weighting to the presence of the search keyword in the URL itself, and it also helped in the Google result as well.

More recently the search engines have lowered the weighting given to keywords in the URL, likely because the technique is now more common on spam sites than legitimate. Keywords in the URL now have only a very minor impact on the search results, if at all.

As for stackoverflow itself, SEO might be a motivation (old habits die hard) or simply for usability.

DGentry
SEO's a factor. But more importantly, it's about usability, like you said.
Atømix
+2  A: 

Don't forget readability when sending a link, not just in search engines. If you email someone the first link they can look at the URL and get a general idea of what it is about. The second one gives no indication of the content of that page before they click.

Chris Bartow
+1  A: 

If you emailed someone a link wouldn't it make more sense to include a description by actually writing out a description rather than making the other person parse to the URL where the description exists, and try-to-read-a-bunch-of-hyphenated-words-stuck-together.

Kibbee
You've obviously never been Rick Roll'd, have you. How many links do you receive that are: Check this out. Hilarious! <link>. It would be nice if Youtube did Urls like so: youtube.com/12345/evil-bikini-wax-job-not-work-safe. It would make the links more trustworthy and help me make the decision to click or not.
Atømix
It would, however, any MVC system I've seen doesn't require the extra evil-bikini-wax-job-not-work-safe part, and could just as easily be sent as youtube.com/12345, and most people who wanted to mail out stuff like that would quickly learn to remove it.
Kibbee
A: 

Ideally, the "slug" should be the only identifier needed. In practice, on dynamic sites such as this, you either have to have a unique numerical identifier or start appending/incrementing numbers to the "slug" like Digg does.

Kyle Cronin
The Digg link was the first one I came across when going down the main page. It's purely coincidental that it also so happens to exemplify how far Digg has fallen - a story about sex addiction has been posted three times.
Kyle Cronin
+7  A: 

I note that you can change the text freely. This URL appears to work just as well.

http://stackoverflow.com/questions/47427/why-is-billpg-so-very-awesome

billpg
Is this kind a bug or feature?
Jakub Šturc
This is most likely a feature. The slug is ignored when server is deciding which question to show. The question is fetched solely based on its id (47427 in this case).
Juha Syrjälä
An in fact it makes sure that you can access a post even after the subject has been modified (and thus there is a new URL).
0xA3
Ideally though, each internet resource ('document') only has 1 URI. So basically, allowing the same document to be viewed through different URIs may have a negative influence on your site in SERP. This is probably the only thing I don't like about Stack Overflow ;)
Mathias Bynens
That's why canonical pages exists, and Stack Overflow uses them. =)
Alix Axel
@Alix Axel: 301 redirects `>` canonical pages
Mathias Bynens
+7  A: 

The term slug comes from the newspaper/publishing business. It's a short title that's used to identify a story in progress. People interested in URL semantics started using a short, abbreviated title in their URLs. It also pays off in SEO land, as keywords in URLs add importance to a page.

Ironically, lots of websites have started place a full serialized-with-hyphens version of the titles in their URLs for strictly SEO purposes, which means the term slug no longer quite applies. This also rankles semantic purists, as many implementations just tack this serialized version of the title at the end of their URLs.

Alan Storm
+9  A: 

It's basically a more meaningful location for the resource. Using the ID is perfectly valid but it means more to machines than people.

Strictly speaking the ID shouldn't be needed if the slug is unique, you can more easily ensure unique slugs by scoping them inside dates.

ie:

/2008/sept/06/why-some-websites-add-slugs-end-of-urls/

Basically this exploits the low likelihood of two identical slugs being in use on the same day. If there is a clash the general convention is to add a counter at the end of the slug but it's rare that you ever see these:

/2008/sept/06/why-some-websites-add-slugs-end-of-urls/
/2008/sept/06/why-some-websites-add-slugs-end-of-urls-1/
/2008/sept/06/why-some-websites-add-slugs-end-of-urls-2/

A lot of slug algorithms also get rid of common words like "the" and "a" to assist in keeping the URL short. This scoped approach also makes it very straightforward to find all resources for a given day, month or year - you simply chop off segments.

Additionally, stackoverflow URLs are bad in the sense that they introduce an additional segment in order to feature the slug, which is a violation of the idea that each segment should represent descending a resource hierarchy.

Andrew Ingram
A: 

ok first off its seo and user friendly but in the case of the example {this site} its not done well or correctly {as it is open to black hat tricks and rank poisoning by others, which would reflect badly on this site}

if http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls has the content then

http://stackoverflow.com/questions/47427/ and http://stackoverflow.com/questions/47427/any-other-bollix should not be duplicates they should actually automatically detect the link followed is not using current text {as obviously the slug is defined by the question title and can be later edited} and they should redirrect 301 automatically to http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls

thus ensuring the 1piece of content to 1uri rule and the if uri-moves/changes ensure old bookmarks follow/move with it throught 301 redirects {so inteligent browsers can update the bookmarks}

Alan Doherty
View the Page Source and you'll find this: <link rel="canonical" href="http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls"> See: here: http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html
Atømix
+20  A: 

I recently changed my website url format from:

www.mywebsite.com/index.asp?view=display&postid=100

To

www.mywebsite.com/this-is-the-title-of-the-post

and noticed that click through rates to article increased about 300% after the change. It certainly helps the user decide if what they're thinking of clicking on is relevant, in terms of SEO purposes though I have to say I've seen little impact after the change

Katy
I hope your post titles never, ever change: a lot of people hate dead links and webservices producing them.
Nikita Rybak
+8  A: 

I agree with other responses that any mis-typed slug should 301-redirect to the proper form. In otherwords http://stackoverflow.com/questions/47427/wh should redirect to http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls . It has one other benefit that hasn't been mentioned--if you do not do a redirect to a canonical URL, it will appear that you have a near-infinite number of duplicate pages. Google hates duplicate content.

That said, you should really only care about the content ID and allow any input for the slug as long as you redirect. Why?

http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls

... Oops, the mail software cut off the end of the URL! No problem though because you still can roll with just http://stackoverflow.com/questions/47427

The one big problem with this approach is if you derive the slug from the title of your content, how are you going to deal with non-ascii, UTF8 titles?

Cory R. King
Nice post, very valid point! +1As for your question, "how are you going to deal with non-ascii, UTF8 titles?"There are algorithms for this, for example the one WordPress uses. I would post a PHP solution for this exact problem if more than 600 characters were allowed. If you really want to know, post it as a question and I'll be happy to answer it ;)
Mathias Bynens
re: "near-infinite number of duplicate pages" - that will only happen if there are links to the non-canon URL. If you keep it consistent within your site there shouldn't be a problem. Your theory about URLs being cut off is kinda silly, the URL could be cut off anywhere, right? Even after 4742, which would lead to a different question. As long as you stick to just standard letters, numbers, dashes and/or underscores in the URL that's less likely to happen.
DisgruntledGoat
As DisgruntledGoat suggested, Google technically wouldn't find any duplicate content unless someone linked to the page with a different slug, therefore tricking google's spider into thinking there is duplicate content. So the spider will hate this page, way to go guys ;)
Austyn Mahoney
+1  A: 

As already stated, the 'slug' helps people and the search engines...

Something worth noticing, is that in the source of the page there is a canonical url

This stops the page from being index multiple times.

Example:

<link rel="canonical" href="http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls"&gt;
Lucifer