The Lions will pay an undisclosed transfer fee for Keogh, 25, who has been at Molineux since January 2007 when he left the Iron in a deal worth around £600,000.
Although he quickly established himself in the Wolves first-team, he has been loaned out to Cardiff, Bristol City and Leeds since the start of last season.
"I'm sure I'll settle in quickly and hopefully can play my part in helping the team become successful," he said.
"I'm now looking forward to moving down with my family, getting settled and start concentrating on my football again."
The Republic of Ireland international cannot play for the Lions against Millwall on Tuesday night, but is in line to make his debut at West Ham on Saturday.