Na versão 1.9.x.x já temos o captcha no frontend, mas não tem para o formulário de contato e se faz necessário, então procurando no google achei este post:
Este módulo implementa o captcha para o formulário de contato, mas não implementa todo o captcha no frontend pois já existe no Magento, então o nome do módulo fica confuso, dando a impressão que ele faz o captcha todo, por isto mudei o nome para contactcaptcha, mas quem desenvolveu foi Dchayka.
Aqui o módulo Letti_Contactcaptcha.tar
Cuidado! Ele vai sobrescrever o app/design/frontend/base/default/layout/local.xml do seu Magento, se ele existir, verifique antes e faça uma cópia, depois terá que juntar os dois.
No admin ir em: sistema->configuração->clientes->configuração cliente->CAPTCHA
Em “símbolos usados no CAPTCHA” deixei estes: ABCDEFGHJK23456789 são os melhores na apresentação, não confundem o usuário na hora de visualizar a imagem formada.
alterar o “Modo de exibição” para opção: Sempre
Caso seu tema não tenha a chamada, procure em:
app/design/frontend/base/default/template/contacts/form.phtml
ou
app/design/frontend/rwd/default/template/contacts/form.phtml
Adicionar a linha abaixo (<li>..até </li>) antes de fechar o </ul></div> tag, na linha 62.
</div> </li> <li><?php echo $this->getChildHtml('form.additional.info'); ?></li> </ul> </div>
Ainda achei um problema com tradução, muitos fazem o arquivo de tradução para o captcha mas não funciona, não tem a referência no etc/config.xml do módulo captcha no core, como não convem alterar o core, pois podemos ter problemas com os patches, a solução adotada foi copiar o arquivo Mage_Captcha.csv e apendar no Mage_Page.csv, que ficam na pasta app/locale/pt_BR.
Limpe o cache e pronto !
Foi o que fiz em várias lojas e funcionou.
Alfredo Letti