P.S. As long as we're here:
request.user_agent =~ /\b(HttpClient|Baidu|Gigabot|Googlebot|libwww-perl|lwp-trivial|msnbot|SiteUptime|Slurp|WordPress|ZIBB|ZyBorg)\b/i
That, theoretically speaking, is supposed to catch most common well-behaved bots. Feel free to copy/paste it if you want, as it is better than nothing, but it probably won't get you in the vicinity of good numbers.
Incidentally, since page views are a vanity metric which don't really matter, I don't think that worrying about "good numbers" is that productive either way.
The only reason I was eventually convinced to care for A/Bingo is that artificially suppressing conversion rates can through statistical tests off, and A/B tests actually create actionable information for my business. For people who blog because they want to be heard, though, would lying to them to tell them they're more popular than they actually are actually hurt them? That strikes me as being close to the canonical white lie, in response to "Does this dress make me look fat?"
It's even worse if you're using it for a company blog (like many startups are doing). Because your blog page view stats can often become part of investor pitches or sales material to show traction. If you write an advert and say 10,000 people read your blog when they don't and that influences your customers buying decision, you can be prosecuted for misleading your customers.
That said, I know my sites get many thousands of hits from rogue comment spam and email harvesting bots with forged user agents.