It feels like there’s a lot of spam posts getting through. Have you considered a simple human test during the registration process to filter spam-bots? It could be something simple like “name in order the three parts of a triathlon”, and the new user would fill in “swim” “bike” and “run”.
They don’t seem to be bots - relatively few posts. It seems to be just spam-posting people. Still, a simple sport-specific captcha like that - something only triathletes would know - is not a bad idea. Thanks.
It would also be very easy to program your bot to fill something that simple that doesn’t change.