1. Web Host: Web hosting packages and servers come in all flavors, sizes, and prices. They are not all equal. The worst culprits are Shared Hosting environments on cheap plans that Godaddy, among others, offer.
The problem with shared hosting is that you are sharing all the resources of one server with hundreds of other sites, and those could be getting attacked, or overburden the server overall, leaving your website with little resources and more vulnerable (less speed and less security).
Solution: Migrate the website to a Virtual Private Server (VPS) or Dedicated Server environment that has the right specifications for the client’s needs. We use and recommend Amazon Web Services (AWS) Cloud Server Environments.
2. Bloated WordPress: A WordPress theme can be particularly heavy if not properly optimized. Also, too many Active WordPress Plugins can leave the site having to load many resources and scripts before displaying the content to the user’s browser. Another hang-up that I run into is with pulling data from Third-Party API calls that are slow or heavy on assets.
Solution: I recommend only adding plugins that are absolutely necessary and keeping no more than 20 active at any one time. The theme shouldn’t have any loading errors in the console. API calls from other websites (ie. live chats/reviews) can cause a delay in loading the overall website as it is up to the third-party resources to send the information to the user.
3. Large Images: Over use of large images, or in general, any images that are not optimized for web are generally bloated and require a lot of resources to load the data.
Solution: Always use the right size image in pixels that the screen needs, loading anything larger just adds more weight to the page. Make sure all images uploaded to the website are first optimized for the web; I recommend tools like ImageOptim.
I hope that helped you diagnose your speed issues and rectify the problems accordingly.