Measure before changing
Run repeatable tests on representative pages and note server response time, largest contentful paint and total page weight. Test both cached and uncached visits. A single score is less useful than identifying the resource that delays real users.
Use compatible hosting
Confirm supported PHP versions, memory limits, database software and HTTPS. Choose a data center close to the main audience or use a CDN for distributed visitors. Resource limits should reflect traffic, admin activity and scheduled jobs.
Configure caching carefully
Page caching can reduce repeated processing, while object caching can help database-heavy sites. Browser caching and compression reduce transfers. Exclude carts, account pages and other personalized routes from full-page caching.
Optimize media
Resize images to their displayed dimensions, use efficient formats and avoid oversized hero media. Lazy-load below-the-fold images without delaying the primary visual. Review font files and video embeds, which can quietly add significant weight.
Reduce plugin overhead
Keep plugins that solve a clear requirement and remove abandoned duplicates. Heavy page builders, tracking scripts and security scans can compete for resources. Test changes on staging and check both public pages and the WordPress dashboard.
Maintain the database
Clean expired transients and unnecessary revisions with a verified backup available. Inspect slow queries before applying broad optimizations. Performance maintenance works best as a routine: measure, change one factor, test and document the result.