I wonder if it’s possible to identify link spammers (you know, these bots that mass-submit a link into as many blogs/etc they can find in order to boost their page rank) by the simple measure of how many of the links to their site are marked ‘nofollow’.

Say, a regular page should have less than 5% (and less than 20) nofollow links; a site that goes significantly above this value probably employs some spam bot.

The only really hard thing is how to avoid attacks on a site using this … say, I write a bot that spams links to Microsoft on as many sites as it can find that DO use ‘nofollow’, in order to get that site above the limit, and have google penalize it.

So in general I don’t think Google would automatically penalize such things, still it could be used to e.g. have a human check the destination site for useful content, and then only blacklist when it doesn’t seem to be useful.

P.S. Which BTW is a reason why some of the SEO “do nots” are bullshit: it would be too easy to deliberately use these to blacken a competitor. So a ‘link farm’ will at most do nothing to raise your ranking; but Google must not allow you to actually lower a competitors ranking by setting up a link farm to him!)

P.P.S. On another side note: Who guarantees that Google actually ignores “nofollow” links? They could also just be assigned a lower weight or a penalty, so that a “nofollow” link from a strong site such as Wikipedia would still be worth a lot, while the average blog comments page link goes down to 0. Say a “nofollow” link from a PR 6 site is as much worth as a regular link from a PR 4 site, and PR 2 becomes PR 0. Would already do much of the trick in discouraging the use of blog spam bots. Because after all, ignoring the links on Wikipedia for page rank would be quite stupid. In German Wikipedia, the page contents are even “sighted” (aka: peer reviewed); this is a rather trustworthy source, especially when you take time effects into account. A link being constantly in Wikipedia on a popular page for more than a month very likely is good.