1

Is it possible to prevent a site from being scraped by any scrapers, but in the same time allow Search engines to parse your content.

Just checking for User Agent is not the best option, because it's very easy to simulate them.

JavaScript checks could be(Google execute JS) an option, but a good parser can do it too.

Any ideas?

user584397
  • 347
  • 2
  • 12

2 Answers2

1

Checking link access times might be possible, in other words, if the front page is hit, then the links on the front page are all hit "quickly".

Even easier, drop some hidden links in the page; bots will follow, people almost never will.

Dave Newton
  • 158,873
  • 26
  • 254
  • 302
  • But, won't it block search engine bots too ? – user584397 May 28 '12 at 14:53
  • @user584397 Most legitimate search bots identify themselves as such, no? I mean, you're trying to do something that's essentially impossible, because any bot could completely execute a page, understand what's hidden, put in random delays to simulate human browsing, etc. Your expectations have to be reasonable, and whatever you do should have a reasonable ROI. – Dave Newton May 28 '12 at 14:55
1

Use DNS checking Luke! :)

  1. Check the user agent to see if it's identifying itself as a search engine bot
  2. If so, get the IP address requesting the page
  3. Reverse DNS lookup the IP address to get a hostname
  4. Forward DNS lookup the hostname to get an IP address

Same idea provided in help article Verifying Googlebot by Google

Rusted
  • 579
  • 3
  • 9