{"id":398,"date":"2004-10-03T22:10:29-04:00","date_gmt":"2004-10-04T06:10:29+00:00","guid":{"rendered":"http:\/\/peterjanes.ca\/wordpress\/?p=398"},"modified":"2005-07-24T10:39:26-04:00","modified_gmt":"2005-07-24T15:39:26+00:00","slug":"bad-bots-what-you-gonna-do","status":"publish","type":"post","link":"https:\/\/peterjanes.ca\/blog\/2004\/10\/03\/bad-bots-what-you-gonna-do\/","title":{"rendered":"Bad bots (what you gonna&nbsp;do?)"},"content":{"rendered":"<div class='e-content'><p>(Written a month ago, but not posted until now due to lack of editing.  I figure if it&#8217;s public I&#8217;ll be shamed into updating it.)<\/p>\r\n\r\n<p>The following list is gathered from observations of two somewhat-related events.  The first event is that I inadvertently sent out Trackback pings from a local copy of my weblog, which set the blogbots all a-twitter; when I realized what I&#8217;d done, I began to block access to the URLs in question with HTTP status code 410 (<samp>Gone<\/samp>).  The second event is an examination of my access logs, in which I discovered (and blocked, generally with code 403) spambots and crawlers that I felt were poorly-behaved.<\/p>\r\n\r\n<p>Each criterion for badness is a violation of an element in <a href=\"http:\/\/diveintomark.org\/\">Mark Pilgrim&#8217;s<\/a> <a href=\"http:\/\/diveintomark.org\/archives\/2003\/07\/21\/atom_aggregator_behavior_http_level\">aggregator behaviour specification<\/a>.  I&#8217;ve interpreted SHOULD as MUST, as I&#8217;m unaware of any good reason for these agents to not follow the suggestion.  This isn&#8217;t a complete list of user-agents or errors, it just lists the most common ones I&#8217;ve seen.  Additions and updates are welcome.<\/p>\r\n\r\n<table border=\"1\" style=\"background-color:inherit\">\r\n<thead>\r\n<tr><th>User-Agent<\/th><th><a href=\"http:\/\/photomatt.net\/2004\/04\/20\/google-cooking\/\">Flails<\/a>?<\/th><th>Ignores 403?<\/th><th>Ignores 404?<\/th><th>Ignores 410?<\/th><th>Referrer spam?<\/th><th><a href=\"http:\/\/fishbowl.pastiche.org\/2002\/10\/21\/http_conditional_get_for_rss_hackers\">Unconditional retrieval<\/a>?<\/th><th>Notes<\/th><\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr><td>Googlebot\/2.1<\/td><td>yes<\/td><td>?<\/td><td>yes<\/td><td>?<\/td><td>no<\/td><td>yes<\/td><td><\/td><\/tr>\r\n<tr><td>Technoratibot\/0.6<\/td><td>no<\/td><td>?<\/td><td>?<\/td><td>?<\/td><td>yes<\/td><td>no<\/td><td><\/td><\/tr>\r\n<tr><td>Popdexter\/1.0<\/td><td>yes<\/td><td>?<\/td><td>?<\/td><td>?<\/td><td>yes<\/td><td>yes<\/td><td>Note: unthrottled spider, no robots.txt; adds \/ to URLs without extension<\/td><\/tr>\r\n<tr><td>PubSub.com RSS reader<\/td><td>no<\/td><td><del datetime=\"2004-12-13T23:49:00-05:00\">yes<\/del><ins datetime=\"2004-12-13T23:49:00-05:00\">no<\/ins><\/td><td>?<\/td><td><del datetime=\"2004-12-15T01:07:00-05:00\">yes<\/del><ins datetime=\"2004-12-15T01:07:00-05:00\">no<\/ins><\/td><td>no<\/td><td>?<\/td><td>403 and 410 processing fixed; if no more issues, will move to good bots list<\/td><\/tr>\r\n<tr><td>Syndic8\/1.0<\/td><td>no<\/td><td>yes<\/td><td>?<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><td>ignores 301<\/td><\/tr>\r\n<tr><td>Feedster Crawler\/1.0<\/td><td>yes<\/td><td>yes<\/td><td>yes<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><td>ignores 301<\/td><\/tr>\r\n<tr><td>BlogPulse (ISSpider-3.0)<\/td><td><\/td><td><\/td><td><\/td><td>yes<\/td><td><\/td><td><\/td><td><\/td><\/tr>\r\n<tr><td>BlogLines\/2.0<\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><ins datetime=\"2005-07-24T11:39:00-05:00\">ignores 301<\/ins><\/td><\/tr>\r\n<tr><td>Yahoo! Slurp<\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td>ignores 301<\/td><\/tr>\r\n<tr><td>kinjabot beta2<\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><del datetime=\"2004-11-10T01:31:00-05:00\">yes, every 6 hours<\/del><ins datetime=\"2004-11-10T01:31:00-05:00\">no<\/ins><\/td><td><\/td><\/tr>\r\n<tr><td>fastbuzz.com<\/td><td><\/td><td><\/td><td><\/td><td>yes<\/td><td><\/td><td><\/td><td><\/td><\/tr>\r\n<tr><td>Slower, Friendlier Spiders (BlogShares V1.36)<\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><td>ignores 301<\/td><\/tr>\r\n<tr><td>FeedRover 1.0; Headlines Archive<\/td><td><\/td><td><\/td><td><\/td><td>yes<\/td><td><\/td><td><\/td><td><\/td><\/tr>\r\n<tr><td>Twisted PageGetter<\/td><td><\/td><td><\/td><td><\/td><td>yes<\/td><td><\/td><td><\/td><td><\/td><\/tr>\r\n<tr><td>everyfeed-spider\/1.0<\/td><td>no<\/td><td>?<\/td><td>?<\/td><td>yes<\/td><td><\/td><td>yes<\/td><td><\/td><\/tr>\r\n<tr><td>IconSurf\/2.0<\/td><td>yes (<a href=\"http:\/\/iconsurf.com\/robot.html\">by design!<\/a>)<\/td><td>yes<\/td><td>?<\/td><td>?<\/td><td>yes<\/td><td>?<\/td><td><a href=\"http:\/\/bitworking.org\/news\/No_Fishing\"><code>\/favicon.ico<\/code> is stupid in the first place<\/a><\/td><\/tr>\r\n<\/tbody>\r\n<\/table>\r\n\r\n<h4>Good bots<\/h4>\r\n<p>Giving credit where it&#8217;s due, here are the bots (and aggregators) that have been well-behaved so far:<\/p>\r\n\r\n<ul>\r\n<li>NewsMonster<\/li>\r\n<li>nntprss\/0.4-beta-6<\/li>\r\n<li>SharpReader\/0.9.5.1<\/li>\r\n<\/ul><\/div><div class=\"syndication-links\"><\/div>","protected":false},"excerpt":{"rendered":"(Written a month ago, but not posted until now due to lack of editing. I figure if it&#8217;s public I&#8217;ll be shamed into updating it.) The following list is gathered from observations of two somewhat-related events. The first event is that I inadvertently sent out Trackback pings from a local copy of my weblog, which&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"venue_id":0},"categories":[3],"tags":[],"kind":false,"_links":{"self":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/398"}],"collection":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/comments?post=398"}],"version-history":[{"count":0,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/398\/revisions"}],"wp:attachment":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/media?parent=398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/categories?post=398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/tags?post=398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}