After playing for Alajuelense, Herrera joined Norwegian club Aalesund in August 2009.[2] After the 2011-season, Aalesund and Herrera decided to terminate the contract, as Herrera never managed to recover from an injury.[3] In September 2012, he was snapped up by Uruguay de Coronado[4] and in summer 2013 he joined Cartaginés.[5]
In December 2014, Cartaginés declared they could lose the player over a legal battle with former club Alajuelense.[6]