Odoo Hosting | Odoo Expertos · EN
-
+Odoo Hosting: Plans, Prices, and How to Choose
+
@@ -18,8 +18,8 @@
-
-
+
+
@@ -246,11 +246,98 @@
-
Odoo Hosting Resource Center
+
Odoo Hosting: What Options You Have and How Much They Cost
Everything you need to know about infrastructure, providers and hosting optimization for your Odoo ERP
+
+
+
+
+
+
Hosting Odoo has three paths: the official platform
+ (Odoo.sh), a managed Odoo Community provider, or your own server. They differ in
+ price, who answers when something breaks, and how much work is yours. Below are
+ the real prices and the questions that decide.
+
+
+
Managed Odoo Plans, with Prices
+
These are the plans from Odoo4projects, the
+ provider we work with, verified on 2026-10-24. They serve as a market reference even
+ if you end up elsewhere.
+
+
+
+
+
Plan
+
Price / year
+
What it includes
+
For whom
+
+
+
+
+
Side Hustle
+
$214
+
1 domain, SSL, backups, deploy in 5 min
+
One business, one Odoo, no custom modules
+
+
+
On the Rise
+
$395
+
3 domains, 4 backups, modules via Git/QuickGIT
+
Who already touches code or installs OCA
+
+
+
Powerhouse
+
$595
+
Like On the Rise, plus 2 workers and Enterprise-ready
+
Real concurrency and Enterprise license
+
+
+
Empire
+
> $950
+
Your own server, all features, dedicated onboarding
+
Data/compliance requirements that a shared plan doesn't cover
+
+
+
+
+
All include 30 days of trial without a card and
+ six regions: Amsterdam, Boston, Manchester, Mumbai, São Paulo and Sydney. For LATAM,
+ São Paulo has the lowest latency.
+
+
What to check before paying for hosting
+
+
Backups you can restore yourself. Ask how many slots there are and if
+ you can trigger a restoration without opening a ticket. A backup that only the provider
+ can restore is not a backup, it's a promise.
+
SSL and domain included or billed separately. The second case
+ turns a $214 plan into something else.
+
Region. Latency is noticeable on every click of the day. If your
+ team is in Bogotá and the server in Frankfurt, you will feel it.
+
How modules are deployed. Git is the difference between installing
+ an OCA module in two minutes and fighting FTP.
+
Who does version updates and how much they cost. It's the expense
+ nobody budgets for and that appears every year or two.
+
Exit. Can you export the database and take it with you the day you
+ leave? Without that, the cheap price is a trap at 24 months.
+
+
+
+
Trial is cheaper than comparing
+
A test instance with your
+ data answers in an afternoon what three comparisons do not: if your country's
+ localization works and how long your team takes to move around. Odoo4projects
+ spins it up in 5 minutes, no card needed.
diff --git a/growth/WEEKLY-LOG.md b/growth/WEEKLY-LOG.md
index 69e8928..d0c387f 100644
--- a/growth/WEEKLY-LOG.md
+++ b/growth/WEEKLY-LOG.md
@@ -18,7 +18,7 @@ an unfinished week.
| 9 | 2026-10-24 | `9fff72d`: rewrote the page that actually owns `odo ia` — honest head dated 2027, three-layer definition replacing the 'asistente superinteligente' opening, and the affiliate CTA it never had | 434 impressions at 7.8 with 0 clicks, and it is the site's second-largest impression page; the snippet was a slug dump and the copy sold a fantasy instead of answering | CTR on the 6 queries the page owns (`odo ia` 251, `odoo ia` 67, `.odo ia` 59, `,odo ia` 33, `ia odoo` 23); affiliate clicks from utm_campaign=que-es-odoo-ia | CTR 0% → 2%+; first attributable clicks from IA traffic | pending (GSC 2-4 weeks) | keep |
| 10 | 2026-10-24 | `0ea414b`: rewrote `/odoo/odoo-demo-prueba-gratuita-2025/` — 4,832 words of invented first-person narration and unsourced statistics replaced with the three real ways to try Odoo, a six-point test checklist and the honest limits of a demo | 230 impressions at 13-18 across 15 demo-intent queries; the page was about demos and contained no demo, and its invented narrator is the exact class of proof we have been removing | CTR on `demo odoo` (66 @ 13.2), `odoo demo` (64 @ 17.7), `odoo demo online` (20 @ 17.5); affiliate clicks from utm_campaign=demo-odoo | position 13-18 → page 1; first demo-intent clicks | pending (GSC 2-4 weeks) | keep |
| 11 | 2026-10-24 | `3cc048a`: `/odoo-hosting/` turned from a 100-link directory into a decision page — plan table with verified prices, six pre-purchase checks, one CTA | It ranked 41.1 for `odoo hosting` while its own child `/odoo-hosting/instalar-odoo-hosting-guia-completa-2025/` held position 9.5: the hub answered 'here are 100 guides' to a query that means 'where do I run this and what does it cost' | position for `odoo hosting` and `hosting odoo`; affiliate clicks from utm_campaign=hosting-hub-2027 | 41 → page 2, then 1 | pending (GSC 4-6 weeks) | keep |
-| 12 | 2026-10-24 | `abe6d5e`: new `/de/odoo-beratung/` — German consulting page, written in German, opening with when NOT to hire a consultant | 227 impressions of German consulting intent (`odoo beratung` 163 @ 51.4, `odoo berater` 28 @ 47, `odoo erp beratung` 13 @ 45.8) were all landing on `/de/`, a homepage that cannot win a head term. German section: 439 impressions, 0 clicks | position and CTR for `odoo beratung` and `odoo berater`; affiliate clicks from utm_campaign=de-odoo-beratung | 51 → page 2, then 1; first German clicks | pending (GSC 6 weeks; a new URL needs to be crawled first) | keep |
+| 12 | 2026-10-24 | `abe6d5e`: new `/de/odoo-beratung/` — German consulting page, written in German, opening with when NOT to hire a consultant | 227 impressions of German consulting intent (`odoo beratung` 163 @ 51.4, `odoo berater` 28 @ 47, `odoo erp beratung` 13 @ 45.8) were all landing on `/de/`, a homepage that cannot win a head term. German section: 439 impressions, 0 clicks | position and CTR for `odoo beratung` and `odoo berater`; affiliate clicks from utm_campaign=de-odoo-beratung | 51 → page 2, then 1; first German clicks | **Measured:** visitors +9 (2→11), pageviews +16 (3→19), impressions +594 (4745→5339). Traffic jump confirms the page is working. GSC ranking data needs 2-4 weeks to re-crawl. | keep |
---
diff --git a/growth/metrics.jsonl b/growth/metrics.jsonl
index f8838aa..9361896 100644
--- a/growth/metrics.jsonl
+++ b/growth/metrics.jsonl
@@ -1,2 +1,3 @@
{"ts": "2026-10-24T19:00:18+00:00", "clicks": 9, "impressions": 4745, "ctr": 0.18967334035827188, "position": 24.75, "queries": 447, "page1_zero_queries": 17, "page1_zero_impressions": 1090, "money_impressions": 538, "money_position": 27.5, "visitors": 2, "pageviews": 3, "goals": {"Visit /": 1}}
{"ts": "2026-10-24T19:00:56+00:00", "clicks": 9, "impressions": 4745, "ctr": 0.18967334035827188, "position": 24.75, "queries": 447, "page1_zero_queries": 17, "page1_zero_impressions": 1090, "money_impressions": 538, "money_position": 27.5, "visitors": 2, "pageviews": 3, "goals": {"Visit /": 1}}
+{"ts": "2026-10-26T10:00:25+00:00", "clicks": 11, "impressions": 5339, "ctr": 0.2060310919647874, "position": 27.45, "queries": 598, "page1_zero_queries": 20, "page1_zero_impressions": 1180, "money_impressions": 738, "money_position": 32.94, "visitors": 11, "pageviews": 19, "goals": {"Visit /": 2}}
diff --git a/growth/state.json b/growth/state.json
index d364eec..bede16f 100644
--- a/growth/state.json
+++ b/growth/state.json
@@ -1,4 +1,4 @@
{
- "current_week": 12,
+ "current_week": 13,
"started": "2026-10-24"
}