Ashland is a town and former city in Clay County, Alabama, United States. The population was 2,037 at the 2010 census. The town is the county seat of Clay County.