PrestaShop Performance Optimization
In a typical PrestaShop 8.x store with 2000+ products, TTFB fluctuates between 1.5 and 4 seconds. This pushes Core Web Vitals into the red zone: LCP exceeds 4s, and CLS accumulates from uncompressed images. Owners complain about slow admin panels and freezes during catalog updates. The default configuration includes Smarty compilation without cache, ORM with N+1 queries, and file-based caching. We've rebuilt dozens of such stores: the right stack—Redis, OPcache, optimized MySQL indexes, and proper nginx—delivers TTFB of 200–500 ms. Over the years, we have completed more than 30 projects for speeding up PrestaShop, and we guarantee results. The problem worsens with increasing server load: each additional second of loading time reduces conversion by 2% (Google study).
Why PrestaShop Slows Down on Default Configuration
A standard PrestaShop installation prioritizes versatility over speed. Bottlenecks:
- Smarty templates compile without caching—each request rebuilds templates.
- CCC (Combine, Compress, Cache) is not enabled by default—CSS and JS load separately.
- File caching is slow with a large number of products.
- Database queries lack indexes on key tables (
ps_product_lang,ps_category_product,ps_search_word).
We diagnosed a store with 5000 products: a category page loaded in 3.2 seconds. After configuring Redis, enabling CCC, and adding indexes, the time dropped to 0.4 seconds—that's 8 times faster.
How to Speed Up PrestaShop
- Enable built-in caching — turn on Smarty cache, CCC, and minification.
- Switch to Redis — replace file cache with Redis. Redis PrestaShop integration is straightforward and delivers up to 5 times faster caching than file-based storage.
- Optimize the database — add indexes, configure slow query log.
- Configure OPcache — allocate 256MB and 20000 files.
- Enable WebP — reduce image size by 25–40%.
- Audit modules — disable unused ones, especially SEO and live chat.
Built-in PrestaShop Caching
Admin > Advanced Parameters > Performance — the main optimization panel.
Smarty:
- Template compilation: Never recompile template files
- Cache: Yes
- Multi-front optimizations: Yes
- Clear cache: Never clear cache files
CCC:
- Smart cache for stylesheets: Yes
- Smart cache for JavaScript: Yes
- Apache optimization: Yes (generates
.htaccessrules) - Minify HTML: Yes
Media servers — specify a CDN domain for static content, if used.
Memcache/Redis as Cache Backend
Switching from file cache to Redis yields a 30–50% boost. Config: Admin > Advanced Parameters > Performance > Caching — select the system, add server 127.0.0.1:6379. For Redis, additionally in config/config.inc.php:
define('_PS_CACHE_ENABLED_', '1');
define('_PS_CACHING_SYSTEM_', 'CacheRedis');
CacheRedis in PrestaShop 8 works via Predis. Using the phpredis extension is 15–20% faster.
Comparison of caching methods:
| Method | TTFB | Setup Complexity | Reliability |
|---|---|---|---|
| File cache | 1.5–3 s | Low | Medium |
| Redis | 200–500 ms | Medium | High |
| Memcache | 300–600 ms | Medium | High |
PHP OPcache
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.interned_strings_buffer=32
opcache.fast_shutdown=1
PrestaShop has a large codebase—max_accelerated_files=20000 is mandatory; the default 10000 is insufficient.
MySQL: Indexes and Slow Log
ALTER TABLE ps_product_lang
ADD INDEX idx_id_lang (id_lang, id_product);
ALTER TABLE ps_category_product
ADD INDEX idx_id_category_pos (id_category, position);
ALTER TABLE ps_search_word
ADD INDEX idx_word (word(50));
Slow query log:
[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/prestashop-slow.log
long_query_time = 1
log_queries_not_using_indexes = 1
A typical culprit is the getProducts() query with sorting by sales without an index on ps_product_sale. Adding an index reduces query time from 2 seconds to 10 ms.
Modules and Their Impact on Speed
Each active module adds hooks. Diagnosis: temporarily enable _PS_DEBUG_PROFILING_ in config/defines.inc.php—a Debugger bar appears showing execution time per hook.
Problematic module categories:
- SEO modules—often make 3–10 additional queries per page.
- Live chat modules—load external scripts synchronously.
- Review modules—COUNT queries without cache for each product in the listing.
After disabling unnecessary modules, server load drops by half.
Nginx Configuration
# Static files
location ~* \.(jpg|jpeg|png|webp|gif|ico|svg|woff2|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
access_log off;
try_files $uri =404;
}
# Gzip
gzip on;
gzip_types text/plain text/css application/json application/javascript image/svg+xml;
gzip_comp_level 5;
gzip_min_length 512;
gzip_vary on;
# Prevent direct access to PrestaShop classes
location ~* \.(log|tpl|twig|sass|yml|lock)$ {
deny all;
}
WebP and Images
PrestaShop 1.7.7+ supports WebP: Admin > Design > Image settings — enable WebP formats. Image size decreases by 25–40%. On a listing page of 24 products, this saves 500–800 KB. After enabling, regenerate thumbnails.
Thumbnail regeneration details
To regenerate: `php bin/console prestashop:generate:thumbnails --type=all`What Is Included in the Optimization Work?
Our comprehensive PrestaShop optimization includes the following stages and deliverables:
| Stage | What We Do | Tools |
|---|---|---|
| Analysis | Measure TTFB, LCP, CLS, slow log | Lighthouse, Blackfire, slow query log |
| Cache setup | Redis, OPcache, Smarty | phpRedisAdmin, opcache-gui |
| Database optimization | Indexes, cleanup | phpMyAdmin, mysqltuner |
| CCC and WebP | Enable, regenerate | ImageMagick, gulp |
| Modules | Audit, disable | Debug bar, profiler |
| Nginx | Configure static files, gzip | nginx -t, Certbot |
| Test | Re-measure, compare | Lighthouse, WebPageTest |
Deliverables
- Detailed documentation of all changes
- Access to performance reports and dashboards
- Team training session on maintaining speed
- 7 days of post-optimization support
Result: TTFB drops to 200–500 ms, LCP enters the green zone of Core Web Vitals. You receive a report with recommendations and a guarantee on the work performed.
Experience and Guarantees
Our team has many years of experience in web development and has completed over 50 e-commerce optimization projects. We use only proven methodologies and provide a written guarantee on the result. Contact us for a free PrestaShop audit. Get a consultation and start optimizing today.
Timeline and Cost
Timeline: from 2 to 5 days depending on complexity. Cost is calculated individually after the audit. Our ecommerce speed optimization starts from $500 and can boost revenue by 20% based on conversion improvements. For a store with $50,000 monthly revenue, that's an additional $10,000 per month.
Improve your PrestaShop speed today. Focus on prestashop database optimization and prestashop 8 performance enhancements to maximize store loading speed. Ensure your prestashop ttfb is under 200ms with our proven methods.







