Here is the entire offensive player-by-player review from the 49ers' 20-3 victory over the Pittsburgh Steelers on Monday night:
49ERS REVIEW: Defensive player-by-player
3-Scott Tolzien: Inactive (coaches' decision).
7-Colin Kaepernick: Did not play. (Follow on Twitter @Kaepernick7)
11-Alex Smith: He completed 18 of 31 passes for 187 yards with one touchdown and no interception. He also was not sacked. . . He made some nice touch passes to Vernon Davis, and he misfired on a couple attempts outside the numbers. . . . Receiver Kyle Williams wasn't thinking along with Smith in the end zone when he found a pocket but did not remain there. Smith threw to where he was, while Williams continued to run. The pass went incomplete. On next play, Smith tried to throw around blitzing safety Troy Polamalu and the ball was wide to Frank Gore for an incompletion, as the 49ers settled for a first-drive field goal. . . . Showed his athleticism to turn upfield and gain 14 yards in the second quarter. . . Made a couple nice touch passes to Davis on 49ers' first third-quarter TD drive.
21-Frank Gore: He started at running back, and played 49 of the 49ers' 61 offensive plays. He gained 65 yards and a touchdown on 18 carries. . . . Dropped a pass out of the backfield on the first drive. . . Missed Cameron Heyward in blitz pickup as Smith was rushed into incompletion on first drive. . . . Dropped another pass on third-and-7, though it was unlikely he would've picked up first down with defensive lineman Brett Keisel standing between him and the sticks . . . Called for chop block on defensive lineman Ziggy Hood, as center Jonathan Goodwin had his left hand on Hood as Gore went low to block Hood. Did not play the final nine minutes after scoring on 5-yard TD.
24-Anthony Dixon: Entered game at running back on goal line and sold play-fake, enabling Davis to get open for 1-yard TD pass in third quarter. . . . Played five more snaps later in the game and gained 12 yards on five rushes. (Follow on Twitter @Boobie24Dixon)
32-Kendall Hunter: Carried twice for just 2 yards, as he saw a significant decrease in play time from a week earlier. Hunter played just six snaps from scrimmage. Showed patience on screen pass to allow things to set up. He then turned it on for a 27-yard gain. He had two receptions for 24 yards.
44-Moran Norris: Inactive (coaches decision).
49-Bruce Miller: Started at fullback and played 28 snaps. He got a rare rushing attempt and gained 3 yards and a first down. . . . Had block on cornerback William Gay to create lane for Gore to pick up 13 yards on first drive. . . Called for false start on first play of second half. . . . Made block on Farrior on Gore's 5-yard TD run. (Follow on Twitter @bmiller_49)
90-Isaac Sopoaga: He did not play any on offense.Wide receivers
10-Kyle Williams: Began the game as the 49ers' No. 3 receiver, and took over for injured Ted Ginn in the second half. . . He played 28 snaps in the game and finished with four catches for 33 yards. . . Ran good route against cornerback Keenan Lewis to get open for 8-yard gain on third-and-5 to keep first drive alive. . . . Wasn't thinking along with Smith in the end zone when he found a pocket but did not remain there. Smith threw to where he was, while Williams did not break off his route. The pass went incomplete and the 49ers settled for a first-drive field goal. . . . Did another good job of knowing where the sticks were to pick up 10 yards on a third-and-8. (Follow on Twitter @KyleWilliams_10)
15-Michael Crabtree: Started and played 42 snaps. He had four catches for 35 yards, as seven passes were thrown his way. . . Working out of the slot, he caught a 12-yard pass on a third-and-10 on the opening drive. . . . Shielded off cornerback Ike Taylor on Gore's 5-yard TD run. (Follow on Twitter @KingCrab15)
17-Braylon Edwards: Inactive (coaches' decision, but was listed as questionable, knee, on injury report last week). (Follow on Twitter @OfficialBraylon)
18-Brett Swain: Played 12 snaps from offense, mostly after Ted Ginn was injured. He caught his first pass as a member of the 49ers -- a 9-yard reception in the fourth quarter. Lewis broke up a third-down slant pass to him in third quarter.
19-Ted Ginn: He gained 6 yards and a first down with a fly sweep on the first drive of the game.. . . Made nice leaping catch for a 14-yard gain in second quarter. . . Sustained ankle sprain on kickoff to open second half and did not return. The injury is not to keep Ginn out of action for long.Tight ends
46-Delanie Walker: Started as part of a two-TE formation and played 38 snaps. He went his fifth game in a row without a reception, but made a contribution in other areas. . . He upended blitzing inside linebacker Lawrence Timmons with a cut block that enabled Gore to pick up 5 yards and a first down on the opening drive. On next play, he wiped out safety Troy Polamalu to allow Gore to get to the outside for 13 yards. . . . Called for holding in third quarter. (Follow on Twitter @Dwalk46)
81-Justin Peelle: Entered as the No. 3 tight end and played three snaps from scrimmage.
85-Vernon Davis: Started at tight end and played every snap until the final three plays. He caught six passes for 72 yards and a touchdown. . . . Working against cornerback Cortez Allen, he struggled forward for a couple extra yards when he appeared to be tackled. The extra effort picked up a first down on a third-and-7 on 49ers' second drive. . . . Got open down the field but just as he got his hands on the pass, cornerback Ryan Clark made a nice play to get his shoulder on it and dislodge it from Davis' grasp. . . . Took over on 49ers' TD drive after Steelers cut lead to 6-3. Outran linebacker James Farrior down the field for a 31-yard gain. Made a nice over-the-shoulder catch against Timmons for 21-yard gain to the 1. And then started off blocking LaMarr Woodley then slipped unseen into end zone to catch 1-yard TD pass from Smith to give 49ers a 13-3 lead. (Follow on Twitter @VernonDavis85)Offensive linemen
59-Jonathan Goodwin: Started and played every snap at center. Called for false start in second quarter. . . Started off on Steelers nose tackle Casey Hampton, then shifted over to pick up Ziggy Hood to allow Smith time to get the ball to Vernon Davis on 31-yard pass in third quarter. . . . Made block to control Hampton on Gore's 5-yard TD run. (Follow on Twitter @Jgoody59)
62-Chilo Rachal: Reported as eligible in second quarter and lined up at tight end on the right side.
67-Daniel Kilgore: Suited up for the first time in his career, and played a snap as a tight end on a run play that gained Anthony Dixon 3 yards.
68-Adam Snyder: Started at right guard and played every snap. . . . He pulled and made block on James Farrior to help Gore pick up 13 yards on opening drive. . . . Got outside to run interference for Hunter, giving Timmons a shove to allow Hunter to pick up 27 yards on a screen pass. . . Pulled and had kickout block on Timmons on Gore's TD run. (Follow on Twitter @ASnyds68)
74-Joe Staley: Started at left tackle after getting cleared to return to action after sustaining a concussion last week. . . He left the game with 9 minutes remaining after sustaining a left leg contusion. . . . Handled outside linebacker Jason Worilds one-on-one on a third-and-10 in which the 49ers gained 12 yards on opening drive. . . . Good block on Keisel to open way for Gore to gain 6 yards on a second-and-1 play. . . . Took care of Worilds to give Smith time to hit Davis on 31-yard gain. . . .Had a take-down block on Keisel on Gore's 5-yard TD run. (Follow on Twitter @jstaley74)
75-Alex Boone: Entered the game at left tackle, with Staley eligible on a second-quarter play. He remained in for the next snap and had block on Worilds on play in which Gore picked up 3 yards. . . . Boone played the final three drives after Staley left with an injury.
76-Anthony Davis: Started at right tackle, and had his second good game in a row. . . . Did a good job of handling outside linebacker LaMarr Woodley, who eventually left the game with an aggravation of a hamstring injury. (Follow on Twitter @AnthonyDavis76)
77-Mike Iupati: Started at left guard and played every snap. . . . Made block on Brett Keisel to enable Gore to pick up 5 yards and a first down on opening drive. . . Made block on linebacker Larry Foote to allow Gore to pick up 6 yards. . . Handled Foote on Gore's 5-yard TD run.
78-Mike Person: Inactive (coaches' decision).