Product Page Report:
- Report can be disabled in the backend see Mage::helper('reports')->isReportsEnabled();
- or you can override Mage_Reports_Model_Event_Observer and add your logic to the method catalogProductView()
Visitor Log:
The above report is not the only one that write on DB, the visitor log is far more active ( 2 insert for every BOT access ).
So if your concern is to limit the MySql activity you should look into the below infos:
The following methods are called on every access:
- Mage_Log_Model_Visitor:initByRequest()
- Mage_Log_Model_Visitor:saveByRequest()
Apparently Magento developers were aware by the BOT risk:
As you can see there is a filter in the constructor that check the user agent:
$ignoreAgents = $this->_config->getNode('global/ignore_user_agents');
if ($ignoreAgents) {
$ignoreAgents = $ignoreAgents->asArray();
if (in_array($userAgent, $ignoreAgents)) {
$this->_skipRequestLogging = true;
}
}
Anyway it filters only certain bot ...
<global>
...
<ignore_user_agents>
<google1>Googlebot/1.0 ([email protected] http://googlebot.com/)</google1>
<google2>Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)</google2>
<google3>Googlebot/2.1 (+http://www.googlebot.com/bot.html)</google3>
</ignore_user_agents>