Error message

  • Deprecated function: Return type of Aws\HandlerList::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 32 of /var/www/html/vendor/aws/aws-sdk-php/src/HandlerList.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of & Aws\Endpoint\Partition::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Aws\Credentials\Credentials implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in include() (line 8 of /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/Credentials.php).
  • Deprecated function: Return type of Aws\Command::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of & Aws\Command::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Result::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of & Aws\Result::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Warning: Undefined array key "nid" in views_handler_field_term_node_tid->pre_render() (line 98 of /var/www/html/docroot/sites/all/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc).
  • Warning: Undefined array key "nid" in views_handler_field_term_node_tid->pre_render() (line 98 of /var/www/html/docroot/sites/all/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc).
×

Entertainment

Kepa vs. Mendy: Inside the battle to be Chelsea's starting goalkeeper

Few teams have attracted elite goalkeepers as Chelsea has. Between Petr Čech and Thibaut Courtois, Blues fans were spoiled with 15 years of world-class players between the sticks. But in the last five years, the club has struggled to find a consistent first-choice keeper.

Kepa Arrizabalaga — purchased for a record fee of $88 million from Athletic Bilbao in 2018  — never performed at the level expected of a player of his value. After two years as Chelsea's number one, the Spaniard was replaced by Stade Rennes keeper Edouard Mendy, who was brought in for a more reasonable $26 million price tag.

The Senegal international was praised by experts as the dependable, mistake-free option. Mendy has largely fulfilled that role and has made some big saves in important matches, but given the same two-year test period as Kepa, Mendy still did not satisfy the lofty expectations of the Chelsea faithful.

When new manager Graham Potter came in on Sep. 8, personnel changes were to be expected on the pitch. With Mendy sidelined due to a minor knee injury, Kepa started in goal for Potter's first two fixtures in charge — a Champions League fixture against RB Salzburg on Sep. 14 and a PL match vs. Crystal Palace on Oct. 1 (Queen Elizabeth's death postponed two games in between).

After a month off, Mendy returned to full health. But to the surprise of many, Kepa retained his spot in the starting lineup. In the weeks since, the most expensive goalkeeper in the game has finally played like the keeper Chelsea fans have dreamed of — while also highlighting some of the weaknesses in Mendy's game.

Embed from Getty Images

In a small sample size (nine starts for Kepa, six for Mendy this year), Kepa has been the superior shot-stopper. The Spaniard has prevented 3.3 more goals than expected across all competitions, while his counterpart Mendy has allowed 1.9 more goals than expected.

Much of Mendy's success has been predicated on his ability to keep clean sheets, as he ranked among the league leaders in shutouts in each of his first two PL seasons. Yet the advanced stats show that this has been more of a testament to the strong backline in front of him.

In 65 EPL starts for Chelsea prior to this season, only Ederson at Manchester City faced fewer shots on target per match than Mendy. During this period, the Chelsea man prevented a total of 0.2 more goals than expected — placing him as an average shot-stopper.

Kepa has also been a far better sweeper. Through five PL starts, the 28-year-old has made 10 defensive actions outside his penalty area — best in the league per 90 min. As for Mendy, sweeping has been a notable weakness during his time at Chelsea. The Senegalese completed 19 such actions across his 34 league starts last season and just three in six matches this year.

Neither keeper has been strong in the air, as they've combined to claim two out of 88 balls played into the penalty area during PL matches this campaign. Yet Kepa has managed to minimize the aerial mistakes that've plagued Mendy at Stamford Bridge.

Corner kicks in particular have been a struggle for the Senegalese man, as teams have fashioned numerous chances this year on in-swinging balls played into the six-yard area — crosses that a goalkeeper should be dealing with.

Tottenham's late equalizer at Stamford Bridge back in August is a perfect example. A dangerous ball is whipped in by Ivan Perišić but it is played well within the confines of the six. Mendy starts to come for it, hesitates, then drops back and watches Harry Kane's flicked header nestle into the far post.

Mendy's aerial ineptitude resurfaced a few weeks later against West Ham.

The Chelsea keeper is faced with a flicked header that's floating toward the back post. Yes, it's an awkward play to make, but you'd expect a PL keeper to tip it over the crossbar and out of danger. Despite being 6-5, Mendy is only able to make an off-balance swat at the ball. It's an unconvincing clearance that falls back into play, and with Mendy and multiple Chelsea defenders still on the deck, Michail Antonio equalizes with the easiest of tap-ins on the goal-line. 

Mendy's performance against West Ham combined with the knee injury made it easy enough for Potter to turn to Kepa, but Mendy's biggest mistake of the season came earlier against Leeds.

The Blues No. 1 receives an easy back-pass and is fatally indecisive, allowing Leeds attacker Brendan Aaronson to steal the ball and tap home to give the hosts the lead.

As for Kepa, he's been solid as a cup keeper and injury replacement over the last two years, making 10+ appearances for Chelsea each season. In truth, anything would have been an improvement from his awful 2019-20 campaign.

The Spaniard's first start for the Blues in 2022-23 was inauspicious. He got caught in no-man's land on a one-v-one, allowing Mislav Oršić to score Dinamo Zagreb's only goal in an upset victory to open the Champions League.

But since becoming Potter's first choice, Kepa recorded five consecutive shutouts across all competitions in October. Against Aston Villa, Kepa made a fantastic triple-save in the 21st minute, then 10 minutes later he made a first-rate reaction stop to keep out a Danny Ings header that had a 51 percent chance of finding the back of the net, per Infogol. 

In the last of those clean sheets, the Spaniard kept out three shots against Brentford that each had at least a 30 percent chance of resulting in goals. He's finally starting to provide the level of play that justifies a $90 million transfer fee.

While Kepa is in the form of his life, Chelsea's reportedly open to offers for the recently-unseated Mendy — his starting spell not even lasting as long as Kepa's original stretch between the posts.

Still, Potter cannot say enough about how Mendy has handled the situation: "He's been great, attitude fantastic, and supporting the team. He was obviously injured when I arrived and Kepa has played, done well and contributed to positive results. We're in the situation now where we have two really good goalkeepers in the competition and that is what we need to push each other along."

With few playing opportunities at Chelsea, next month's World Cup could be the chance for Mendy to prove himself as he'll be starting for Senegal while Kepa will likely be omitted from the Spain squad.

Both players are talented keepers with notable flaws, and neither has consistently performed at a high level for the Blues. Of all the tough decisions Graham Potter faces in London, the battle between the posts might be the most difficult.

Videos you might like