Skip to Content
The Nest · All articles
Tech

My Odoo site is slow.

Lighthouse at 42, LCP at 4 seconds, visitors bouncing. If your Odoo site is slow, it is almost never Odoo that is to blame.Here are the 10 real causesfound in audits, ranked by frequency, with the solution for each. All measurable, all fixable.

Author
Charlotte
Published on
9 December 2026
Reading
11 min
A slow Odoo, the real causes.

A slow Odoo site is probably the number one reason for calls we receive in audits. The client has tried to optimise on their own, has already paid another agency for an 'optimisation plan' that yielded nothing, and arrives frustrated. Good news: in 9 out of 10, it is not Odoo that is slow. It is what has been added on top. Here are the 10 causes we encounter, and how each can be resolved.

Prerequisite

Measure before touching.

The golden rule of optimisation: no intervention without a baseline measurement. Otherwise, you are tinkering in the dark. Three free tools are sufficient to properly measure an Odoo site:

PageSpeed Insights (pagespeed.web.dev) — the official Google test. Provides the Core Web Vitals (LCP, INP, CLS) measured on real visitors, plus a synthetic Lighthouse audit. This is the tool to use first.

GTmetrix— provides a detailed breakdown of loading (waterfall) that allows you to precisely identify which resource is blocking the display.

WebPageTest— for in-depth audits. Allows testing from multiple geographic locations and browsers, and comparing multiple runs.

Reference objective

On a well-made Odoo site, we aim for an LCP of less than 1.8 seconds on mobile, a Lighthouse performance score above 90, and a CLS below 0.1. If you are far from these figures, there is almost always one of the 10 causes below.

Diagnosis

The 10 most common causes. 

01

Unoptimised images

By far the number one cause. 2 MB PNGs, full-resolution JPEGs displayed at 400px wide. Solution: WebP recompression, resizing to display size, attributeloading="lazy"on images below the fold.

−40% LCP on average
02

Accumulated native Odoo snippets

When building a site with the builder, each snippet adds its share of CSS and JS. After 30 snippets, the bundle becomes heavy. Solution: streamline the snippets used or replace them with a lighter custom QWeb template.

−15% page weight
03

Unused Odoo modules activated

E-commerce, blog, events, recruitment modules activated even though they are not used. Each module adds its assets to the frontend bundle. Solution: disable unused modules in Apps. Measurable test before/after.

−10% bundle size
04

Poorly loaded web fonts

Several Google Fonts loaded in bulk, sometimes with all weights and all Latin characters.Solution:only load the weights used, usefont-display: swap, preload the critical font for the hero.

−300ms FCP
05

Unoptimised autoplay videos

Heavy MP4 video autoplaying on the hero, without a poster, without controlled preload. Solution: compress the video, host externally (Cloudflare Stream, Mux), or replace with a CSS animation if possible.

−2s LCP
06

Third-party scripts (chat, analytics, pixel)

Google Tag Manager, Crisp Chat, Meta Pixel, Hotjar: stacked, they block rendering. Solution: load these scripts withdefer, delay their execution until user scroll, remove those that are non-essential.

−25% INP
07

Unminified custom CSS / JS

Custom CSS added in plain text in the back office, without minification or concatenation. Solution: use Odoo's native stylesheets which are automatically minified and concatenated in the bundle.

−12% CSS weight
08

Developer mode enabled in production

Classic error: developer mode remains enabled after going live. Odoo then disables asset concatenation and everything becomes slow. Solution: check the asset URL in the network console. If it containsnonce, developer mode is on. Disable it.

−50% number of requests
09

Poorly configured browser cache

On Odoo Online, the cache is generally well set. On Odoo SH or self-hosted, the headersCache-Controlare sometimes forgotten. Solution: ensure that assets (CSS, JS, images, fonts) have a long cache (minimum 1 year).

+30% hidden visits
10

Under-dimensioned hosting

If all other causes are eliminated and the site remains slow, it is the hosting. Solution: upgrade to a more powerful Odoo SH plan, or switch from standard Odoo Online to a higher plan.

Variable depending on the plan

Optimising an Odoo site is remove things, not add to them. Performance arises from simplicity.

— Charlotte Moonen · WebNest
Hosting

Odoo Online vs Odoo SH.

On the subject of hosting, there is often confusion. Here are the actual scales in 2026.

Odoo Online is Odoo's turnkey hosting. Ideal for a showcase site or an e-commerce site with up to 1,000 visitors/day. Cost: €24-80/month depending on the plan. On this type of well-optimised site, the LCP easily runs between 1.2 and 1.8 seconds. This is sufficient for 80% of projects.

Odoo SH is managed hosting on isolated infrastructure. Relevant from 2,000 visitors/day, or if you want staging, Git, development branches. Cost: €50-200/month depending on the plan. Similar performance on the frontend, but with more technical control.

The trap: choosing SH when Online would suffice. It's more expensive and more complex. Conversely, staying on Online when traffic explodes and the site struggles during peak hours: you need to upgrade.

Self-diagnosis

What you can check yourself.

Before calling an agency for an audit (and paying €800 to €1,500), you can do these 4 checks yourself in 30 minutes:

1. Run PageSpeed Insights on your homepage and on a product page (if e-commerce). Note the mobile and desktop scores.

2. Open Chrome DevTools (F12), go to the Network tab, refresh the page. Sort by size. Identify resources over 500 KB. This is often where the problem lies.

3. Check the developer mode. If an asset URL containsnonceor if the network is loading 50 separate CSS files, developer mode is still enabled.

4. List your enabled modules in Apps. Uninstall those you do not use (make a backup first).

Quick win

On 60% of the Odoo sites we audit, causes 1, 7, and 8 (images, custom CSS, developer mode) already resolve two-thirds of the problem. Before paying for heavy optimisation, check these three.

Recourse

When to call an agency.

If you have completed the 4 checks above and your LCP remains above 3 seconds, it is probably structural. Four situations justify a professional audit:

1. You are using a purchased theme or a heavy builder. The structural weight is too significant to be corrected marginally. Key pages need to be redesigned.

2. Your site has accumulated 3-5 years of changes without cleaning. CSS and JS added gradually, of which no one knows the purpose anymore. An audit + cleaning is worthwhile.

3. You have an e-commerce site with a substantial catalogue. Product pages require special attention (lazy load, schema, responsive images). A specialised developer makes a difference.

4. SEO is degrading for no apparent reason. Google is increasingly weighing Core Web Vitals. A gradual slowdown may explain an unexplained loss of positions.

At WebNest, we conduct a free Odoo performance audit on public sites. We send you the report within 48 hours, with the measured figures and our recommendations. If you then want us to intervene, it will be based on a quote. If you want to do it yourself, the report is sufficient.

About the author The Nest · 2026
CM
Charlotte Moonen
Founder and Lead Front-end · WebNest
Charlotte has been auditing Odoo sites since 2024 and has seen about fifty cases of slowness. The same 10 causes come up every time. What she uses to optimise: free Google tools, and a lot of hands-on experience.
Is your Odoo site slow?

Performance audit free, within 48 hours.

Send us your site's URL. We will send you a measured report, with identified causes and actions to take. No commitment.