The San Francisco 49ers don’t get outgained very often.
The Minnesota Vikings did it to them in Week 2, the Kansas City Chiefs edged them in Week 7, and on Sunday the Seattle Seahawks outgained them 289 yards to 277. That output also was a season low for San Francisco, 33 fewer yards than it gained in the loss to the Chiefs.
One drive in the second quarter was a microcosm of the game. The 49ers ran 11 plays and held the ball for seven minutes. But they also were docked 19 yards on penalties and gained just 26 yards before punting.
The offense ran 63 plays versus 60 for the defense. Here’s how the individual snaps were divided:
Quarterback: Brock Purdy 63
Purdy only has had two starts with fewer passing yards than the 159 he ended up with Sunday. He had 125 in a Week 6 loss to the Cleveland Browns last season. And he had 23 yards when he was injured early in the 2022 NFC Championship Game in Philadelphia.
The storyline against the Seahawks’ bend-but-don’t-break defense was the lack of explosion on offense. Purdy didn’t attempt any passes beyond 20 yards and only six from 10 to 19 yards. The bulk of his pass attempts, 19 targets, were less than 10 yards.
Shanahan on Monday said Purdy emerged from the game with soreness in his right shoulder from a hit he sustained in the game. Purdy ran five times for 40 yards against the Seahawks. He’s already had 51 rushing attempts this season after finishing with 39 last season.
GO DEEPER
49ers’ struggling offense is a big red flag for their Super Bowl hopes
Running back: Christian McCaffrey 59, Kyle Juszczyk (fullback) 23, Eric Saubert 6, Isaac Guerendo 2, Jordan Mason 2, Deebo Samuel Sr. 1
After playing all but eight snaps last week, McCaffrey played all but four this week. The only regular-season game in which he had 59 or more snaps last season was the Week 16 loss to the Baltimore Ravens in which he had 70.
McCaffrey faced eight-man boxes throughout Sunday’s game. He still managed 79 yards — and a respectable 4.2 yards a carry — but his longest run was 11 yards and the 49ers were constantly thwarted on the stretch runs they use so often. Furthermore, McCaffrey hasn’t found the end zone in his two games back. He had 14 touchdowns after 10 games last season.
“I thought there might have been one run he left a little bit out there,” said Shanahan when asked if McCaffrey is at full stride after missing half the season. “But I don’t think I’ve ever said there isn’t a run that (a tailback) left a little out there in a game. No, I think Christian’s doing a good job.”
Free, daily NFL updates direct to your inbox.
Free, daily NFL updates direct to your inbox.
Sign Up
Wide receiver: Jauan Jennings 60, Samuel 54, Ricky Pearsall 37, Chris Conley 3, Jacob Cowing 1
Purdy threw to Jennings six times on third down and he converted four of those targets into first downs, including once when he was initially short of the sticks and fought four Seahawks to get the first down.
Jauan Jennings picked up another three yards after this shot was taken … pic.twitter.com/YUUH1t2t9d
— Matt Barrows (@mattbarrows) November 18, 2024
What stands out is how little everyone else, especially the receivers, were involved in the passing game. Samuel, for instance, caught four passes, two of them little dumps on failed hook-and-lateral plays in the waning seconds.
Ninety-one of Purdy’s passing yards went to Jennings. Here’s how the other 68 yards were divided:
- McCaffrey: 27 yards
- Samuel: 22
- Juszczyk: 12
- Saubert: 7
Tight end: Saubert 55, Jaylon Moore 12
George Kittle (hamstring) missed the game while Saubert was sick when he arrived for work on Sunday. When the 49ers went with two tight ends, they tapped Moore, a tackle, for the job.
That was a curious decision considering two other tight ends, Jake Tonges and Brayden Willis, were available while Moore isn’t known for his run blocking.
“Jaylon has a place in the NFL because he is a good pass blocker,” offensive line coach Chris Foerster said during training camp. “He’s competed well in pass blocking this year with all the guys they have over there rushing. The run game’s always something he’s challenged with. Not that he doesn’t like to run block or can’t, it’s just how he’s made up, his body type. He’s not as explosive, quick or gets under people as well.”
The 49ers called run plays on seven of Moore’s 12 snaps and, per Pro Football Focus, gained 25 yards on those seven runs. They were particularly bad at running to the outside on Sunday, which probably was a combination of missing Kittle, Trent Williams’ injury and the fact that the Seahawks were better prepared this time.
Shanahan said Kittle was “close” to playing against Seattle and should be able to practice Wednesday.
GO DEEPER
49ers’ lack of knockout punch haunts them again vs. Seahawks: ‘It’s not like us’
Offensive line: Williams 63, Aaron Banks 63, Jake Brendel 63, Dominick Puni 63, Colton McKivitz 63
After the game, Williams said he was close to not playing due to a bone bruise in his left ankle area and that he was having trouble merely walking before the game. He improved after getting a pain-numbing injection and allowed two pressures against the Seahawks.
A bigger problem for the 49ers was penalties. They committed nine overall, seven by the offense. Four of those were by offensive linemen. Through 10 games, Brendel leads the offense with six penalties, including four holding infractions. He had one holding call on Sunday.
“I thought that was one of the biggest problems for the offense on the day,” Shanahan said of the penalties. “I actually thought we played a better game offensively than we did on that Thursday night game (Week 6 in Seattle). That Thursday night game we got the busted coverage on Deebo’s (76) yarder and we got the two explosive runs, which really helped. But we played better football in this game.”
Defensive line: Maliek Collins 46, Leonard Floyd 38, Yetur Gross-Matos 37, Sam Okuayinonu 34, Nick Bosa 26, Evan Anderson 11, Kalia Davis 10, Robert Beal Jr. 9
Bosa got sack a little less than midway through the third quarter, then pulled up when coming out of his stance on the following snap when he realized he had no power in his hips. Shanahan said the 49ers will evaluate Bosa’s hip/oblique issue — he has it on both sides of his body — throughout the week but didn’t rule him out Sunday in Green Bay.
“There’s just as good of a chance for him to not play as play,” Shanahan said.
Bosa’s exit coincided with Gross-Matos’ return to the lineup. He did well in his first game back from a knee injury, notching a sack and three total pressures. Gross-Matos lined up on the inside on 12 of his snaps. The 49ers obviously would need him more at defensive end if Bosa has to miss any games.
Quarterback pressures:
- Floyd 6
- Bosa 3
- Gross-Matos 3
- Collins 3
- Okuayinonu 2
Linebacker: Fred Warner 60, De’Vondre Campbell Sr. 60, Dee Winters 10
It was another good outing for Winters, though he only had 10 snaps. He more than kept up with DK Metcalf on a deep pass that fell incomplete on Seattle’s opening drive. And he was one of the players at the center of the defense’s fourth-and-1 stuff late in the fourth quarter.
Backup Tatum Bethune has an MCL sprain and “will be out a while,” Shanahan said. That might mean that one of the practice-squad linebackers, Jalen Graham or DaShaun White, gets bumped up in Green Bay.
Shanahan said the 49ers hope to open linebacker Dre Greenlaw’s (Achilles) practice window next week. General manager John Lynch has said that the 49ers probably will wait a good chunk of that window before clearing Greenlaw to play in a game.
Cornerback: Deommodore Lenoir 59, Renardo Green 56, Isaac Yiadom 49, Rock Ya-Sin 3
One of the storylines from the first meeting with Seattle, which the 49ers played without Charvarius Ward, was how well Green performed. He had a momentum-snuffing interception and allowed just five completions despite being targeted 11 times.
That, however, didn’t dissuade the Seahawks from attacking him again. This time they completed 7 of 8 targets for 78 yards, the most Green has allowed this season.
Ward, meanwhile, was at Levi’s Stadium for Sunday’s game and took part in the team meeting on Monday. He could play against the Packers.
Safety: Ji’Ayir Brown 60, Malik Mustapha 60, George Odum 1
It was a strong outing from the 49ers’ young safety duo. No, the 49ers didn’t have many (any) explosive plays. But the Seahawks didn’t either — just one greater than 20 yards.
Brown also was in on the fourth-and-1 stop. He hasn’t had a missed tackle in the last four outings.
Special teams: Odum 18, Beal 15, Winters 14, Demetrius Flannigan-Fowles 14, Winters 14, Conley 14, Tonges 13, Yiadom 10, Saubert 10, Mason 9, Nick McCloud 9, Guerendo 8, Jake Moody 7, Pat O’Donnell 6, Taybor Pepper 6, Tashaun Gipson Sr. 6, Warner 4, Campbell 4, Brown 4, Elliott 4, Lenoir 4, Collins 4, Anderson 4, Ya-Sin 3, McKivitz 3, Spencer Burford 3, Banks 3, Puni 3, Nick Zakelj 3, Moore 3, Okuayinonu 2, Cowing 2, Gross-Matos 1
The Seahawks’ strategy on kickoffs appeared to be: Put the ball in play and hope the 49ers make a mistake. Only two of their five kickoffs resulted in a touchback. The 49ers didn’t oblige with one of their usual gaffes, aside from Mason’s muffed kickoff return that bounced out of bounds, but they also didn’t make Seattle pay. All three of their kick returns were stopped shy of the 30-yard line.
With Ronnie Bell inactive for the game, Pearsall was prepared to handle punt returns when Cowing left with a concussion. The Seahawks, however, didn’t punt from that point on.
New punter O’Donnell seemed to miss an opportunity to pin the Seahawks against their own goal in the final minutes, especially considering Seattle had no return man on the play. That, of course, meant they were bringing maximum pressure for a punt block and O’Donnell’s most pressing task was to just get the ball away. His punt bounced into the end zone for a touchback.
(Top photo of Brock Purdy being sacked by Dre’Mont Jones:
David Gonzales / Imagn Images)