From 82adba89dde5a1cb5cf3c28e3f5cb1366778345f Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Sat, 7 Nov 2026 01:03:33 +0000 Subject: [PATCH] SEO report 2026-11-07 (HTML) --- growth/reports/seo-2026-11-07.html | 278 +++++++++++++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100644 growth/reports/seo-2026-11-07.html diff --git a/growth/reports/seo-2026-11-07.html b/growth/reports/seo-2026-11-07.html new file mode 100644 index 0000000..bc8ce88 --- /dev/null +++ b/growth/reports/seo-2026-11-07.html @@ -0,0 +1,278 @@ + + + + + + +SEO report — odoo-expertos.com — 2026-11-07 + + + +
+ +
+
SEO report
+

odoo-expertos.com

+
2026-11-07 · week 15 · Search Console range 2026-01-01 → 2026-11-06
+
+ website_stats.py — Plausible + GSC + audit_site.py + git log + live curl checks +
+
+ + +
+ 11 clicks from 5,853 impressions (0.19% CTR) — three more clicks than last week, on a range that is seven days longer; the money cluster still earns 3 of them at position 43.1. Impression growth of 454 is calendar, not performance. The one real move is the EN hosting hub going from 0 to 64 impressions (position 66.9, 0 clicks) — indexed, but page 7; its German twin still shows 0 rows after 13 days because only two pages link to it. The week's shipped work (4 title rewrites) covers 90 impressions, not the 1,003 the log claims, and sits below the 2-week re-crawl window, so every verdict on it is too early. The zero-click problem is not a snippet problem: 91% of those impressions are definitional queries Google answers in the SERP itself. +
+ +
+
Clicks
11
+3 on a range 7 days longer
+
Impressions
5,853
+454 — range grew 7 days
+
CTR
0.19%
was 0.15% — 11 clicks, still noise
+
Avg position
34.5
money cluster 43.1
+
Money cluster
3 clicks
66q · 982 impr · pos 43.1
+
Plausible visitors
31
week of 11-02 (5 days) · 53 pageviews
+
Affiliate clicks
n/a
no goal configured — 4th week
+
+ +

Scorecard

+

Last week's column is read from the seo-metrics JSON in growth/reports/seo-2026-10-31.html, not recomputed. Both GSC columns come from the same cumulative export (from 2026-01-01), so impression movement includes the seven extra days.

+ + + + + + + + + + + +
MetricLast weekThis weekChange
GSC impressions5,3995,853+454 — range extended 7 days, not a trend
GSC clicks811+3 on a longer range; GSC restates past clicks
GSC CTR0.15%0.19%+0.04 pt — 11 clicks is noise
Average position30.334.5584 → 566 query rows, wider tail
Money cluster (hosting*)37.143.1worse; 66q · 982 impr · 3 clicks (was 79q · 772 · 3)
Plausible visitors35*31not comparable — see footnote
Affiliate clicksn/an/agoal block still returns only Visit /
+

*Plausible: last week's 35 visitors / 36 visits / 49 pageviews was a multi-week sum. On today's payload the same two weeks (10-19 + 10-26) sum to 39 / 40 / 53 — the data was restated or the window differed, so neither column is directly comparable. The figure in the JSON block is the latest week bucket alone: 2026-11-02, five days, 31 / 32 / 53. Plausible's event:goal block still lists one page goal only (Visit /, 3 visitors, events null) and no Affiliate Click: affiliate clicks are unmeasured, not zero. No revenue is claimed in this document.

+ +

What shipped

+ + + + + + + + + + + + + + +
CommitChangeMetric it was meant to move
f201d63
11-02
Week 14: title + meta description rewritten on 4 pages — odoo-docker-contenedores-implementacion-2025, + odoo-chatbot-atencion-cliente-2025, gestion-inmobiliaria-odoo-hosting-2025, + hosting-odoo-barato-2026. All four return 200 with the new titles live (curl, 11-07).CTR on the 4 target queries; site CTR 0.14% → 1.5%
no other commitsNothing else shipped between 2026-10-31 and 2026-11-07 (git log --since="8 days ago": two commits, one of which is last week's report).—
+ +

Verdicts on last week's actions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ActionVerdictEvidence
1. Create the two Plausible goalsnot doneFourth consecutive week. The goal block returns Visit / only: 3 visitors, events null. No Affiliate Click row exists.
2. Get the two new money pages out of zero impressionshalf moved/en/odoo-hosting/: 0 → 64 impressions at position 66.9, 0 clicks — indexed but page 7. + /de/odoo-beratung/: still 0 rows 13 days after launch, while odoo beratung's + 193 impressions land on /de/ at 51.8. Only 2 internal links point at the German page (de/index.html, de/odoo/index.html).
3. Fix the snippet on the two biggest zero-click pagesflat/odoo/empresa-odoo-historia-fundacion-2025/ 608 → 591 impressions at 8.2, 0 clicks; + /odoo-ia/que-es-odoo-ia-guia-basica-2025/ 472 → 465 at 7.7, 0 clicks. Both already carry + rewritten titles (verified live: "¿De dónde es Odoo? Es belga — y así se usa en LATAM"). The snippet is no longer + the constraint — see the ranking-opportunity note below.
4. Stop /odoo-hosting/ losing to its own childrenflatHub: 243 → 193 impressions at 46.1, 1 click. Position improved ~4 spots but the exact query + odoo hosting is still split across 13 pages (390 impressions, 1 click, avg 42.1). Nothing consolidated.
5. Decide hreflang or drop itnot done317 hreflang pages, unchanged for the third week (26% of 1,209 pages, 0 no-canonical regressions).
+ +

Technical health

+ + + + + + + + + + + + + + + +
ItemLast weekThis weekNotes
Broken internal link occurrences00audit_site.py, 1,209 pages scanned
Unique broken targets00same run
Pages without a canonical23+1 — worth a look; one is the deliberate 404 page
Relative canonicals00head-scanned across all pages
Canonicals pointing at a non-www host001,207 canonicals, all www.
hreflang pages317317unchanged, unowned (see action 5)
Pages with exactly one H11,190 / 1,2081,191 / 1,20918 pages still break the one-H1 rule
Pages without a meta description12+1 this week
Duplicate titles / descriptions00—
Sitemap URLs1,1971,197six locale sitemaps, unchanged
HTML pages1,2081,209+1, no page was published this week
+ +

Ranking opportunities

+ +

Page 1, zero clicks — 12 queries, 863 impressions

+ + + + + + + + + + + + + + + + +
QueryImpressionsPositionClicks
odo ia
/odoo-ia/que-es-odoo-ia-guia-basica-2025/
3086.50
odoo de donde es
/odoo/empresa-odoo-historia-fundacion-2025/
1385.00
de donde es odoo
/odoo/empresa-odoo-historia-fundacion-2025/
1035.00
odoo origen
/odoo/empresa-odoo-historia-fundacion-2025/
507.80
.odo ia
/odoo-ia/que-es-odoo-ia-guia-basica-2025/
497.10
odo ia
/odoo-ia/
397.40
,odo ia
/odoo-ia/que-es-odoo-ia-guia-basica-2025/
386.80
odoo de que pais es
/odoo/empresa-odoo-historia-fundacion-2025/
366.90
odoo experts
/fr/
279.80
odoo inmobiliaria
/odoo-hosting/gestion-inmobiliaria-odoo-hosting-2025/
278.40
quien creo odoo
/odoo/empresa-odoo-historia-fundacion-2025/
258.00
expedai
/en/odoo-ia/odoo-airbnb-integracion-hosteleria-2025/
239.40
+ +

Positions 8–20

+ + + + + + + + + + +
ClusterQueriesImpressionsClicksAvg posExample
Brand (off-locale)4130013.4odoo experts 53 @ 19.6
Demo3127115.3demo odoo 78 @ 13.2
LatAm country2117110.5odoo honduras 94 @ 8.8
Brand / company384010.8empresa odoo 38 @ 12.4
AI / Odoo IA277015.1odoo ia 46 @ 15.2
Hosting / deployment269112.2cloudpepper 38 @ 11.2
+

Head terms to watch (exact-match rows, all pages summed): odoo hosting 390 impr · 42.1 · 1 click across 13 pages; hosting odoo 368 · 42.0 · 0 across 13; odoo beratung 193 · 51.8 · 0 on /de/; odoo ia 289 · 40.7 · 0 across 10 rows; odoo experts 91 · 17.7 · 0 across 4 rows (27 of them on the French homepage). Selection rule for this table: position 8–20, impressions ≥ 20 — the same rule as last week, so 18 → 16 rows.

+ +

Action items

+

1Create the Affiliate Click and Outbound Click goals

Nothing in this report can be tied to commission until the goal exists. js/plausible-events.js already fires both events on all pages; the goal rows are simply not configured. This is the fourth week it is open and it is the only item that unlocks every other measurement. One dashboard setting, no deploy.

effort Sunscheduled · 4 weeks openproves it: event:goal returns a non-null Affiliate Click row
+

2Consolidate the 13 pages that split odoo hosting

odoo hosting earns 390 impressions across 13 URLs and 1 click; hosting odoo 368 across 13 and 0. The hub is at 46.1 while hosting-odoo-community-edition-gratuita-2025 holds 31 impressions at 13.4 for the same query. Pick the 4 children with 0 clicks and ≤ 40 impressions, fold their unique content into /odoo-hosting/, 301 them, and re-point internal links. This is PLAN weeks 8–10, still open since 10-25.

effort Lfinishes PLAN weeks 8–10proves it: hub position for odoo hosting (46.1), rows for the query
+

3Give the German consulting page the links it never got

13 days after launch /de/odoo-beratung/ has returned 0 GSC rows, while odoo beratung's 193 impressions go to /de/ at 51.8. It is only linked from two pages. Add it to the /de/odoo-hosting/ hub and the German article pages, and confirm indexation in GSC URL Inspection. Note: the page-level data contradicts the usual "wait 4–6 weeks" — a page with 0 rows after 13 days is unlinked, not young.

effort Sfinishes PLAN week 14proves it: GSC rows > 0 for /de/odoo-beratung/
+

4Stop buying nothing: leave the definitional zero-click pages alone and re-measure the 4 CTR pages on 11-16

786 of the 863 page-1 zero-click impressions (91%) are definitional queries — odo ia (308), odoo de donde es, de donde es odoo, odoo origen, quien creo odoo. Google answers all of them above the result, so no snippet rewrite recovers the click; the two pages carrying them already have rewritten titles (verified live) and still earn 0 clicks on 1,056 impressions. Meanwhile the week-14 change sits on 4 pages holding a combined 90 impressions — the log's "1,003 impressions, 18% of total" is not what those URLs hold. Measure it once, on 11-16, before touching them again.

effort Smetric: clicks on the 4 URLs at 0.19% site CTR baseline
+ +

Open risks

+ + +
+ Next review: 2026-11-14
+ Generated by the seo Hermes profile from live tool output. No estimated or invented figures. +
+ +
+ + +