Bates, 22, signed with the Eagles as an undrafted free agent in April. The offensive tackle was getting mostly third-team reps in Philadelphia.
Bates made 14 starts at left guard and left tackle as a freshman, eight starts at left tackle as a sophomore and 12 starts in the 2018 season, with nine coming at left tackle and three at right tackle.
The Bills signed Harold this past offseason, but he was buried on the depth chart. Harold was getting third-team reps.
Harold, 25, played for Detroit last season after three years in San Francisco. He has played 61 games, with 25 starts, and has made 94 tackles, nine sacks and a forced fumble.