Here are the 49ers’ grades after their 23-3 loss to the Carolina Panthers.
QUARTERBACK: C-minus. Brian Hoyer completed 69 percent of his throws despite getting hit 12 times, four of which were sacks. He had to throw quick, short passes, which is why he averaged just 5.5 yards per attempt. He did throw one beautiful deep pass which should have been a touchdown, but Marquise Goodwin dropped the ball. Had he caught it, Hoyer would have averaged 6.8 yards per attempt and his passer rating would have been 87.7, which would have been respectable. Hoyer was not the 49ers’ problem.
RUNNING BACKS: C-plus. Carlos Hyde gained 45 rushing yards on nine carries. Most of his rushing yards came between the tackles – the 49ers outside zone running game still isn’t working. Hyde also caught 6 passes for 32 yards. He was the 49ers’ second-leading receiver. Matt Breida was a non-factor as a change-of-pace back.
WIDE RECEIVERS: D. Pierre Garcon gained 81 yards on 6 catches. He should have another catch for roughly a 20-yard gain, but Hoyer’s pass was wide left. Garcon was very good. Marquise Goodwin was horrible. He let a perfect deep pass drop through his arms because his eyes didn’t follow the ball into his hands. Goodwin may be another track star who can’t play the game because he can’t learn the fundamentals of catching the ball. Is he the reincarnation of former 49ers wide receiver Renaldo Nehemiah?
TIGHT ENDS: C. A few months ago, I predicted rookie George Kittle would catch 60 passes this season. Today, he caught five passes, which puts him on pace to catch 80 this season. He could have caught a sixth pass in this game – he was open downfield – but Hoyer got sacked as he was attempting the throw. Kittle is the 49ers’ second-best receiver after Garcon.
OFFENSIVE LINE: F. Trent Brown committed a false start, Brandon Fusco committed a false start, Daniel Kilgore committed a holding penalty and Zane Beadles couldn’t block anybody. The Panthers interior pass rushers schooled him. I have a feeling Beadles won’t play next week and Laken Tomlinson will be the new left guard.
DEFENSIVE LINE: C. The 49ers played very well against the run, allowing only 3.1 yards per carry, which is a big improvement from last season. But this team has zero pass rush, which is troubling because the past three years, the 49ers spent their top draft pick on defensive linemen. This year’s top pick, Solomon Thomas, was invisible most of the game. He generated zero pressure as a pass rusher. The Niners should have drafted someone else with the No. 3 pick.
LINEBACKERS: C. Reuben Foster was terrific for the eight minutes and 13 seconds he was healthy. Then, he hurt his ankle and left the game. The issue with him always will be durability, not talent. He’s the 49ers best defender when he’s on the field. His replacement, Ray Ray Armstrong, was not good. He committed a pass-interference penalty and later got juked during a run play, then compounded the mistake by reaching out and grabbing the running back’s facemask. NaVorro Bowman was solid – he recorded five tackles. But he gave up a touchdown catch to Jonathan Stewart.
DEFENSIVE BACKS: C-plus. The 49ers defense gave up just 56 percent completions and 6.8 yards per pass attempt, which reflects well on the defensive backs – the didn’t have the benefit of a strong pass rush. And they force two turnovers. Free safety Jaquiski Tartt intercepted a pass and Rashard Robinson forced a fumble. But, cornerback Dontae Johnson gave up a 40-yard touchdown catch when he played man coverage while the rest of the defense played zone coverage. How did Johnson make that mistake? The 49ers defense isn’t complicated. It contains about eight plays.
SPECIAL TEAMS: C. Bradley Pinion’s net punting average was only 39 yards, which is low. But the punt coverage team did a good job against Christian McCaffrey, who gained just seven yards on three punt returns.
COACHES: D-minus. That was the best Kyle Shanahan could do? The supposed offensive genius who prepared all offseason for the Panthers and had faced them four times the past two seasons couldn’t score more than three freaking points? I picked the 49ers to win this game because I thought Shanahan would have the coaching edge over the Panthers. I figured he knew their defensive personnel and schemes better than they knew his. Wrong. The Panthers’ new defensive coordinator, Steve Wilks, who was on their staff as an assistant before his promotion, completely outcoached Shanahan. Wilks had a great read on Shanahan’s play-calling tendencies and Shanahan made no adjustments. He kept calling the same stuff that wasn’t working. He kept motioning his tight end even though that repetitive movement created no advantage. And he kept calling play-action passes even though the 49ers were losing, the offense was averaging just 3.4 yards per carry and the Panthers were blitzing because they expected the Niners to pass. Those play-action passes served no purpose, and they led to an interception on the second play of the third quarter. Shanahan gets an “F,” but the entire coaching staff gets a “D-minus” because rookie defensive coordinator Robert Saleh was decent. He mostly succeeded at slowing down Christian McCaffrey, who caught just five passes for 38 yards. Who would have thought the Niners rookie defensive coordinator would be their best coach against the Panthers?