There are a number of ways to improve Angular application performance, but one sure-fire way to see page load times improve immediately is to move toward JAMstack architecture, and using Scully is a great way to do this.
Scully was created with the intent of being the piece of the JAMstack puzzle Angular developers have been craving. Scully makes it easy to implement statically generating pages to serve for modern (v8 or v9) Angular applications, and has been adopted by companies like 1-800 Contacts.
In modern single page applications it's common to have dynamic pages that populate content based on parameters in the URL. Take a look at how to get started using Scully on your Angular application and pre-rendering pages based on dynamic routes in our dev.to post here: https://dev.to/bitovi/server-side-rendering-dynamic-routes-in-angular-with-scully-6m8