Loading

How can you improve performance on a WordPress site with 10k+ posts and heavy traffic?

Asked by Mynul Islam · · 7 answers

Managing a WordPress site with 10k+ posts and heavy traffic can lead to slow load times, high server load, and poor user experience due to unoptimized queries, bloated plugins, and lack of caching or CDN integration.

7 answers

Answered by Dipa Saha ·

Optimize the Database

🔧 Tools:

  • WP-Optimize
  • Advanced Database Cleaner
  • Use phpMyAdmin or CLI for manual cleanup

📦 Key Optimizations:

  • Clean up post revisions, transients, orphaned metadata.
  • Use indexes on large tables.
  • Avoid wp_options bloat.

🔧 SQL Index Example:

CREATE INDEX idx_post_type ON wp_posts (post_type);

Answered by Md Sharifuzzaman Shajib ·

mplement Full-Page Caching

🔧 Tools:

  • LiteSpeed Cache
  • WP Super Cache
  • WP Rocket

📈 Benefit:

Serves static HTML instead of querying WordPress + MySQL on every request.

🔧 Example Setup (LiteSpeed Cache):

# Enable LiteSpeed Cache via .htaccess
<IfModule LiteSpeed>
    CacheEnable public /
</IfModule>


📊 Before vs After

TTFB (Time to First Byte):

  • Before (Dynamic): 1.5s
  • After (Cached): 150ms

Load Time:

  • Before (Dynamic): 3.2s
  • After (Cached): 1.1s

Server Load:

  • Before (Dynamic): High
  • After (Cached): Low


Answered by Sahin Khan ·

Limit Query Load on Archive Pages

❌ Problem:

Default archive pages (like /blog/) may load 10k+ posts with complex joins.

✅ Fix:

  • Use pagination (posts_per_page limit)
  • Avoid using query_posts — use WP_Query
  • Index frequently queried columns

🔧 Example:

$query = new WP_Query([
  'posts_per_page' => 10,
  'paged' => get_query_var('paged', 1),
  'no_found_rows' => true // skips COUNT(*) for faster query
]);

Answered by Ratul Sikder ·

Optimize Images

🔧 Tools:

  • Smush
  • ShortPixel
  • Imagify

🔧 Techniques:

  • Use WebP format
  • Lazy-load below-the-fold images
  • Compress images during upload

🧪 Example Compression:

Image: hero.jpg

Original Size: 1.2 MB

Optimized Size: 280 KB

Optimized Format: WebP

Answered by Shaykot Hossain Selim ·

Use Object Caching (Redis/Memcached)

🔧 Tools:

  • Redis Object Cache Plugin
  • Memcached + Batcache

📈 Benefit:

Stores query results and objects in memory, reducing DB hits.

🔧 Redis Setup:

In wp-config.php:

define('WP_REDIS_HOST', '127.0.0.1');
define('WP_CACHE', true);

Start Redis:

sudo apt install redis-server
sudo systemctl start redis

Answered by Fozle Rabbi ·

Minify and Combine CSS/JS

🔧 Tools:

  • Autoptimize
  • LiteSpeed Cache
  • WP Rocket

🧠 Minification = Removes whitespace/comments

🧠 Combining = Reduces HTTP requests

🔧 Sample Output Before:

<script src="/wp-content/themes/js/jquery.js"></script>
<script src="/wp-content/themes/js/main.js"></script>

🔧 After Minification + Combining:

<script src="/cache/min/combined.js"></script>

Answered by Mynul Islam ·

Use a CDN (Content Delivery Network)

🔧 Tools:

  • Cloudflare (free)
  • BunnyCDN, StackPath

📈 Benefit:

Delivers assets (images, CSS, JS) from global edge locations, reducing latency.

🌐 CDN Flow Diagram:

User Browser
     ↓
  CDN Edge
     ↓ (only if not cached)
 Origin Server (WordPress)

🔧 Cloudflare Setup:

  1. Point your domain's NS to Cloudflare.
  2. Turn on "Caching" and "Auto Minify".
  3. Use Cloudflare APO (for dynamic page caching).

Browse more questions from the manob.ai community