The 28-year-old former England Under-21 international left the Shrews earlier this summer after two seasons with the club.
"I've spoken to a few clubs but it was nice to be able to choose Cheltenham because I've heard great things about the club and the area so I am pleased to be here," he told the club's official website.
"As soon as I heard about Cheltenham I was really looking forward to coming here and playing.
"It's a lovely part of the world for my family too and that is important to me."
Richards, who can play on the left side of midfield and at left-back, began his career with Ipswich before loan spells with Brighton and almost 100 appearances for Walsall.