Tech · 12 mai 2026 · 11 min read
My Odoo site is slow.
A slow Odoo site is almost never Odoo's fault. In the vast majority of audits, the cause lies elsewhere: uncompressed images, misplaced lazy loading, a poorly configured cache, third-party scripts, a bloated theme. The first step is always to measure with Lighthouse before touching anything.
Lighthouse at 42, LCP at 4 seconds, visitors bouncing. If your Odoo site is slow, Odoo itself is almost never to blame. Here are the 10 real causes we find during audits, ranked by frequency, with the fix for each one. All measurable, all fixable.
Updated on
A sluggish Odoo site, the real causes.
Contents
- Measure first
- The 10 causes
- Hosting
- What to check yourself
- When to call an agency
A slow Odoo site is probably the number one reason people call us for an audit. The client has tried to optimise on their own, has already paid another agency for an “optimisation plan” that achieved nothing, and arrives frustrated. The good news: in 9 cases out of 10, Odoo is not what's slowing things down. It's what has been added on top. Here are the 10 causes we come across, and how to fix each one.
Measure before you touch anything.
The golden rule of optimisation: no changes without a baseline measurement. Otherwise you're tinkering blindly. Three free tools are enough to measure an Odoo site properly:
PageSpeed Insights (pagespeed.web.dev): Google's official test. It gives you the Core Web Vitals (LCP, INP, CLS) measured on real visitors, plus a synthetic Lighthouse audit. This is the tool to use first.
GTmetrix: gives a detailed breakdown of the loading sequence (waterfall), so you can pinpoint exactly which resource is blocking rendering.
WebPageTest: for in-depth audits. It lets you test from several geographic locations and browsers, and compare multiple runs.
Benchmark target
On a well-built Odoo site, we aim for an LCP under 1.8 seconds on mobile, a Lighthouse performance score above 90, and a CLS below 0.1. If you're far from these figures, one of the 10 causes below is almost always involved.
For context: Google rates a page as good from an LCP under 2.5 seconds, an INP under 200 milliseconds and a CLS under 0.1, measured at the 75th percentile of page loads. Source: Google, Core Web Vitals, accessed in August 2026. Our internal targets are deliberately stricter.
The 10 most common causes.
Unoptimised images
By far the number one cause. 2 MB PNGs, full-resolution JPEGs displayed 400px wide. Fix: recompress to WebP, resize to display dimensions, and add the loading="lazy" attribute to images below the fold.
Piled-up native Odoo snippets
When you build a site with the builder, every snippet adds its own CSS and JS. After 30 snippets, the bundle gets heavy. Fix: cut down the snippets you use or replace them with a lighter custom QWeb template.
−15% page weightUnnecessary Odoo modules enabled
eCommerce, blog, events and recruitment modules enabled but not used. Each module adds its assets to the frontend bundle. Fix: disable unused modules in Apps. Measure before and after.
−10% bundle sizePoorly loaded web fonts
Several Google Fonts loaded all at once, sometimes with every weight and the full Latin character set. Fix: only load the weights you use, use font-display: swap, and preload the critical hero font.
Unoptimised autoplay videos
A heavy MP4 video autoplaying in the hero, with no poster and no controlled preload. Fix: compress the video, host it externally (Cloudflare Stream, Mux), or replace it with a CSS animation where possible.
−2s LCPThird-party scripts (chat, analytics, pixel)
Google Tag Manager, Crisp Chat, Meta Pixel, Hotjar: stacked together, they block rendering. Fix: load these scripts with defer, delay their execution until the user scrolls, and remove the ones you don't need.
Unminified custom CSS / JS
Custom CSS added as plain text in the back office, with no minification or concatenation. Fix: use Odoo's native stylesheets, which are automatically minified and concatenated into the bundle.
−12% CSS weightDeveloper mode left on in production
A classic mistake: developer mode stays on after go-live. Odoo then disables asset concatenation and everything slows down. Fix: check the asset URLs in the network console. If they contain nonce, dev mode is on. Switch it off.
Poorly configured browser cache
On Odoo Online, caching is usually set up correctly. On Odoo SH or self-hosted, the Cache-Control headers are sometimes forgotten. Fix: make sure your assets (CSS, JS, images, fonts) have a long cache lifetime (1 year minimum).
Undersized hosting
If every other cause has been ruled out and the site is still slow, it's the hosting. Fix: upgrade to a more powerful Odoo SH plan, or move from standard Odoo Online to a higher plan.
Depends on the planOptimising an Odoo site means taking things away, not adding them. Performance comes from restraint.
Charlotte Moonen · WebNest
Odoo Online vs Odoo SH.
Hosting is an area where we often see confusion. Here are the real ballpark figures for 2026.
| Criterion | Odoo Online | Odoo SH |
|---|---|---|
| Hosting type | Turnkey, managed by Odoo | Managed, on isolated infrastructure |
| Use case | Brochure site or online shop up to 1,000 visitors a day | From 2,000 visitors a day, or if you need staging, Git and dev branches |
| Monthly cost | €24 to €80 depending on the plan | €50 to €200 depending on the plan |
| LCP on a well-optimised site | 1.2 to 1.8 seconds | Similar on the frontend |
| Technical control | Standard | Extended |
Odoo Online is enough for 80% of projects.
The trap: choosing SH when Online would do. It costs more and adds complexity. Conversely, staying on Online when traffic takes off and the site struggles at peak times: that's when you need to upgrade.
What you can check yourself.
Before calling in an agency for an audit (and paying €800 to €1,500), you can run these 4 checks yourself in 30 minutes:
1. Run PageSpeed Insights on your homepage and on a product page (if you have an online shop). Note the mobile and desktop scores.
2. Open Chrome DevTools (F12), go to the Network tab and reload the page. Sort by size. Look for resources over 500 KB. That's often where the problem hides.
3. Check developer mode. If an asset URL contains nonce or the network loads 50 separate CSS files, dev mode has been left on.
4. List the modules enabled in Apps. Uninstall the ones you don't use (take a backup first).
Quick win
On 60% of the Odoo sites we audit, causes 1, 7 and 8 (images, custom CSS, dev mode) already solve two thirds of the problem. Before paying for heavy optimisation work, check those three.
When to call in an agency.
If you've done the 4 checks above and your LCP is still above 3 seconds, the problem is probably structural. Four situations justify a professional audit:
1. You're using a purchased theme or a heavy builder. The structural weight is too great to fix at the margins. Some key pages need rebuilding.
2. Your site has built up 3 to 5 years of changes without a clean-up. CSS and JS added bit by bit, and nobody remembers what they're for. An audit plus clean-up pays for itself.
3. You run an online shop with a large catalogue. Product pages need particular care (lazy loading, schema, responsive images). A specialist developer makes the difference.
4. Your SEO is slipping for no obvious reason. Google gives Core Web Vitals more and more weight. A gradual slowdown can explain an otherwise unexplained drop in rankings.
At WebNest, we offer a free Odoo performance audit for public websites. We send you the report within 48 hours, with the measured figures and our recommendations. If you'd like us to handle the work afterwards, we'll quote for it. If you'd rather do it yourself, the report is all you need.
Frequently asked questions
Is Odoo a slow CMS?
What score should you aim for?
Should you move to Odoo SH to speed things up?
Where should you start?
Read also
Planning an Odoo website?
We hand-code Odoo websites in Belgium. No templates, no drag-and-drop.
Let's talk about your projectMoonen Charlotte, Founder and CEO at WebNest. Hand-coded Odoo websites.