No roster can be made bulletproof — after all, the long season will expose every weakness and create new ones via injury and/or under-performance. That does not deter clubs from trying to address vulnerable areas.

The Yankees know they might be good enough to line up with what they have now and be strong contenders while preserving their prospect base and some financial flexibility to problem-solve during the season.

But they also know their rotation contains age (CC Sabathia), injury history (Sonny Gray and Masahiro Tanaka) and larger 2017 major league innings workloads than anticipated (Jordan Montgomery and Luis Severino). An injury and a regression in April could set them on a bad path.

That is why they wanted to sign Shohei Ohtani and, when that failed, trade for Gerrit Cole, who instead went to the Astros. That would have allowed them to either go with a six-man rotation or put Montgomery at Triple-A with Chance Adams, Luis Cessa and Justus Sheffield to have depth when calamity strikes.

In addition, the Yankees believe Gleyber Torres and Miguel Andujar are their second and third basemen of the future. But is that now? And if not, can some combination of Thairo Estrada, Jace Peterson, Ronald Torreyes and Tyler Wade adequately cover both sides of the ball? One more veteran who could play second and/or third would provide greater comfort.

Looming over all decisions is the Yankees’ pledge to stay under the $197 million luxury-tax threshold in 2018.

To that end, I have a suggestion: See if a trade could be built around sending Jacoby Ellsbury to the Rockies for Ian Desmond. Desmond has four years at $63 million remaining (including a $1 million assignment bonus if traded). Ellsbury has three years at $68.4 million left.

Why would the Rockies do it? Desmond was a miscast disaster at first base after signing a five-year, $70 million deal last year. Outside executives believe Colorado will ultimately sign someone else to play first or perhaps go with prospect Ryan McMahon. Young outfielders David Dahl had a back injury last season and Raimel Tapia played poorly on defense, as did Desmond when asked to play the outfield.

Ellsbury could provide athleticism in left in the big Coors Field outfield while serving as some security if center fielder Charlie Blackmon leaves as a free agent following the 2018 season. Colorado also gets out of the money after the 2020 season rather than 2021 with Desmond, which could be a factor as they think about long-term dollars for franchise face Nolan Arenado, who is a free agent after the 2019 campaign.

Why would the Yankees do it? Ellsbury does not really have a job, which would be part of a sales pitch to get him to waive his no-trade clause. In addition, Ellsbury just built a new home in Scottsdale, Ariz., which is where the Rockies train, and Colorado plays three series in Arizona a season.

Desmond had a poor 2017, but he is a versatile, athletic player a year removed from 22 homers and a .782 OPS for the Rangers. The Yankees would be taking on an extra year, but they have successfully made this kind of bad-contract-for-longer-bad-contract deal before. For example, they once turned Danny Tartabull into Ruben Sierra and then turned Sierra into Cecil Fielder.

The key here, though, is that Desmond would cost $15 million toward the luxury tax in 2018 (including the assignment bonus) while Ellsbury costs $21.86 million. So while they add the extra year, the Yankees solve either second or third base (assuming the natural shortstop Desmond could play there) and save more than $6 million.

That would leave the Yanks about $37 million to complete their 25-man roster plus put away enough to cover call-ups, trades later in the season and potential awards/performance bonuses for players such as Sabathia and Giancarlo Stanton. Is $37 million enough for the Yankees to spend, say, $20 million to $25 million annually on Yu Darvish? Perhaps it would still take dealing Adam Warren ($3.315 million). But it probably is enough to drop down a notch for, say, Alex Cobb.

Because the Rockies are taking on a little more total money, they may need an additional piece, but probably not a top prospect. Something more in line with Tyler Austin, Jake Cave or Jonathan Holder.

Or maybe the Rockies wouldn’t be interested in this at all, or Ellsbury would not waive his no-trade. Still, if I were the Yankees, I would at least investigate the possibility to make the roster more bulletproof now.

The Giants are doubling down on age at a time when most of the sport is going in the opposite direction. There were 69,110 plate appearances last year by players in their age-30 season and older — that is nearly 15,000 fewer than 2007.

An NL-high 3,375 of those plate appearances last year were by the Giants, the only team in the majors with as many as four 30-or-overs who qualified for the batting title (Brandon Crawford, Hunter Pence, Buster Posey and Denard Span). San Francisco traded Span, but it was part of a package for Evan Longoria, 32. And, on Monday, the Giants obtained Andrew McCutchen, 31. Plus Brandon Belt turns 30 in April.

It means at least six positional regulars — seven, if the Giants ultimately sign Lorenzo Cain — will be 30 or over, though last season, age and lack of depth behind the age was a factor in the Giants plummeting from the playoffs in 2016 to the majors’ worst record.

When this offseason began, the active homer leaders who had hit all their dingers exclusively for one team were: 1. Ryan Braun, 302 (Brewers). 2. Giancarlo Stanton, 267 (Marlins). 3. Evan Longoria, 261 (Rays). 4. Joey Votto, 257 (Reds). 5. Ryan Zimmerman, 251 (Nationals). 6. David Wright, 242 (Mets). 7. Andrew McCutchen, 203 (Pirates).

This offseason Stanton, Longoria and McCutchen have been traded, and the player who ranked 10th on the list, Carlos Santana (174), with the Indians, has signed with the Phillies. Wright was included because he is still under contract with the Mets, though he did not play last year. Ryan Howard, who has hit all 382 of his homers with the Phillies, also did not play last year, but is not under contract to any team.

The new top five if Wright never plays again will be: 1. Braun. 2. Votto. 3. Zimmerman. 4. Mike Trout, 201 (Angels). 5. Paul Goldschmidt, 176 (Diamondbacks).