Quand le traffic d'un site augmente; il y a fort à parier que googlebot, msnbot et d'autres viennent y jeter un coup d'oeil. Le problème est que ces bots ne connaissent pas les cookies, et font générer une nouvelle session à rails à chacune de leurs visites. Ce qui peut vite devenir un cauchemar pour le répertoire tmp/sessions.

Pour éviter cela, on peut empêcher les bots de créer une session, il suffit de déterminer si le visiteur est un bot et de désactiver les sessions. Dans le contrôleur :


 session :off, 
  :if => Proc.new { |request| request.user_agent =~ /(Baidu|Gigabot|Googlebot|Exabot|QihooBot|crawler|Crawler|Spider|Nutch|psbot|Seekbot|MJ12bot|IRLbot|libwww-perl|lwp-trivial|msnbot|SiteUptime|Slurp|WordPress|ZIBB|ZyBorg)/i }

Il s'agit bien sur d'une liste non exhaustive des bots existants. Vous pouvez en trouver d'autres en étudiant un peu les logs de votre site.

Source (en) : http://gurge.com/blog/2007/01/08/turn-off-rails-sessions-for-robots/