Saturday, March 23, 2013

3/23/2013 02:41:00 PM
Google Stops Indexing Craigslist; Matt Cutts Fixes

Craigslist and Google
Tempest Nathan posted news in HackerNews thread and he indicates a blog post in which he mentioned about Craigslist. He said that Google has stopped indexing Craigslist.

I don’t think that it was correct, Google did halt indexing Craigslist. But why?

If Cragslist is doing spam in Google then it’s correct but did Craigslist spam Google? Did they break the Google webmaster guidelines? Did they add the noindex directive to their pages? Nah.

It was technical crotchet

The head of search spam, described at the HackerNews thread telling that they are solving the problem on Google’s side but this is what technically occurred.
To understand what happened, you need to know about the “Expires” HTTP header and Google’s “unavailable_after” extension to the Robots Exclusion Protocol. As you can see at http://googleblog.blogspot.com/2007/07/robots-exclusion-protocol-now-with-even.html , Google’s “unavailable_after” lets a website say “after date X, remove this page from Google’s main web search results.” In contrast, the “Expires” HTTP header relates to caching, and gives the date when a page is considered stale.

A few years ago, users were complaining that Google was returning pages from Craigslist that were defunct or where the offer had expired a long time ago. And at the time, Craigslist was using the “Expires” HTTP header as if it were “unavailable_after”–that is, the Expires header was describing when the listing on Craigslist was obsolete and shouldn’t be shown to users. We ended up writing an algorithm for sites that appeared to be using the Expires header (instead of “unavailable_after”) to try to list when content was defunct and shouldn’t be shown anymore.

You might be able to see where this is going. Not too long ago, Craigslist changed how they generated the “Expires” HTTP header. It looks like they moved to the traditional interpretation of Expires for caching, and our indexing system didn’t notice. We’re in the process of fixing this, and I expect it to be fixed pretty quickly. The indexing team has already corrected this, so now it’s just a matter of re-crawling Craigslist over the next few days.

So we were trying to go the extra mile to help users not see defunct pages, but that caused an issue when Craigslist changed how they used the “Expires” HTTP header. It sounded like you preferred Google’s Custom Search API over Bing’s so it should be safe to switch back to Google if you want. Thanks again for pointing this out.