Is it right for BA to advertise a third party service on their home page, where you can get an ESTA for £23?
Link. The official fee is $14.
Whilst these companies do provide a service some may need, BA should really be advertising the official link as well, and not promoting a service like this.
The US Embassy even calls these sites a scam.
Beware of ESTA scams
VAA backtracked after doing a similar thing, then advertised the official link. It's amazing what a few negative comments on Facebook can do.