URLQuiz #1: To .WWW or not to .WWW?

As promised, this is the first of what will be many URLQuizes here are the blog for The Well Designed URLs Initiative. This URLQuiz discusses the convention of using a subdomain with the name ‘www‘ to identify a website.

As most everyone knows, many of the first sites on the web started using this convention. Examples include  www.amazon.com, www.yahoo.com, www.google.com, and www.ebay.com. However, there is nothing about the web that requires a subdomain be named ‘www‘ when selecting the address for a website. To the contrary, many websites use other subdomains for prefixes such as:

There is even a passionate contingent of web developers  that believe the ‘www‘ convention is an anachronism and should be deprecated (or ‘eventually abolished‘, in layman’s terms.)

So how should the base domain and subdomain(s) be handled, and what are the pros and cons of each? Here are the options I’ve identified, but feel free to suggest others that come to mind as well:

  1. Establish the ‘www‘ form as the implicit canonical form and issue a 404 – Not Found whenever an inbound request attempts to deference a URL using the root domain (i.e. without ‘www‘ or any other subdomain.)
  2. Establish the non-’www‘ form as the implicit canonical form and issue a 404 – Not Found whenever an inbound request attempts to deference a URL using the ‘www‘ subdomain.
  3. Establish the ‘www‘ form as the implicit canonical form and use a 301 – Moved Permanently (redirect)  whenever an inbound request attempts to deference a URL using the root domain (i.e. without ‘www‘ or any other subdomain.)
  4. Establish the the non-’www‘ form as the implicit canonical form and use a 301 – Moved Permanently (redirect) whenever an inbound request attempts to deference a URL using the ‘www‘ subdomain.
  5. Do not establish a canonical form and return 200 – Ok for both the ‘www‘ form and the non-’www‘ form.
  6. Abandon both the ‘www‘ form and the non-’www‘ form and always use explicitly subdomains based on your site organization like in the examples shown above.
  7. Some combination of 1 through 6 I haven’t already described.
  8. Or, something completely different?

So there you go; give your answer(s) in the comments. Though I definitely have my opinions on the subject I will stay out of it unless I don’t see anyone mentioning several of the points I think are relevant. After enough comments come in, I’ll summarize and write a follow up post, just like Dan Cederholm did with SimpleQuiz.

Hint: You might want to consider not only online usage but offline usage as well.

UPDATE: Just days after writing this post Tim Bromhead wrote: Which is better for your site: www or no www?  Is that weird or what? Tim must have had some kind of a Vulcan Mind Meld or similar going on… Anywho, great article Tim and thanks for being a URLian!

UPDATE#2: Looks like I picked the right time to discuss this issue! A few days ago Scott Hanselman talked about the downside of ignoring the distinction between ‘www’ and the root domain, Jeff Atwood discussed how to solve it, to which Phil Haack then responds with a bit of a rant about the www or lack thereof. Since they both have such strong yet opposite opinions on the subject, maybe we can get both Jeff and Phil to weight in on the subject over here…?

Technorati Tags: URL Design | Subdomains | Canconical Form | www | no-www

This entry was posted in Framework Developers, Internet Professionals, Open-Source Participants, Search Engines, SEO Consultants, Standards Participants, URLQuiz, Web App Providers, Web Designers, Web Developers. Bookmark the permalink.

15 Responses to URLQuiz #1: To .WWW or not to .WWW?

  1. Brad Fults says:

    I vote for option 4.

    The “www” subdomain is superfluous and unnecessary baggage on many URLs. Requests to a www subdomain should still work, but simply redirect to the main domain name and serve the appropriate content.

    One of the arguments I’ve heard against deprecation of “www” is that “people won’t know it’s a web site if they see it in a TV commercial or in a newspaper or hear it on the radio”. I say this simply isn’t true. People know when they see [something].com or [something].net, etc. that it’s an Internet domain name. In fact while visiting Europe I noticed that nearly all advertisements lack a “www” prefix — it seems the US companies are the slow ones to switch away from this archaic and useless practice.

    I see the form of domain names approaching a ubiquity rivaling phone numbers: when consumers see 1-800-XXX-XXXX or 877-XXX-XXXX (in the US at least), they don’t have to make sure it’s not a Social Security Number or a bank account number; they know it’s a phone number.

    Similarly (and increasing by the minute), consumers know what a domain name looks like and can eventually navigate to a domain name on the internet without the aid of any silly “www” prefix. This can and probably should be aided by context. With phone numbers it’s usually “Call 877-XXX-XXXX”, so with domain names it can be “Go to [something].com” or “Visit [something].com”.

  2. Count me in for #4 as well.

  3. Devon Young says:

    I use a 301 permanant redirect for anything on my site that starts with “www.”, since I know a few people who aren’t computer literate seem to think that a “www.” is a necessary thing. So I doubt a 404 error would make any sense, as it would leave those users confused and they wouldn’t even know how to retype the URL so they might get the right place. It’s simple, clean, and there’s less typing, and no extra “air” filling the bag.

  4. Sean Leather says:

    I’m not sure which should be the canonical form. I lean towards no-www (and use this on my sites), because it’s less redundant. Unless you have already published a “www.” address, I would probably have a 404 and not a redirect, because that leads to “www.” URLs in links to your site.

  5. Igor Clark says:

    I vote for, and implement, #3.

    A website is a resource within a domain, and should be addressed as such. There’s a sensible organisational reason why DNS has a distinction between A, MX and NS (etc) records, and while it’s understandable that some users, notably non-technical ones, don’t realise that there is a point to ‘www’ (or whatever subdomain/hostname is used, which I think is an equally valid but different issue), it’s very easy to catch these users via an @ A record and redirect them explicitly via 301 to the canonical ‘www’ (or other) resource name.

    404 would make no sense, as it would just mean a lot of annoyed people not being able to find what they want; 301 would mean people being educated, even if only subliminally, that there is a point to naming conventions and standards. Majority consent is one thing, but the simple fact of a number of people failing to bother to use a standard which is there for a sound structural reason does not mean that the standard should be discarded.

  6. vcsjones (ASP.NET forums) says:

    Depends on what the client gives me. Generally I avoid anything implicit, so I know what I am controlling, so #6 is my choicer.

  7. Haacked says:

    Well I think you know where I stand on this, I’m going to have to go for #4. Something I have yet to implement for my own blog.

  8. simone says:

    My vote is for #3.

    I like the www since I started working on the web in 1995, so I like it for historical reason…
    but the root must also be accepted, but having both raises many problem with cookies and stats as they are 2 different domains for the same site

  9. Carl Camera says:

    Another vote for 4 from me, but I have not implemented. In addition, the Google Webmaster Tools interface allows me to specify my preferred canonical form (Domain Preference tab) for my websites — which I have done.

  10. Obviously they both need to work. I cringe every time I go to a company’s website WITHOUT the www and see an (invariably IIS) 404 for the domain.

    Long-term I favor just domain.com as it’s less to type and “teaches” people that www is not meaningful. People need to realize this.

    My company offers a CMS for the real estate industry. We have generally unsopshisticated computer users as customers. They are quite confused when I try to get them to go with a web site without the www in front. For instance, if I try to get them to go to a subdomain, as in “Go to subdomain.showcasere.com in your browser”, they always instantly respond with “www. what?”. And then I say “No www”, and then they end up typing in “subdomain@showcasere.com”. Seemingly if it doesn’t start with “www” some people still just don’t recognize it as a web site. It’s very frustrating.

    Our system produces PDF flyers for houses, and we give each property its own address, such as “123MainStreet.ViewHouseForSale.com”. I left the www off for brevity. Unfortunately, customers were confused as to “what is that thing on the flyer”.

    So that should let you know at least anecdotally that people aren’t ready for no WWW.

    And I’d certainly recommend that any site that accepts subdomains *also* accept www. in front of *anything* and work correctly.

  11. Mark Andrews says:

    There really is nothing new in the world. Just old ideas revamped. www will go the same way that host labels (and sub domains) have gone from email addresses.

    However for this to achieve ubiquity we need to address some of the day-to-day management issues required to do this.

    Today that solution is to add address (A/AAAA) records at the apex of the zone. This however is a non-optimal solution especially if the site is being hosted by a second party.

    * There is a slight risk that old MTA’s will attempt to deliver email to the hosting machines.
    * It’s hard for the hosting sites to change the addresses of the servers as it requires a large co-ordinated effort.
    * The usual instructions for www to add a CNAME don’t work for names which are the apex of zones. CNAME are illegal there.

    There is however a potential solution which is to use SRV records (RFC 2782). These provide a level of indirection (which CNAME provide for www). They also don’t run the risk of misdirected email. They can be used regardless of where the zone cuts occur in the DNS hierarchy.


  12. biophonc says:

    imho it’s the best solution for me atm.

    I do not like the www thing at all, but a lot of big sites use the www thing in online and offline marketing and also have only the www sub domain active/in use and or make a redirect to www. However,… for most people the www prefix stands for a link to a website. Without the www prefix they think the website does not work. www.*.tld = entity ? They always look irritated when I tell them it’s absolutely not necessary but they do not understand(or don’t want) and type again www.*.tld

    The best thing would be (obviously) to use #2 to reeducate the (l)user :)

  13. As for my site the default configuration was that www and non-www pointed to the same content. After a few days the site was on I noticed that some search engines indexed the www variant, some the non-www variant and iirc one even treated both differently and yielded results with and without the www. I decided pretty early (so to not break many links, if there ever were any …) to get rid of the www form and installed a redirect from www. to the non-www form (unfortunately only for the root, so no deep links were considered. However I never got around thinking about how I might do that :).

    I also noticed that I almost never type the www anymore, anyway. Except for a few sites I know where I get nothing without the www and they constantly annoy me. It’s also not nice to the user to issue 404s in that case, imho.

  14. Pingback: The Great Dub-Dub-Dub Debate | Developer Home

  15. Jeff Rivett says:

    You use the word “deference” repeatedly in your text. I think you meant to say “dereference.” Also, the link to the “Deference” article is broken.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>