+ The number that matters: the money cluster (33 hosting queries, 538 impressions)
+ sits at position 27.5 with 1 click, while the site earns 4,745 impressions and
+ 9 clicks overall at 0.19% CTR. Almost nobody who sees the site reaches a hosting page.
+ The technical cleanup landed — broken internal links fell from 4,029 to 1,370 — but this is the
+ first report, so no metric has had time to move.
+
+
+
+
Impressions
4,745
baseline — no prior period
+
Clicks
9
10 months
+
CTR
0.19%
page 1 would be 1.5%+
+
Avg position
24.7
money cluster 27.5
+
Plausible visitors
2
owner/test traffic
+
Affiliate clicks
n/a
no goal configured
+
+
+
Scorecard
+
Baseline and “now” are the same snapshot, so the trend is flat by construction. This becomes a real trend table from the 2026-10-31 run.
+
+
Metric
Baseline
Now
Trend
+
+
GSC impressions
4,745
4,745
flat — same snapshot
+
GSC clicks
9
9
flat — same snapshot
+
GSC CTR
0.19%
0.19%
flat — same snapshot
+
Average position
24.7
24.7
flat — same snapshot
+
Money cluster (hosting*)
27.5
27.5
33q · 538 impr · 1 click
+
Plausible visitors
2
2
2 visits · 3 pageviews
+
Affiliate clicks
n/a
n/a
no Affiliate Click goal
+
+
+
Affiliate clicks are unmeasured, not zero: the Plausible goal block returns only the page goal Visit / with 1 visitor. Commission attribution on odoo4projects.com is not visible from this environment and is not reported here.
+
+
Technical progress
+
Commit a6cff06 is the change this section measures; HEAD is 0d2ecdb.
+
+
Item
Before
After
Evidence
+
+
Broken internal link occurrences
4,029
1,370
audit broken_internal_count
+
Unique broken targets
—
679
full scan
+
Canonicals pointing at a 404
136
0
93 case-drift + 43 dead
+
Dead favicon / styles / analytics tags
1,296
0
1,197 + 96 + 3
+
Missing assets
3
0
audit missing_assets_count
+
Bad in-page anchors
—
0
audit bad_anchor_count
+
Duplicate titles / descriptions
—
0 / 0
audit
+
HTML pages
1,208
1,202
3 duplicate pages deleted
+
+
+
Still broken and unfixable automatically: /contacto/, /servicios,
+/implementacion-odoo, /about (old-site routes, 70 occurrences) and 35 locale
+hosting pages that were never created (175 occurrences). /odoo-ai/… is not case drift —
+the real section is /odoo-ia/, a different path.
+
+
Ranking opportunities
+
+
Page 1, zero clicks — 17 queries, 1,090 impressions (23% of all)
+
+
Query
Impressions
Position
Clicks
+
+
odo ia
279
6.8
0
+
odoo de donde es
154
5.3
0
+
de donde es odoo
115
4.9
0
+
odoo honduras
81
9.4
0
+
.odo ia
66
7.6
0
+
odoo origen
60
7.7
0
+
odoobot que es
56
8.8
0
+
docker odoo 20 · odoo 20 docker
64
6.6
0
+
odoo de que pais es
32
6.8
0
+
hosting economicos
30
3.9
0
+
odoo inmobiliaria
27
9.4
0
+
odoo bot
25
8.3
0
+
odoo de donde es originario
25
4.5
0
+
+
+
At a 1.5% CTR these impressions would produce roughly 16 clicks over the same window.
+
+
Positions 8–20 — 34 queries, 1,094 impressions
+
+
Cluster
Queries
Impressions
Clicks
Avg pos
Example
+
+
LatAm
5
214
3
9.7
odoo bolivia 84 @ 8.4
+
AI / Odoo IA
3
183
0
14.0
odoo ia 118 @ 15.0
+
Brand / company
4
176
1
13.0
odoo experts 75 @ 13.7
+
Demo
3
145
1
15.1
demo odoo 63 @ 12.4
+
Chatbot / OdooBot
4
138
1
9.0
odoobot 34 @ 10.4
+
Hosting / deployment
6
104
0
15.4
odoo vps 24 @ 14.6
+
+
+
Head terms for later comparison: odoo hosting 298 impr · pos 31.5 · 1 click;
+hosting odoo 85 · 28.5 · 0; odoo beratung 155 · 51.5 · 0.
+
+
Action items
+
+
+
1Create the Affiliate Click and Outbound Click goals
+
The north-star metric cannot be read today — the goal block returns only Visit /. No traffic change, but it turns every later verdict from opinion into data. Proves it: the event:goal block returns both names with non-null events.
+
Effort Snot scheduleddashboard setting, not code
+
+
+
+
2Rewrite title + meta for the page-1 zero-click queries
+
1,090 impressions already reach page 1 and earn 0 clicks — the snippet is failing, not the ranking. At 1.5% CTR that is ~16 clicks. Start with odo ia, odoo de donde es, de donde es odoo, odoo honduras.
+
Effort MPLAN weeks 3–6metric: CTR on those 17
+
+
+
+
3Strip the fabricated testimonials, ISO/SOC badges and placeholder phone
+
Invented proof is an E-E-A-T and legal liability. 3 testimonials, 113 pages claiming ISO 27001, 80 claiming SOC 2, 8 pages with a placeholder phone. Value is risk removal, not ranking.
+
Effort SPLAN week 2guardrail: impressions must not fall
+
+
+
+
4Consolidate the ~40 near-duplicate hosting pages per locale
+
They cannibalize the hub for the money terms. odoo hosting 31.5, hosting odoo 28.5. Check GSC per URL before deleting anything with impressions.
+
Effort LPLAN weeks 8–10metric: position of both head terms
+
+
+
+
5Fix the remaining 1,370 broken internal links (679 targets)
+
Dead ends waste crawl paths and send readers to 404s. /servicios and the /odoo-ai/… articles are live 404s now. Many are site-wide navigation links, so the fix is a handful of templates.
75 impressions at position 13.7 with 0 clicks on a query that matches the domain name. Likely a title/H1 mismatch on the English homepage.
+
Effort Snot scheduledmetric: position + CTR
+
+
+
+
7Fill or remove the 0-byte PT page
+
pt/odoo-ia/odoo-sistema-reservas-booking-ia-2025/ is 0 bytes, returns 200 with an empty body and sits in the PT sitemap. A soft-404 candidate.
+
Effort SPLAN week 7metric: index coverage
+
+
+
+
8Resolve 23 relative canonicals and 18 pages without one
+
Canonicals like /odoo-ia/ carry no host, so they resolve to whichever host served the page — and apex and www both answer 200. Do not touch the cross-locale canonicals; that is intentional strategy.