WordPress performance issues have always been one of the most criticized aspects of the platform. On Q&A sites like Zhihu, questions like “WordPress is so slow, why do people still use it to build websites?” are common. Some users have even declared WordPress dead, believing its performance issues are beyond repair.
Is WordPress Really Slow?
Yes, many people think WordPress is slow!
But regular readers of my blog “I Love Wonton Fish” may have noticed how incredibly fast my site loads. In previous case studies I’ve shared, like the “Peanut Shop” mini-program e-commerce platform we built with WordPress, we managed to support tens of thousands of WordPress sites using just two servers (one application server and one database server). This proves WordPress itself isn’t inherently slow.
Fundamentally, as the world’s most popular website and blogging system, WordPress wouldn’t have major design flaws affecting performance. The WordPress development team has certainly considered these aspects carefully.
So Where Do WordPress Performance Issues Really Come From?
Based on my years of experience building and maintaining WordPress sites, most performance problems stem from improper usage:
- Installing too many inefficient plugins
- Using poorly coded themes
- Failing to implement proper caching solutions
To improve WordPress performance, we need to address these areas systematically.
WordPress Performance Optimization: Why My Blog Is Faster Than Yours
Today, I’ll share optimization techniques and best practices gathered from optimizing my own blog and developing large-scale SaaS platforms like Peanut Shop.
1. Always Update to the Latest Version
This is often overlooked. With each new WordPress release, the development team includes performance improvements for both frontend and backend code. For example, since WordPress 6.1, you can achieve a site with 0 SQL queries without any plugins.
2. Separate Dynamic and Static Content
Whether for WordPress or any other CMS, the first optimization step should always be separating dynamic and static content. If you examine the source code of major websites, you’ll notice their images are served from different domains (like cdn.maindomain.com or images.maindomain.com) for CDN acceleration.
Website static files generally fall into two categories:
- Theme assets: CSS, JavaScript, and common background images/button files that rarely change unless you redesign the site.
- Content media: Images and attachments uploaded with new content that typically remain unchanged.
Properly handling static file storage and acceleration solves half of your speed issues. The best solution is always using a CDN network, which significantly reduces server load by handling only page requests while serving all images, JS, and CSS from the CDN. This can reduce requests to 1/10th or less of the original amount.
For WordPress blogs, my WPJAM Basic plugin’s “CDN Acceleration” feature supports major cloud storage services like Alibaba Cloud OSS and AWS S3. With WPJAM Basic installed, you can enable WordPress static file CDN acceleration with one click.
3. Server Optimization
After separating dynamic and static content, we optimize the dynamic elements. This starts with ensuring a stable network environment, reliable hosting provider, and proper server configuration.
Hosting recommendations: Choose BGP or multi-line data centers to ensure good speeds nationwide. Prefer dedicated servers, or at least VPS with root access, as many optimizations require server-level permissions.
Server optimizations:
- Install Memcached and PHP Memcached extension (see: Using Memcached to Cache WordPress Data)
- Enable PHP OPCache: Caches compiled PHP code in shared memory for faster execution
- Configure MySQL Query Cache: Stores query results to avoid repeated database retrieval
4. WordPress Caching and Optimization
To truly understand WordPress performance optimization, you must first grasp its caching mechanism. WordPress uses an Object Cache system that stores content in key-value pairs (similar to NoSQL), with support for grouping to prevent cache conflicts.
Basic WordPress caching plugins store these key-value pairs—either in memory (with Memcached) or on disk. Advanced plugins like WP Super Cache store entire pages as static HTML files, bypassing PHP entirely. Batcache stores complete pages as objects in memory. For most cases, I recommend Memcached as sufficient.
Memcached stores WordPress objects in RAM. With enough server memory, read/write speeds are extremely fast, and cache hit rates often exceed 99%. After optimization, our WordPress pages typically execute only about 2 queries each, with some pages achieving 0 SQL and generating in just 0.0013 seconds.
WPJAM Basic includes built-in Memcached support. After installing, simply copy the object-cache.php file from wpjam-basic/template/ to your wp-content directory.
Disable any unused WordPress features that might impact performance. WPJAM Basic’s optimization settings handle this exceptionally well—it’s truly an optimization-focused plugin.
5. Theme and Plugin Optimization
Theme and plugin optimization also builds on WordPress’s Object Cache mechanism. Key recommendations:
For all users:
- Use only essential plugins—too many can cause performance and security issues
- Download themes from reputable sources. I recommend my premium Autumn-Pro theme or free Sweet theme from xintheme
For developers:
- Prefer WordPress template functions where possible, as they’re already Object Cache optimized. For example:
- get_the_terms (cache-friendly, no SQL) vs wp_get_object_terms (queries database)
- For custom database queries, implement Object Cache using wp_cache_set to store results and wp_cache_get to retrieve them
WordPress Performance Optimization Service
To summarize: Optimize WordPress by:
- Installing WPJAM Basic plugin
- Choosing quality hosting
- Configuring server optimizations
- Implementing Memcached caching
WordPress is actually highly efficient. Combined with its flexibility and powerful features, it remains an excellent choice for all types of websites—which is why I continue using it for all my projects.