Skip to content

Stop Doing Internet Wrong!

 Scott Hansleman recently posted a great piece on how people Do Internet Wrong - one which I heartily recommend everyone read because really you're all still making a mess of it.

We agree on 8 out of his 9 points:

  • Redirecting a deep desktop link to a mobile home page is BAD AND WRONG
    If I grab my iPhone and go to http://www.example.com/store/shinywidget I damn well want the page about shiny widgets.
    Please don't redirect me to http://m.example.com/ with your crappy designed-for-a-mid-1990s-Blackberry "Mobile site" home page.
    • Corollary: If I'm using a modern smart phone don't EVER send me to your crappy designed-for-a-mid-1990s-Blackberry "Mobile site"!
       
  • Crippling your site and trying to force me to download your "Mobile App" is STUPID.
    Again, I'm using a modern smartphone. The web page looks great and loads fast.
    Your app? It SUCKS. It takes 5 seconds to load (splash screens are the work of Satan), crashes all the time, and it's harder to navigate than the website. Plus I know my way around the website - I use it EVERY DAY on my desktop and I just want to check that one item quick on my phone.
    Let's not make this hard, OK?
    (Every website out there that uses "TapTalk"? I'm looking at you right now and I'm NOT smiling.)

  • Giant interstitial ads make me not want to use your site anymore
    Scott called out Forbes on this (and they're a MAJOR offender - I cringe every time I want to read a Forbes article), but so many sites do this.
    • Corollary: Modal ads that pop up after 30 seconds are even worse!
    • Corollary: Interstitial or Modal ads that play obnoxious sounds merit the death penalty.
       
  • Only being able to click the checkbox, not the label? Why do you hate me?!
    Do some of these web developers know how small checboxes are on modern monitors? In Safari they're actually decent-sized, but the label is still so much bigger and easier to stick my mouse over and click on.
    (CMS and "web application in a box" vendors - If your form labels aren't clickable you best be fixing that shit!)

  • Breaking Links Is Bad
    Nuff said? Yeah - I think so too.
     
  • "Click the flag that represents your language"?
    How about you just auto-detect it you lazy shit. Seriously.
    • Corollary: GeoIP has been a thing for over a decade. Please don't make me tell you what country I'm in. (But DO let me override it if you get it wrong)
       
  • I'm giving you my zip code. Can't you figure out my state?
    Here's a hint: YOU CAN AND IT'S REALLY EASY. Lazy shits.
     
  • Using width and height to make the browser resize images is WRONG
    I'll allow a little fudge-factor here - you can scale down by 10% and I won't hate you.
    If you're taking a 6 megapixel image and trying to scale it down to a 3-inch-by-3-inch box on your web page? No. Not acceptable. You can resize that on the server and not waste all my bandwidth, ThankYouVeryMuch.
    By the way you're the one paying for this bandwidth - your users on consumer cable modems and FiOS can suck as much data as they want for a flat fee, but when you get featured on reddit and a million people are downloading that 4-meg JPEG image of your cat you better believe your ISP is gonna be charging you for all the extra transfer.

     

 

 So that's 8... what about number nine?

Number nine concerns how you handle serving pages when http://www.example.com/ and http://example.com/ are the same site - and it was the source of a spirited discussion on Twitter earlier today that I thought merited some more in-depth discussion.

Let's start off with what we can all (hopefully) agree on: IT SHOULD WORK BOTH WAYS.
If I visit http://www.example.com/foo/shinywidget or http://example.com/foo/shinywidget I should get the same content. I shouldn't get a 404 just because I left off (or added) the www and I shouldn't get a "Hi! Welcome to the default unconfigured Apache virtual host!" page either.

I will go further and say that as codertroll pointed out your canonical URL should be the one without the www these days (because really, Gopher is dead).
We all print our business cards with just example.com on them, and it's generally expected that I can type example.com into my browser and I should get the site homepage.

 

So where do we differ? In the how.

Scott (and most search engines, as far as I'm aware) are against the idea of serving content from two URIs with HTTP/200 status and the content.
They would rather see HTTP/301 redirects pointing users to the canonical URL that you want everyone to use.

Why do I think the redirect is a bad thing? Any decent DNS administrator has probably read RFC 1912, If you're not a DNS administrator take a look atsection 2.4 where they talk about CNAME records and why you shouldn't use them for things like MX records -- the problem there is the same problem I have with using a redirect for canonicalization: This results in unnecessary indirection in accessing the data.

Is this a huge problem? No. We're talking maybe an extra 1KB of data transferred and round-trip to the server. For most sites you'll never know.
Could it affect the user experience? Yes (especially if the server is overloaded and doesn't answer the second request), but again it's not likely. 
 

Why does it matter? Beacuse SEO.
Google (and probably other search engines) don't like to see duplicate non-canonicalized content.
There is evidence that non-canonicalized content hurts your search rankings, and frankly Google is the internet: search rankings are important.

Now, for my part I would argue that Google is wrong here: There is no reason to penalize a site for serving identical content at http://example.com and http://www.example.com and frankly the fact that they do so is bullshit. Google can detect the identical content (and the identical server - because come on you can tell the IPs are the same!)  and treat them as one item in the index.

 

What do I do?
I have the luxury of frankly not giving a damn about SEO -- this server serves http://bsd-box.net, http://www.bsd-box.net, and http://207.252.0.184 and it does so with HTTP/200 - OK - Here's your content. If that upsets Google's ranking algorithm I'm OK with that -- I'm not running this server for money.

 

What should YOU do?
If you're not like me and your search engine ranking is important, "Do what Google wants" is your mantra.
I will freely admit to being a hypocrite: My company's web page returns HTTP/301 for our "www" domain. As a professional and a pragmatist I'm aware that sometimes you have to do Bad Things to get Good Results.

A redirect is definitely preferable to the "other" solution: adding rel="canonical" to your site's HTML for every page.
The HTML solution will make the search engines happy too, but it bloats your HTML (and in terms of additional transfer/overhead it will probably wind up being more wasteful than the redirect). 

Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

No comments

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Twitter, Pavatar, Gravatar author images supported.
Form options