본래 백제의 고산현(孤山縣, 또는 烏山縣)이었는데, 당나라가 백제를 점령한 뒤 마진이라 고치고 지심주(支潯州)의 9개 영현 중의 하나로 하였다. 신라 신문왕 때 이곳을 회복하여 고산현이라 하였고 경덕왕 때 임성군(任城郡)의 영현으로 삼았다.
통일신라 말기 운주(運州: 지금의 洪城)를 비롯한 10여 개의 주현(州縣)이 견훤(甄萱)에게 가담하게 되자, 왕건(王建)이 예절바른 유민(流民) 500여 호를 살게 하고 오산성(烏山城)을 예산성(禮山城)으로 바꾼 뒤 그 지명이 오늘까지 전해온다.
마진의 뜻은 ‘매(買)’와 관련이 있는 것으로 물가의 나루와 관련 있는 것으로 본다. 고산은 지금의 예산읍 산성리 무한성(無限城)의 외딴 산이라는 뜻에서 나왔다. ‘오(烏)’와 ‘고(孤)’는 같은 음에서 유래된다.