Second-half substitutes Randy Edwini-Bonsu and Cyle Larin each scored their first senior international goals for Canada in the second half, with Edwini-Bonsu's coming in the 60th minute and Larin finding the net in the 77th.
"The first goal came late in the first half and I think it gave us the confidence to get more in the second half," Ricketts said. "We finished off the last few minutes of the first half well to have the lead into the second half and we did good work to keep the lead and go get more goals."
Canada was never really troubled in their defensive end in front of a crowd of very vocal Puerto Rican supporters.
The Canadians dominated much of the early going but couldn't score until the final minutes of the first half. Their best chance came off an early corner kick when Julian de Guzman smashed a Kyle Bekker corner kick off the post.
Canada got on the scoreboard in the 42nd minute as defender David Edgar slid a nice pass to Maxim Tissot on the left side. Tissot then crossed to Ricketts, who faked a defender and scored his eighth career goal at the senior level.
Puerto Rico is 160th on FIFA's men's rankings.
Canada, which is ranked 116th in the world, heads into June's World Cup qualifying against Dominica on a three-game unbeaten streak. The Canadians are 3-0-1 against CONCACAF opponents under head coach Benito Floro.
"We are going to play Dominica on a pitch similar to this one tonight (and) in these conditions so it has been a good test," Floro said. "Considering that Puerto Rico is a young team but with three or four good players, we consider this game is a good practice to play against Dominica."