San Fran had the 6th best pass defense per FO. Seattle was third. This discussion is turning into a debate of the definition of "weakness". One has to look at the bigger picture here: SF's front 7 is so good it helps the secondary look stronger. They hold the run game so that they force the passing game. They have a good pass rush. Their LB corps covers well. All those things help carry a "weaker" secondary unit that by no means is crap, but certainly the weakest link on their D.
Here's why Seattle was able to decimate said D: For two years straight our run game was able to trump SF's run D. This put the pressure on the secondary. Wilson is too mobile for SF's pass rush, buying time for our receivers to exploit SF's weakest link. In short, it's a matchup problem where the strengths of SF's front 7 are answered by the strengths of our offense, forcing the weakest part of the Niner defense to have to carry the load. After the game, every Niner player was complaining about how hard it was to catch Wilson. Their average secondary couldn't hold up when put on the spot like that.
The 42 points we put up on their vaunted D was the proof in the pudding.
By comparison, our defensive line hardly ever put pressure on opposing QB's. Our run defense was suspect after Bryant's foot injury. Yet our elite secondary still managed to shut down opposing offenses well enough to give us the top rated D per FO and the lowest scoring D in the league.
And now we've improved said D in the very places where it was weakest and most easily exploited. SF, meanwhile, has gotten weaker at their weakest point.