Service Performance

WordPress sites that load in under two seconds.

Profile first, optimize second. Database, cache, edge, assets. Real Core Web Vitals improvements that hold in production, not just lab scores.

0.6s LCP on store.wbcomdesigns.com, our own production site
wp-cli profile
terminal bash
    
      
          
          # Profile a slow page with WP-CLI
        
          
          wp profile stage --all --orderby=total_time
        
          
           
        
          
          +----------------+--------+--------+--------+--------+---------+
        
          
          | stage          | hook_t | hook_c | query_t| query_c| total_t |
        
          
          +----------------+--------+--------+--------+--------+---------+
        
          
          | muplugins_load | 0.0021 | 12     | 0.0012 | 3      | 0.0033  |
        
          
          | plugins_load   | 0.4821 | 487    | 0.0234 | 18     | 0.5055  |
        
          
          | init           | 1.2104 | 1,243  | 0.8421 | 52     | 2.0525  |
        
          
          | wp             | 0.3211 | 234    | 1.4233 | 87     | 1.7444  |
        
          
          | template       | 0.1832 | 156    | 0.0823 | 12     | 0.2655  |
        
          
          +----------------+--------+--------+--------+--------+---------+
        
          
           
        
          
          # Result: WooCommerce Subscriptions firing 87 queries on init
        
          
          # Fix: object cache for is_user_subscribed() lookups (24h TTL)
        
          
          # Outcome: TTFB 2.3s -> 0.4s
        
    
  

Why performance

Page speed is the cheapest growth lever most WordPress sites are not pulling.

Conversion drops 7% for every additional second of load time. Bounce rate climbs above 30% past three seconds. Google ranks faster sites higher in the same Core Web Vitals report your competitors are watching. Performance is not a vanity metric. It is the lever you can pull this quarter without a product redesign.

Most WordPress performance work fails because it starts with the symptom (install a cache plugin) instead of the cause (the database is doing 87 queries on init because of one badly written hook). We profile first, fix the actual bottleneck, then add the caching layer on top.

What we optimize

Performance work that holds after we leave.

Database tuning, object cache, edge caching, asset optimization, monitoring. Every change tied to a measured improvement, every gain documented so your team can defend it.

01

Profile first, optimize second

WP-CLI profile, Query Monitor, New Relic. We measure where time actually goes before we change anything. No guesswork, no premature optimization, no "install a caching plugin and hope".

Every change ties to a measured improvement.

02

Database query tuning

Slow query log analysis, missing indexes added, autoload cleanup, post meta queries optimized, custom tables introduced where they belong. The database stops being the bottleneck.

TTFB drops below 200ms server-side.

03

Object cache configured properly

Redis or Memcached configured with the right cache key salt, the right TTLs, and the right invalidation patterns. Hit rate above 95% network-wide. Cache stampedes prevented.

Page generation cost drops 70 to 90 percent.

04

Edge caching with proper invalidation

Cloudflare or Bunny CDN with cache rules tuned for WordPress. HTML cached for logged-out visitors. Cache purged on post updates. CSRF tokens never cached. WooCommerce cart never cached.

TTFB drops below 50ms at the edge.

05

Asset optimization end-to-end

CSS minified and critical-pathed. JavaScript deferred or async. Images converted to WebP or AVIF. Web fonts subsetted and preloaded. Render-blocking resources eliminated.

PageSpeed scores stay above 90.

06

Monitored after launch

Core Web Vitals tracking active before optimization starts and after it ends. Real User Monitoring (RUM) data, not just lab scores. Performance regressions caught before customers report them.

Performance gains hold over time.

2.3s to 0.4s

typical TTFB improvement on our performance engagements

Before-and-after WP-CLI profile reports included in every handover.

Process

How a performance engagement runs.

01

Audit

One week. WP-CLI profiling, slow query log analysis, autoload audit, asset audit, real-user monitoring data review. Output is a prioritized fix list with measured impact estimates.

You know the ROI of every fix before we start.

02

Implement

Two to six weeks depending on site complexity. Fixes shipped in priority order. Before-and-after measurements at every milestone. No regressions, every change verified.

Each milestone moves the metric.

03

Monitor and document

Real User Monitoring active. Core Web Vitals dashboard set up. Performance budget documented. Runbook for the on-call person. Optional retainer for ongoing tuning.

Performance gains hold long term.

Common questions

Frequently asked

  1. How fast can a WordPress site actually get?

    For most content sites, sub-second LCP is achievable with proper caching, asset optimization, and image work. WooCommerce sites typically land in the 1.5 to 2 second range due to dynamic checkout requirements. BuddyPress sites depend on the activity stream complexity. We give you a realistic floor in discovery.

  2. Why not just install WP Rocket or W3 Total Cache?

    Caching plugins help, but they hide the real problem instead of fixing it. A site that needs aggressive caching to feel fast is a site that has 2.5 second TTFB underneath. We fix the underlying problem (database queries, autoload bloat, plugin overhead) and then add caching on top.

  3. What about hosts that promise built-in performance?

    Managed WordPress hosts (WP Engine, Kinsta, Pressable, Pantheon) handle the infrastructure layer well. They cannot fix bad plugin code, slow queries, or asset bloat. Performance work on top of a good host gets you another 50 to 70% improvement.

  4. Do you handle Core Web Vitals specifically?

    Yes. LCP, FID/INP, CLS all addressed as part of every performance engagement. We measure with PageSpeed Insights, CrUX data, and Real User Monitoring. The goal is passing CWV in production, not just the lab tests.

  5. What if the site is built with a page builder like Elementor or Divi?

    Page builders add 100 to 300KB of CSS and JavaScript per page. We can optimize within the constraint (asset cleanup, lazy loading, critical CSS) but the page builder itself is a hard ceiling. We tell you in discovery what is achievable inside the constraint.

  6. What does it cost?

    A focused performance audit (full report, top 10 fixes, implementation roadmap) are scoped per project. Full implementation engagements are sized depending on site complexity. Performance retainers are scope-dependent. Discovery call is free.

Ready to ship a faster site?

Tell us what you want to build.

Discovery call is free. Fixed-price quote within 48 hours. Audits are scope-dependent.