I was recently hired to implement SEO optimization recommandations by an SEO agency on a Drupal 8 site in a highly competitive sector. Also I recently submitted a proposal to a call for offers including SEO and talked a lot about it with an SEO expert friend of mine. Here's my feedback in case it might interest you. I'll try to keep most obvious things to the end and start by the most difficult.
Oh that one is big. Let's suppose that you have a Property content type with some fields referencing taxonomy terms in vocabs such as Area and City. You have a View that list the properties with Area and City as exposed filters. 2 minutes to build this, thank you Drupal! However... If your View page URL is /properties, with submitted exposed filters it becomes /properties?field_area=123&field_city=456
If you know a little bit SEO, you know that query parameters are not taken into account. Those URLs are worth nothing in comparison to /properties/california/san-francisco. I thought "it sounds bad, but it might be easy if I just can automate alias creation from URLs with queries to SEO-URLs. But it's not possible to create an alias with query strings.
You better know this from the start. I might have missed an elegant solution but all in all, in the end this required 5 full development days on the website. In my opinion, as awesome as Drupal is, it still misses this feature.
Exceptional potential otherwise
Honestly beyond that, Drupal Core and the available contrib modules you all know are very close to the perfection. Name it, you have it. Pathauto, Metatag, Simple sitemap, Redirect... Like I said I'm not gonna expand on this. Just one last special mention to Schema metatag which adds too an incredible value.
In SEO performance is also important, but I will save this for a new article: how to optimize the perf for a very simple website like mine.
SEO analysis modules
There are some SEO analysis modules, just 1000 times less numerous than in WordPress. But even in WordPress, in my opinion they are all extremely limited. Yoast is incredible, but only for WordPress vanilla PostTypes. ACF is the leader in WordPress "fields". There are extensions for Yoast / ACF but more than half of the field types are not taken into account in the analysis.
My conclusion? Forget the SEO analysis modules. Instead, setup a free account on an SEO platform for your clients if they ask for it. That's anyways what I would do if I were to take in charge the SEO of any website by myself.