Applies to any site, whatever it is built with. Work down the list; the earlier items are both more common and cheaper to fix.
1. Is anything cached?
Rebuilding every page for every visitor is the biggest single cost on most sites. Page caching usually produces a larger improvement than everything else combined.
2. Images
Full-size photographs used as thumbnails are extremely common. Resize before uploading and compress. Check total page weight – if a page is several megabytes, images are almost certainly why.
3. What is the site doing on each request?
Plugins and extensions that contact a remote service on every page load make every page wait for that service. One slow external call is enough to make a whole site feel broken.
4. The database
Slow queries, missing indexes and bloated tables. On a site with any history, old logs, sessions and revisions accumulate until routine queries have to wade through them.
5. Traffic that is not customers
Check whether bots make up a large share of requests – see Bots, crawlers and scrapers in your statistics.
6. The PHP version
Newer versions are considerably faster. If you are several releases behind, upgrading can be one of the easiest gains available – read Choosing a PHP version first.
7. Only then, the hosting
Check Resource Usage in cPanel to see which limit you are actually reaching. In our experience most "the hosting is slow" cases turn out to be one of the six items above, and moving to a bigger package without fixing them simply costs more for the same problem.