Traore will sign a two-and-a-half year contract with Portsmouth.
The 26-year-old won the Champions League with Liverpool in 2005.
Traore joined Charlton from Liverpool in the summer for £2 million, but have struggled since his move.
The Mali international has previously played for French clubs Lavel, Metz and Lens.