- Article
- Intermediate
- 2 minutes read
- Reviewed August 4, 2026
- WordPress performance
Dynamic websites produce responses that depend on the user, session, inventory, permissions or current transaction.
Ecommerce, membership, learning and account platforms therefore require more than aggressive full-page caching.
Classify Page Types
Separate:
- Public reusable pages.
- Public pages with small dynamic fragments.
- Logged-in account pages.
- Cart and checkout.
- Search and filters.
- API and AJAX actions.
- Background queues.
- Administration reports.
Each type can use a different caching and scaling strategy.
Selective Caching
Public product and editorial pages can often use page caching.
Cart, checkout and account pages usually bypass it. Object caching, query optimization and efficient session handling become more important.
Cookies and Sessions
Some ecommerce cookies can cause caches to bypass more pages than necessary.
Review the exact rules and ensure personalized fragments do not force the entire public site to remain uncached.
Inventory and Transactions
Prices, stock, permissions and order state require correct freshness.
Do not extend cache lifetimes without defining invalidation and consistency behavior.
Background Processing
Move non-interactive work such as email, exports, webhooks and synchronization into queues or scheduled tasks.
Jobs should be bounded, retry safely, avoid overlap and expose failures.
Search and Filtering
Large catalogues can create expensive taxonomy and metadata queries.
Use suitable indexes, custom tables or a search service when evidence shows the default data model no longer matches the workload.
Peak Events
Prepare for sales, launches and campaigns by testing:
- Cache-miss origin capacity.
- PHP workers.
- database writes.
- payment APIs.
- webhook queues.
- stock updates.
- email delivery.
- failover and monitoring.
Frequently Asked Questions
Can checkout be cached?
A complete shared checkout response should not be cached across users. Selected assets and non-personal components can still be cached.
Is object caching enough for a large store?
It can help, but database design, workers, queues and external services also matter.
Continue Learning
Previous: Improving WordPress Admin Performance