WordPress Performance Audit for SA Agencies: Complete Checklist
A step-by-step guide to conducting professional WordPress speed audits for your SA clients. Learn how to benchmark, identify bottlenecks, and report findings that drive conversions.
Key Takeaways
- A professional WordPress audit benchmarks Core Web Vitals, identifies server/plugin issues, and quantifies impact on client revenue—essential for agencies serving competitive SA markets.
- Use free tools like Google PageSpeed Insights, GTmetrix, and WebPageTest to detect performance gaps; combine with server-level analysis for comprehensive insight.
- Document findings in a client-friendly report that ties performance to business outcomes (bounce rate, conversion lift, SEO ranking)—this justifies optimization spend in ZAR.
Conducting a professional WordPress performance audit is no longer optional for South African agencies—it's a competitive necessity. When your client's site loads in 4 seconds instead of 1.2 seconds, you're losing customers to bounce and search ranking penalty. This guide walks you through exactly how to audit WordPress sites like a specialist, report findings in business language, and deliver measurable improvements.
A proper audit isn't just running a site through PageSpeed Insights and sending a screenshot. It's a systematic investigation of Core Web Vitals, server configuration, plugin bloat, image optimization, caching strategy, and content delivery. As Head of Infrastructure at HostWP, I've audited over 500 South African WordPress sites and consistently found that agencies miss 60–70% of fixable performance issues because they skip the server-level analysis. This post shares the exact framework we use.
In This Article
Establish Your Performance Baseline
Your first step is to benchmark the client's current state across multiple geographic locations and network conditions. Don't rely on a single test run—performance varies by location, time of day, and device type. In South Africa, where network quality differs significantly between metro fibre (Openserve, Vumatel) and rural/mobile connections, testing from multiple vantage points is critical.
Start with Google PageSpeed Insights, which serves Core Web Vitals data directly from Google's real-user analytics (Chrome User Experience Report). This tells you how real visitors from South Africa are experiencing the site. Run tests from at least three tools: PageSpeed Insights (Google's official verdict), GTmetrix (for waterfall visualization), and WebPageTest (for advanced metrics like Time to Interactive). Record baseline numbers for Largest Contentful Paint (LCP), First Input Delay (FID), Cumulative Layout Shift (CLS), First Contentful Paint (FCP), and total page load time.
Asif, Head of Infrastructure at HostWP: "At HostWP, we've found that 78% of SA agency clients don't benchmark performance before starting optimization. They skip baseline testing and end up unable to prove ROI. Always take screenshots of before metrics. One Johannesburg-based e-commerce client thought their site was 'fast enough' until we showed them a 3.8-second LCP—their competitor loaded in 1.1 seconds. That gap cost them 22% of mobile visitors."
Document the baseline in a spreadsheet with columns for: URL, Device Type (mobile/desktop), Location (via GTmetrix regional options), LCP, FID, CLS, FCP, page size (KB), number of requests, and date. This becomes your audit trail and proof of improvement. For agencies billing clients, this baseline justifies your optimization work in ZAR—you can quantify the performance debt.
Measure Core Web Vitals & User Experience Metrics
Core Web Vitals are Google's official ranking factor and the gateway to understanding site quality. LCP (Largest Contentful Paint) measures loading experience, FID (First Input Delay) measures interactivity, and CLS (Cumulative Layout Shift) measures visual stability. Google now emphasizes Interaction to Next Paint (INP) over FID as of 2024, so track both.
LCP is the most important metric for WordPress sites. It measures when the largest visible element (hero image, headline, video) finishes rendering. For most sites, LCP exceeds 2.5 seconds because the server is slow, the hero image is unoptimized, or render-blocking resources (CSS, JavaScript) delay page paint. To audit LCP: open Chrome DevTools, go to the Performance tab, record a page load, and look for the LCP marker. If your client's LCP is over 2.5 seconds, the culprit is usually server time (Time to First Byte—TTFB over 600ms), unoptimized images, or render-blocking scripts.
FID measures the delay between a user's first interaction (click, tap) and the browser's response. On WordPress sites with heavy JavaScript (slider plugins, analytics, tracking pixels), FID often exceeds 100ms. To test interactivity, scroll the page smoothly and click buttons in WebPageTest—if clicks feel sluggish, you have an FID problem.
CLS quantifies unexpected layout shifts (ads, images, or content moving after the page loads). Use Chrome's Coverage tool to measure unused CSS and JavaScript—high coverage waste indicates bloated dependencies. A good CLS is under 0.1; any shift above that frustrates users and harms SEO.
Analyze Server Configuration & Caching
Server speed is foundational. A slow Time to First Byte (TTFB) breaks everything downstream—no amount of frontend optimization fixes a 2-second TTFB. To audit server configuration, inspect the server response header in your browser's Network tab or use curl:
curl -I https://client-site.co.za
Look for: X-Powered-By (reveals server type), Cache-Control headers (are static assets cached for browsers?), and Server type (Apache, nginx, LiteSpeed). At HostWP, all our plans include LiteSpeed as standard—it's 10–15x faster than Apache for WordPress because of built-in caching and HTTP/2 push. Ask your client's host: "Are you using LiteSpeed, nginx, or Apache?" If it's Apache without LiteSpeed Cache, that's a red flag.
Next, audit caching strategy. Check whether the site uses a server-side cache (Redis, Memcached, LiteSpeed Object Cache) or only a plugin-based cache like WP Super Cache. Ask: "Do you have Redis or Memcached enabled?" Most budget hosts don't include object caching, which means every page load regenerates the WordPress object cache from the database. This adds 200–500ms to every request. If the site uses WP Super Cache or similar, check that cache expiration is reasonable (6–12 hours, not 30 minutes).
Test TTFB using WebPageTest or Pingdom. A good TTFB from a South African visitor perspective is under 600ms from a Johannesburg server (Leaseweb or similar). If TTFB exceeds 1.5 seconds, the host is overloaded, the database is inefficient, or the site is missing object cache. Document this in your audit report.
Managing performance audits across multiple SA client sites? HostWP's LiteSpeed + Redis stack handles the server layer, so you focus on optimization strategy.
Get a free WordPress audit →Audit Plugins, Theme, & Third-Party Scripts
WordPress plugin bloat is the #1 performance killer. Many agencies inherit sites with 40+ plugins, half of which are redundant or obsolete. Your audit must quantify plugin impact. Use the Code Coverage tool in Chrome DevTools to see which plugins load JavaScript: go to the Network tab, filter by JavaScript, and note file names (contact-form-7, wp-rocket, etc.). Any plugin that loads JavaScript on every page should be justified.
Identify critical plugins: WooCommerce (if it's an e-commerce site), Elementor (if it's the page builder), contact forms. Then identify bloat: social media widgets, chat plugins, analytics plugins (Google Analytics should be loaded via Google Tag Manager, not a separate plugin). Document each plugin's purpose and footprint (KB of CSS/JS added). If a plugin adds 200KB of JavaScript for a feature used once a month, it's a candidate for removal or lazy loading.
Theme audits focus on CSS and JavaScript weight. WordPress themes increasingly ship with bloated frameworks (Bootstrap, Tailwind unoptimized) and builder integrations. Check the theme's enqueue_scripts and enqueue_styles functions: does the theme load full Bootstrap when the site only uses 10% of it? Ask: "Is this a custom theme or a pre-built theme?" Pre-built themes (Astra, GeneratePress) are often bloated because they try to support every use case. Custom themes, when built lean, typically outperform.
Third-party scripts are often the worst offenders. Common culprits: Hotjar, Intercom, Drift, Google Analytics (if loaded incorrectly), Facebook Pixel, LinkedIn Insights, Typekit, and Google Fonts. Each script blocks rendering if loaded synchronously. Test with a tracking blocker (uBlock Origin) and measure the speed difference. If your client's site loads 300ms faster with trackers disabled, you've identified the problem. Prioritize: load tracking scripts asynchronously, defer Google Analytics to window.onload, and load Hotjar after page interactive.
Optimize Database & Image Delivery
A bloated WordPress database slows database queries, which delays page generation. Audit database size: SSH into the host and run du -sh /home/username/public_html/wp-content/uploads to check upload folder size. If it exceeds 5GB, the site has years of unoptimized images. Check the database size via phpMyAdmin or SSH (mysql -u user -p -e "SELECT table_schema, SUM(data_length+index_length)/1024/1024 AS size_mb FROM information_schema.tables GROUP BY table_schema;"). A well-optimized WordPress site should have a database under 500MB; if it's over 2GB, there's likely post revision bloat, spam comments, or unoptimized metadata.
Image optimization is critical in South Africa where mobile data is expensive and variable. Check the /uploads folder: are JPEGs over 500KB? Are PNGs used for photographs (they should be JPEG or WebP)? Use a tool like Imagemin or Squoosh to audit a sample of images. For a client site audit, ask: "Do you have an image optimization plugin active?" Plugins like Imagify, ShortPixel, or Smush should auto-compress uploads and generate WebP. If none are active, unoptimized images are likely costing 1–2 seconds of LCP.
Content Delivery Network (CDN) usage is often missing. If the client's server is in Johannesburg but serves images from the origin on every request, South African visitors in other cities or on slower connections see delays. Check if CloudFlare or another CDN is active by looking at DNS records or HTTP headers. At HostWP, CloudFlare CDN is included with all plans, which cuts image delivery time in half for visitors across ZA and internationally.
Create a Client-Friendly Performance Report
Your audit findings must be translated into business language. Clients don't care about LCP milliseconds—they care about revenue impact. Structure your report as follows:
Executive Summary (one page): State the core finding in a sentence. Example: "Your site loads 35% slower than industry benchmark, costing an estimated 18% of mobile visitors to bounce." Include a traffic/revenue impact estimate based on industry data (e-commerce sites lose 1% revenue per 100ms delay, per research cited by Google and Cloudflare).
Performance Score (visual): Show a side-by-side comparison of your site versus a competitor's site on PageSpeed Insights. Most SA business owners are shocked to see they score 32 while competitors score 78. This visual is powerful.
Findings by Priority: List issues in three tiers:
- Critical (fix in 2 weeks): TTFB over 1 second, LCP over 4 seconds, unoptimized hero images
- Important (fix in 1–2 months): Plugin bloat, missing Redis cache, unused CSS/JS
- Nice to Have (fix when convenient): Minor image optimization, font optimization
Detailed Metrics Table: Create a table showing before/after projections and ROI. Example:
| Metric | Current | Target | Estimated Impact |
|---|---|---|---|
| LCP (mobile) | 4.2 sec | 1.8 sec | +12% mobile conversions |
| Page Size | 8.5 MB | 3.2 MB | -62% bounce rate on 4G |
| TTFB | 1.8 sec | 0.5 sec | +15% SEO ranking (faster crawl budget) |
| Requests | 156 | 78 | Faster perceived load |
Implementation Roadmap: Recommend a phased approach. Week 1: image optimization and plugin audit. Week 2: implement Redis cache and CDN. Week 3: optimize critical rendering path. Assign estimated hours and cost (in ZAR) so the client understands investment.
Competitive Benchmark: Include Google PageSpeed scores for 2–3 competitors in the client's industry. This context is powerful: "Your main competitor (Company X) scores 81; you score 34. This performance gap directly impacts SEO visibility and customer trust."
Asif, Head of Infrastructure at HostWP: "I've reviewed over 300 audit reports from SA agencies, and the best ones tie performance to revenue. Instead of saying 'Your LCP is 3.8 seconds,' say 'Every 500ms delay costs you 5% of visitors.' We had one Cape Town agency client who used this approach and doubled their optimization budget because they showed the client a projected revenue lift of R145,000 per year from a 1.2-second speed improvement. That's compelling."
Frequently Asked Questions
What's the difference between a PageSpeed Insights score and a real performance audit?
PageSpeed Insights is a starting point—it measures lab data (simulated) and field data (real users). A real audit digs deeper: it tests from multiple locations, audits server configuration, analyzes plugin impact, and produces a business-focused report. PageSpeed might score a site as 'Good' (80+) even if TTFB is 1.5 seconds, which is unacceptable. Always combine PageSpeed with GTmetrix, WebPageTest, and server-level analysis.
How often should I audit client sites?
Audit quarterly or before major changes (new plugins, theme updates, traffic spikes). If a client experiences slowdown, audit immediately. Load shedding in South Africa can temporarily impact performance metrics—if testing during load shedding, note this in your report. Best practice: schedule audits on stable network days, test at the same time of day to minimize variables.
What's a realistic performance target for a WordPress site in South Africa?
Mobile: LCP under 2.5 seconds, FID under 100ms, CLS under 0.1. Desktop: LCP under 1.2 seconds. TTFB from a South African server should be under 600ms. Page size should be under 3MB for mobile-first design. These targets assume a managed host with caching; budget shared hosting rarely hits these benchmarks.
Should I recommend migrating to a faster host as part of the audit?
Yes, if server speed is the bottleneck. If TTFB is over 1.2 seconds and the host doesn't use LiteSpeed or object caching, migration is justified. Include migration cost and timeline in your roadmap. At HostWP, we've migrated over 500 SA sites with free migration included, and average improvement is 40% faster TTFB due to LiteSpeed and Redis standard.
How do I explain Core Web Vitals to a non-technical client?
LCP = "How fast does the main content appear?" (lower is better). FID = "How responsive is the site when I click?" (lower is better). CLS = "Does content move around as it loads?" (lower is better). Use analogies: "If your site is a shop, LCP is how fast customers see the entrance, FID is how quick the staff responds, and CLS is whether shelves shift around after customers enter." This resonates with business owners.