La commune est traversée par la route départementale 906E (liaison du Puy-en-Velay et Thiers à Vichy). La D 906, empruntant le tracé du contournement sud-ouest ouvert depuis le 2 février 2016, quitte son itinéraire historique à au sud du centre-bourg.