Parece ser que fue fundada por los turdetanos aunque no está muy clara la etimología de su nombre.
Durante la época romana fue la antigua Corticata.
La conquista cristiana fue llevada a cabo por la Orden Hospitalaria. Cambiaría de manos sucesivas veces en el conflicto del Algarve al que el Tratado de Badajoz puso fin.
La edificación de su castillo está relacionada con la autorización que Sancho IV el Bravo dio a la ciudad de Sevilla para construirlos en su frontera entre los años 1284 a 1295.