OpenCart / ocStore Speed Optimization
OpenCart and ocStore speed optimization
A slow store loses customers and rankings at the same time: a visitor closes the tab before the catalogue appears, and Google records poor Core Web Vitals. And "slow" almost never means "weak server" — in most cases a handful of specific database queries and a heavy front end are to blame.
Where the work starts
Measurement first, changes second. Without that, optimization degenerates into working through advice found online. I look at TTFB separately from rendering, enable the slow query log, and find the pages with the worst response times.
The causes I usually find
- a catalogue without the indexes it needs — a category with a thousand products taking tens of seconds to assemble;
- caching disabled or misconfigured;
- modules that query the database in a loop, once per product;
- images served at original size instead of resized;
- PHP-FPM with a worker count picked by guesswork;
- third-party scripts blocking the render.
What is included
Profiling and bottleneck hunting, indexes and rewritten heavy queries, cache configuration (Redis for stores with meaningful traffic), Nginx and PHP-FPM tuning, image and front-end work, and a repeat measurement after every stage.
Being honest about expectations
A realistic outcome is server response time in the low hundreds of milliseconds instead of several seconds. But if the store sits on cheap shared hosting with a CPU cap, the ceiling will be low regardless of code quality — at that point it is more honest to talk about moving to a VPS than about endless tuning.
Results are recorded as before-and-after numbers, not as adjectives.
Tags: opencart, optimization, performance, ttfb, redis, mysql