rel=”canonical” for non-HTML files?

Update in June 2011: Google now supports
rel=”canonical” in the HTTP header
! It’s party time.


Q: How would Google implement rel=”canonical” for non-HTML files?


A: Likely through the link entity in the HTTP header. It would look something like this:


HTTP/1.1 200 OK
Date: Tue, 20 Apr 2010 07:28:14 GMT
Server: Apache/2.2
Content-Type: text/html; charset=UTF-8
Link: <>; rel="canonical"
Transfer-Encoding: chunked


Q: When will this feature be ready?


A: Oh no, sorry if I misled. We probably won’t support this any time soon.


Q: Rats!


A: That’s not a question.


Q: So why wouldn’t you guys support rel=”canonical” in the HTTP header?


A: Truth is, we’ve discussed it internally and we’re currently leaning toward the worry that it may cause more damage than benefit.

  • An HTTP header with rel=”canonical” could be too obscure for many webmasters to debug — it’s a lot more obvious to troubleshoot when it’s in the HTML source.
  • We favor verifying correct adoption/implemention before increasing support for new features. For example, we waited some time before rolling out cross-domain rel=”canonical” to be sure same-domain rel=”canonical” was largely properly implemented.
  • Less notably, it’s not an often requested feature.
  • Update on 04/20/2010: We still use URLs in your Sitemap as a hint for your preferred canonical whether it’s HTML or non-HTML content (thanks to John for mentioning this!). So when we have a cluster of duplicates, your Sitemap URL can be the display version and obtain the linking properties from the cluster. Unlike rel=”canonical”, it’s not quite as strong a signal and it doesn’t have the ability to actually cluster dupes.


Last thing: If you feel that the lack of HTTP header support for non-HTML files is a gaping hole in rel=”canonical” functionality, let us (me) know. Otherwise, it’ll probably remain low to miniscule priority for some time to come.

Pseudocode for giving compliments

Women are diverse. And, in this beautiful diversity of women, there are some (like me) who are (at times) slightly neurotic (let’s pretend it’s endearing?). I think this is one reason why, if you’re a boy, complimenting a woman can be difficult.


Women are people, and people can be caught up in their thoughts, past relationships, childhoods, etc. Navigating personalities and knowing the “right”, or even just the “all right,” thing to say can be like walking through a minefield. What worked in one situation could be a total turnoff the next time around.


In most aspects of life, randomness sucks. If you’re a man, and if a woman has taken your compliment the wrong way, I empathize. I hope that all compliments from nice guys are accepted as they were intended, but for whatever reason, sometimes compliments falter — either they fall flat or they do more harm than good.


For all my neuroses, I’d still like to think that I’m logical. Here’s my first pass at creating a complimenting algorithm to help guys make more sense of (at times, crazy) people like me.


Again, pease note that I, Maile Ohye, am strange/nutty/<your-adjective-here>. The tests and algorithm do not apply across the board.


Compliment test cases


  1. On the phone: “You’re perfect.”
    I could literally feel my brain pagefaulting when I heard this — my flaws are numerous. He seemed fairly sincere, but this had to be a joke. He later clarified that by “perfect”, he meant that he “respected me and held me in high regard.” So while my first reaction was “this guy is illogical” this compliment had a happy ending.

  3. At a bar: “You’re pretty.”
    FAIL (So sorry, kind of harsh, I know)
    It’s always nice to hear that you’re pretty, but it feels a bit strange, too. I tend to wonder how many drinks he’s had, and whether he has any interest in me as a person. Besides, “pretty” isn’t an adjective I would use to describe myself. It’s just so dainty.

  5. Accidentally turning/bumping into each other at a bar: “Wow, you’re pretty!”
    So spontaneous it’s sweet.

  7. At a bar: “You’re pretty. But you probably hear that all the time. I just really like your smile.”
    Lol, thanks! (I’ll take it.)

  9. If you’re in a relationship together: “You look pretty!”
    Aww. So nice of you to say.

  11. All of the compliments above, but said to me in my early twenties.
    You could’ve said “I love your pink hair” and I would’ve eaten it up.
    Update on 04/13/2010: To clarify, I never had pink hair.

    My algorithm for giving compliments in common situations


    if (she’s your girlfriend || she’s not super confident) {
      needs and/or likes reassurance = true;
      desires appreciation for how she hopes to see herself = true;
      noteToSelf(needs and/or likes reassurance, desires appreciation for how she hopes to see herself);
      // also good to randomize calling customizedCompliment()


    if (you’re pre-relationship) && (she’s a confident person || she’s no longer in her early 20’s) {
      needs reassurance = false;
      desires appreciation for how she hopes to see herself = true;
      noteToSelf(needs reassurance, desires appreciation for how she hopes to see herself);
      if (your compliment is truly spontaneous) || (your authority on the topic is indisputable) || (your sincerity is unmistakable) {
      else {
        // best to elaborate


    Please let me know if this doesn’t make sense.