You might have heard that we launched Facebook Stack Overflow yesterday.
As part of this, we modified our code to put
<meta rel="canonical" ... tags on every question and user on the facebook.stackoverflow.com domain that points to "vanilla" Stack Overflow.
On facebook.stackoverflow the html contains the meta tag
<link rel="canonical" href="https://stackoverflow.com/questions/3720459/iad-error-ad-inventory-unavailable">
The intent there is to tell Google "these are exactly the same page, impart all page rank to Stack Overflow's copy and prefer it in search results".
This seems like the point of rel="canonical".
A canonical page is the preferred version of a set of pages with highly similar content.
It's common for a site to have several pages listing the same set of products. For example, one page might display products sorted in alphabetical order, while other pages display the same products listed by price or by rating. For example:
If Google knows that these pages have the same content, we may index only one version for our search results. Our algorithms select the page we think best answers the user's query. Now, however, users can specify a canonical page to search engines by adding a element with the attribute rel="canonical" to the section of the non-canonical version of the page. Adding this link and attribute lets site owners identify sets of identical content and suggest to Google: "Of all these pages with identical content, this page is the most useful. Please prioritize it in search results."
However, we're seeing Facebook Stack Overflow results and sometimes they even outrank vanilla Stack Overflow (an example). Maybe this is something to do with having an independent sitemap.xml for facebook.stackoverflow.com (sort of a shot in the dark)?
So, what are we doing wrong here?
We're kind of hoping to keep searches of the form
site:facebook.stackoverflow.com working, but giving those up is totally acceptable if a total
rel="noindex" is required.