279 lines
24 KiB
HTML
279 lines
24 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta name="robots" content="noindex, nofollow">
|
||
<title>SEO report — odoo-expertos.com — 2026-11-07</title>
|
||
<style>
|
||
:root{
|
||
--bg:#0e1116; --panel:#161b22; --line:#272d36; --text:#e6edf3; --muted:#8b949e;
|
||
--accent:#ff6b35; --good:#3fb950; --warn:#d29922; --bad:#f85149; --blue:#58a6ff;
|
||
}
|
||
*{box-sizing:border-box}
|
||
body{margin:0;background:var(--bg);color:var(--text);
|
||
font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
|
||
-webkit-font-smoothing:antialiased}
|
||
.wrap{max-width:1080px;margin:0 auto;padding:40px 24px 80px}
|
||
header{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:32px}
|
||
.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
|
||
h1{font-size:30px;line-height:1.2;margin:8px 0 10px}
|
||
h2{font-size:19px;margin:40px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
|
||
h3{font-size:15px;margin:24px 0 10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
|
||
p{margin:0 0 14px}
|
||
.meta{color:var(--muted);font-size:13px}
|
||
.chip{display:inline-block;padding:2px 9px;border:1px solid var(--line);border-radius:999px;
|
||
font-size:12px;color:var(--muted);margin:6px 6px 0 0}
|
||
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:24px 0 4px}
|
||
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px}
|
||
.kpi .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
|
||
.kpi .value{font-size:26px;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums}
|
||
.kpi .sub{font-size:12px;color:var(--muted);margin-top:2px}
|
||
.up{color:var(--good)} .down{color:var(--bad)} .flat{color:var(--muted)} .na{color:var(--warn)}
|
||
table{width:100%;border-collapse:collapse;margin:14px 0 8px;font-size:14px}
|
||
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}
|
||
th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
|
||
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
|
||
tbody tr:hover{background:#1b2029}
|
||
.bar{height:6px;background:var(--accent);border-radius:3px;min-width:2px;display:inline-block;vertical-align:middle}
|
||
.barwrap{width:110px;display:inline-block}
|
||
.callout{background:#1b2029;border-left:3px solid var(--accent);padding:14px 16px;border-radius:0 8px 8px 0;margin:16px 0}
|
||
.callout.warn{border-left-color:var(--warn)}
|
||
.action{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:12px 0}
|
||
.action h4{margin:0 0 6px;font-size:15px}
|
||
.action .why{color:var(--muted);font-size:14px;margin:0 0 10px}
|
||
.action .row{display:flex;flex-wrap:wrap;gap:8px}
|
||
.pill{font-size:11.5px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
|
||
.pill.s{color:var(--good);border-color:#1f6f3a}
|
||
.pill.m{color:var(--warn);border-color:#6b5320}
|
||
.pill.l{color:var(--bad);border-color:#7d2b28}
|
||
.pill.sched{color:var(--blue);border-color:#1f4b7a}
|
||
.num-badge{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--accent);
|
||
color:#0e1116;font-weight:700;font-size:12px;align-items:center;justify-content:center;margin-right:8px}
|
||
ul.risks{padding-left:18px} ul.risks li{margin:8px 0}
|
||
code{background:#21262d;padding:1px 6px;border-radius:4px;font-size:13px}
|
||
footer{margin-top:56px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
|
||
@media print{body{background:#fff;color:#111}.kpi,.action,.callout{border-color:#ddd;background:#fafafa}h2{border-color:#ddd}}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="wrap">
|
||
|
||
<header>
|
||
<div class="eyebrow">SEO report</div>
|
||
<h1>odoo-expertos.com</h1>
|
||
<div class="meta">2026-11-07 · week 15 · Search Console range 2026-01-01 → 2026-11-06</div>
|
||
<div>
|
||
<span class="chip">website_stats.py — Plausible + GSC</span>
|
||
<span class="chip">audit_site.py</span>
|
||
<span class="chip">git log</span>
|
||
<span class="chip">live curl checks</span>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- One paragraph, the number that matters first. If nothing moved, say "nothing moved this week". -->
|
||
<div class="callout">
|
||
<strong>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.</strong> 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 <em>too early</em>. The zero-click problem is not a snippet problem: 91% of those impressions are definitional queries Google answers in the SERP itself.
|
||
</div>
|
||
|
||
<div class="kpis">
|
||
<div class="kpi"><div class="label">Clicks</div><div class="value up">11</div><div class="sub">+3 on a range 7 days longer</div></div>
|
||
<div class="kpi"><div class="label">Impressions</div><div class="value ">5,853</div><div class="sub">+454 — range grew 7 days</div></div>
|
||
<div class="kpi"><div class="label">CTR</div><div class="value ">0.19%</div><div class="sub">was 0.15% — 11 clicks, still noise</div></div>
|
||
<div class="kpi"><div class="label">Avg position</div><div class="value down">34.5</div><div class="sub">money cluster 43.1</div></div>
|
||
<div class="kpi"><div class="label">Money cluster</div><div class="value down">3 clicks</div><div class="sub">66q · 982 impr · pos 43.1</div></div>
|
||
<div class="kpi"><div class="label">Plausible visitors</div><div class="value ">31</div><div class="sub">week of 11-02 (5 days) · 53 pageviews</div></div>
|
||
<div class="kpi"><div class="label">Affiliate clicks</div><div class="value na">n/a</div><div class="sub">no goal configured — 4th week</div></div>
|
||
</div>
|
||
|
||
<h2>Scorecard</h2>
|
||
<p class="meta">Last week's column is read from the <code>seo-metrics</code> 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.</p>
|
||
<table>
|
||
<thead><tr><th>Metric</th><th class="num">Last week</th><th class="num">This week</th><th>Change</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>GSC impressions</td><td class="num">5,399</td><td class="num">5,853</td><td><span class="flat">+454 — range extended 7 days, not a trend</span></td></tr>
|
||
<tr><td>GSC clicks</td><td class="num">8</td><td class="num">11</td><td><span class="up">+3 on a longer range; GSC restates past clicks</span></td></tr>
|
||
<tr><td>GSC CTR</td><td class="num">0.15%</td><td class="num">0.19%</td><td><span class="flat">+0.04 pt — 11 clicks is noise</span></td></tr>
|
||
<tr><td>Average position</td><td class="num">30.3</td><td class="num">34.5</td><td><span class="flat">584 → 566 query rows, wider tail</span></td></tr>
|
||
<tr><td>Money cluster (<code>hosting*</code>)</td><td class="num">37.1</td><td class="num">43.1</td><td><span class="down">worse; 66q · 982 impr · 3 clicks (was 79q · 772 · 3)</span></td></tr>
|
||
<tr><td>Plausible visitors</td><td class="num">35*</td><td class="num">31</td><td><span class="flat">not comparable — see footnote</span></td></tr>
|
||
<tr><td>Affiliate clicks</td><td class="num">n/a</td><td class="num">n/a</td><td><span class="na">goal block still returns only <code>Visit /</code></span></td></tr>
|
||
</tbody>
|
||
</table>
|
||
<p class="meta">*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 <code>event:goal</code> block still lists one page goal only (<code>Visit /</code>, 3 visitors, events null) and no <code>Affiliate Click</code>: affiliate clicks are unmeasured, not zero. No revenue is claimed in this document.</p>
|
||
|
||
<h2>What shipped</h2>
|
||
<table>
|
||
<thead><tr><th>Commit</th><th>Change</th><th>Metric it was meant to move</th></tr></thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><code>f201d63</code><br><span class="meta">11-02</span></td>
|
||
<td>Week 14: title + meta description rewritten on 4 pages — <code>odoo-docker-contenedores-implementacion-2025</code>,
|
||
<code>odoo-chatbot-atencion-cliente-2025</code>, <code>gestion-inmobiliaria-odoo-hosting-2025</code>,
|
||
<code>hosting-odoo-barato-2026</code>. All four return 200 with the new titles live (curl, 11-07).</td>
|
||
<td>CTR on the 4 target queries; site CTR 0.14% → 1.5%</td>
|
||
</tr>
|
||
<tr>
|
||
<td><span class="meta">no other commits</span></td>
|
||
<td>Nothing else shipped between 2026-10-31 and 2026-11-07 (<code>git log --since="8 days ago"</code>: two commits, one of which is last week's report).</td>
|
||
<td>—</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h2>Verdicts on last week's actions</h2>
|
||
<table>
|
||
<thead><tr><th>Action</th><th>Verdict</th><th>Evidence</th></tr></thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>1. Create the two Plausible goals</td>
|
||
<td><span class="down">not done</span></td>
|
||
<td>Fourth consecutive week. The goal block returns <code>Visit /</code> only: 3 visitors, events null. No <code>Affiliate Click</code> row exists.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>2. Get the two new money pages out of zero impressions</td>
|
||
<td><span class="up">half moved</span></td>
|
||
<td><code>/en/odoo-hosting/</code>: 0 → <strong>64 impressions</strong> at position 66.9, 0 clicks — indexed but page 7.
|
||
<code>/de/odoo-beratung/</code>: still <strong>0 rows</strong> 13 days after launch, while <code>odoo beratung</code>'s
|
||
193 impressions land on <code>/de/</code> at 51.8. Only 2 internal links point at the German page (<code>de/index.html</code>, <code>de/odoo/index.html</code>).</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3. Fix the snippet on the two biggest zero-click pages</td>
|
||
<td><span class="flat">flat</span></td>
|
||
<td><code>/odoo/empresa-odoo-historia-fundacion-2025/</code> 608 → <strong>591 impressions at 8.2, 0 clicks</strong>;
|
||
<code>/odoo-ia/que-es-odoo-ia-guia-basica-2025/</code> 472 → <strong>465 at 7.7, 0 clicks</strong>. 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.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>4. Stop <code>/odoo-hosting/</code> losing to its own children</td>
|
||
<td><span class="flat">flat</span></td>
|
||
<td>Hub: 243 → <strong>193 impressions at 46.1</strong>, 1 click. Position improved ~4 spots but the exact query
|
||
<code>odoo hosting</code> is still split across <strong>13 pages</strong> (390 impressions, 1 click, avg 42.1). Nothing consolidated.</td>
|
||
</tr>
|
||
<tr>
|
||
<td>5. Decide hreflang or drop it</td>
|
||
<td><span class="flat">not done</span></td>
|
||
<td>317 hreflang pages, unchanged for the third week (26% of 1,209 pages, 0 no-canonical regressions).</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h2>Technical health</h2>
|
||
<table>
|
||
<thead><tr><th>Item</th><th class="num">Last week</th><th class="num">This week</th><th>Notes</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>Broken internal link occurrences</td><td class="num">0</td><td class="num">0</td><td>audit_site.py, 1,209 pages scanned</td></tr>
|
||
<tr><td>Unique broken targets</td><td class="num">0</td><td class="num">0</td><td>same run</td></tr>
|
||
<tr><td>Pages without a canonical</td><td class="num">2</td><td class="num">3</td><td class="warn">+1 — worth a look; one is the deliberate 404 page</td></tr>
|
||
<tr><td>Relative canonicals</td><td class="num">0</td><td class="num">0</td><td>head-scanned across all pages</td></tr>
|
||
<tr><td>Canonicals pointing at a non-www host</td><td class="num">0</td><td class="num">0</td><td>1,207 canonicals, all <code>www.</code></td></tr>
|
||
<tr><td>hreflang pages</td><td class="num">317</td><td class="num">317</td><td>unchanged, unowned (see action 5)</td></tr>
|
||
<tr><td>Pages with exactly one H1</td><td class="num">1,190 / 1,208</td><td class="num">1,191 / 1,209</td><td>18 pages still break the one-H1 rule</td></tr>
|
||
<tr><td>Pages without a meta description</td><td class="num">1</td><td class="num">2</td><td class="warn">+1 this week</td></tr>
|
||
<tr><td>Duplicate titles / descriptions</td><td class="num">0</td><td class="num">0</td><td>—</td></tr>
|
||
<tr><td>Sitemap URLs</td><td class="num">1,197</td><td class="num">1,197</td><td>six locale sitemaps, unchanged</td></tr>
|
||
<tr><td>HTML pages</td><td class="num">1,208</td><td class="num">1,209</td><td>+1, no page was published this week</td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h2>Ranking opportunities</h2>
|
||
|
||
<h3>Page 1, zero clicks — 12 queries, 863 impressions</h3>
|
||
<table>
|
||
<thead><tr><th>Query</th><th class="num">Impressions</th><th></th><th class="num">Position</th><th class="num">Clicks</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>odo ia<br><span class="meta"><code>/odoo-ia/que-es-odoo-ia-guia-basica-2025/</code></span></td><td class="num">308</td><td><span class="barwrap"><span class="bar" style="width:100%"></span></span></td><td class="num">6.5</td><td class="num">0</td></tr>
|
||
<tr><td>odoo de donde es<br><span class="meta"><code>/odoo/empresa-odoo-historia-fundacion-2025/</code></span></td><td class="num">138</td><td><span class="barwrap"><span class="bar" style="width:45%"></span></span></td><td class="num">5.0</td><td class="num">0</td></tr>
|
||
<tr><td>de donde es odoo<br><span class="meta"><code>/odoo/empresa-odoo-historia-fundacion-2025/</code></span></td><td class="num">103</td><td><span class="barwrap"><span class="bar" style="width:33%"></span></span></td><td class="num">5.0</td><td class="num">0</td></tr>
|
||
<tr><td>odoo origen<br><span class="meta"><code>/odoo/empresa-odoo-historia-fundacion-2025/</code></span></td><td class="num">50</td><td><span class="barwrap"><span class="bar" style="width:16%"></span></span></td><td class="num">7.8</td><td class="num">0</td></tr>
|
||
<tr><td>.odo ia<br><span class="meta"><code>/odoo-ia/que-es-odoo-ia-guia-basica-2025/</code></span></td><td class="num">49</td><td><span class="barwrap"><span class="bar" style="width:16%"></span></span></td><td class="num">7.1</td><td class="num">0</td></tr>
|
||
<tr><td>odo ia<br><span class="meta"><code>/odoo-ia/</code></span></td><td class="num">39</td><td><span class="barwrap"><span class="bar" style="width:13%"></span></span></td><td class="num">7.4</td><td class="num">0</td></tr>
|
||
<tr><td>,odo ia<br><span class="meta"><code>/odoo-ia/que-es-odoo-ia-guia-basica-2025/</code></span></td><td class="num">38</td><td><span class="barwrap"><span class="bar" style="width:12%"></span></span></td><td class="num">6.8</td><td class="num">0</td></tr>
|
||
<tr><td>odoo de que pais es<br><span class="meta"><code>/odoo/empresa-odoo-historia-fundacion-2025/</code></span></td><td class="num">36</td><td><span class="barwrap"><span class="bar" style="width:12%"></span></span></td><td class="num">6.9</td><td class="num">0</td></tr>
|
||
<tr><td>odoo experts<br><span class="meta"><code>/fr/</code></span></td><td class="num">27</td><td><span class="barwrap"><span class="bar" style="width:9%"></span></span></td><td class="num">9.8</td><td class="num">0</td></tr>
|
||
<tr><td>odoo inmobiliaria<br><span class="meta"><code>/odoo-hosting/gestion-inmobiliaria-odoo-hosting-2025/</code></span></td><td class="num">27</td><td><span class="barwrap"><span class="bar" style="width:9%"></span></span></td><td class="num">8.4</td><td class="num">0</td></tr>
|
||
<tr><td>quien creo odoo<br><span class="meta"><code>/odoo/empresa-odoo-historia-fundacion-2025/</code></span></td><td class="num">25</td><td><span class="barwrap"><span class="bar" style="width:8%"></span></span></td><td class="num">8.0</td><td class="num">0</td></tr>
|
||
<tr><td>expedai<br><span class="meta"><code>/en/odoo-ia/odoo-airbnb-integracion-hosteleria-2025/</code></span></td><td class="num">23</td><td><span class="barwrap"><span class="bar" style="width:7%"></span></span></td><td class="num">9.4</td><td class="num">0</td></tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3>Positions 8–20</h3>
|
||
<table>
|
||
<thead><tr><th>Cluster</th><th class="num">Queries</th><th class="num">Impressions</th><th class="num">Clicks</th><th class="num">Avg pos</th><th>Example</th></tr></thead>
|
||
<tbody>
|
||
<tr><td>Brand (off-locale)</td><td class="num">4</td><td class="num">130</td><td class="num">0</td><td class="num">13.4</td><td><code>odoo experts</code> 53 @ 19.6</td></tr>
|
||
<tr><td>Demo</td><td class="num">3</td><td class="num">127</td><td class="num">1</td><td class="num">15.3</td><td><code>demo odoo</code> 78 @ 13.2</td></tr>
|
||
<tr><td>LatAm country</td><td class="num">2</td><td class="num">117</td><td class="num">1</td><td class="num">10.5</td><td><code>odoo honduras</code> 94 @ 8.8</td></tr>
|
||
<tr><td>Brand / company</td><td class="num">3</td><td class="num">84</td><td class="num">0</td><td class="num">10.8</td><td><code>empresa odoo</code> 38 @ 12.4</td></tr>
|
||
<tr><td>AI / Odoo IA</td><td class="num">2</td><td class="num">77</td><td class="num">0</td><td class="num">15.1</td><td><code>odoo ia</code> 46 @ 15.2</td></tr>
|
||
<tr><td>Hosting / deployment</td><td class="num">2</td><td class="num">69</td><td class="num">1</td><td class="num">12.2</td><td><code>cloudpepper</code> 38 @ 11.2</td></tr>
|
||
</tbody>
|
||
</table>
|
||
<p class="meta">Head terms to watch (exact-match rows, all pages summed): <code>odoo hosting</code> 390 impr · 42.1 · 1 click across 13 pages; <code>hosting odoo</code> 368 · 42.0 · 0 across 13; <code>odoo beratung</code> 193 · 51.8 · 0 on <code>/de/</code>; <code>odoo ia</code> 289 · 40.7 · 0 across 10 rows; <code>odoo experts</code> 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.</p>
|
||
|
||
<h2>Action items</h2>
|
||
<div class="action"><h4><span class="num-badge">1</span>Create the Affiliate Click and Outbound Click goals</h4><p class="why">Nothing in this report can be tied to commission until the goal exists. <code>js/plausible-events.js</code> 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.</p><div class="row"><span class="pill s">effort S</span><span class="pill sched">unscheduled · 4 weeks open</span><span class="pill ">proves it: <code>event:goal</code> returns a non-null Affiliate Click row</span></div></div>
|
||
<div class="action"><h4><span class="num-badge">2</span>Consolidate the 13 pages that split <code>odoo hosting</code></h4><p class="why"><code>odoo hosting</code> earns 390 impressions across 13 URLs and 1 click; <code>hosting odoo</code> 368 across 13 and 0. The hub is at 46.1 while <code>hosting-odoo-community-edition-gratuita-2025</code> 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 <code>/odoo-hosting/</code>, 301 them, and re-point internal links. This is PLAN weeks 8–10, still open since 10-25.</p><div class="row"><span class="pill l">effort L</span><span class="pill sched">finishes PLAN weeks 8–10</span><span class="pill ">proves it: hub position for <code>odoo hosting</code> (46.1), rows for the query</span></div></div>
|
||
<div class="action"><h4><span class="num-badge">3</span>Give the German consulting page the links it never got</h4><p class="why">13 days after launch <code>/de/odoo-beratung/</code> has returned 0 GSC rows, while <code>odoo beratung</code>'s 193 impressions go to <code>/de/</code> at 51.8. It is only linked from two pages. Add it to the <code>/de/odoo-hosting/</code> 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.</p><div class="row"><span class="pill s">effort S</span><span class="pill sched">finishes PLAN week 14</span><span class="pill ">proves it: GSC rows > 0 for <code>/de/odoo-beratung/</code></span></div></div>
|
||
<div class="action"><h4><span class="num-badge">4</span>Stop buying nothing: leave the definitional zero-click pages alone and re-measure the 4 CTR pages on 11-16</h4><p class="why">786 of the 863 page-1 zero-click impressions (91%) are definitional queries — <code>odo ia</code> (308), <code>odoo de donde es</code>, <code>de donde es odoo</code>, <code>odoo origen</code>, <code>quien creo odoo</code>. 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.</p><div class="row"><span class="pill s">effort S</span><span class="pill ">metric: clicks on the 4 URLs at 0.19% site CTR baseline</span></div></div>
|
||
|
||
<h2>Open risks</h2>
|
||
<ul class="risks">
|
||
<li><strong>Affiliate clicks are unmeasurable, fourth week.</strong> The only metric that pays has no goal; custom events may be firing into a void. Every "did it work" question below the ranking level is unanswerable.</li>
|
||
<li><strong>A second false measurement is now in the repo.</strong> <code>growth/WEEKLY-LOG.md</code> week 14 claims the 4 touched pages hold "16 queries, 1,003 impressions (18% of total)". GSC gives those 4 URLs 90 impressions combined. Correct the row before it becomes precedent — the week-12 "visitor jump confirms the page works" claim is still uncorrected.</li>
|
||
<li><strong>The German page may not be indexed at all.</strong> 0 rows in 13 days with 2 internal links. If it is still 0 on 11-16, it was published into a corner.</li>
|
||
<li><strong>Money-cluster position went backwards.</strong> 37.1 → 43.1 while impressions rose to 982 — GSC also cut the query row count 79 → 66, so the row set changed; treat the position as contested, not as a real regression, until a fixed-window pull exists.</li>
|
||
<li><strong>GSC range is cumulative, not weekly.</strong> Every comparison here mixes seven extra days of history. The webhook does not offer a fixed window.</li>
|
||
<li><strong>Internal strategy is publicly readable</strong> at <code>/growth/PLAN.md</code> and <code>/growth/reports/</code>; <code>Disallow: /*.md$</code> is advisory only.</li>
|
||
</ul>
|
||
|
||
<footer>
|
||
Next review: <strong>2026-11-14</strong><br>
|
||
Generated by the <code>seo</code> Hermes profile from live tool output. No estimated or invented figures.
|
||
</footer>
|
||
|
||
</div>
|
||
<script type="application/json" id="seo-metrics">
|
||
{
|
||
"date": "2026-11-07",
|
||
"gsc": {
|
||
"impressions": 5853,
|
||
"clicks": 11,
|
||
"ctr": 0.19,
|
||
"position": 34.5,
|
||
"queries": 566
|
||
},
|
||
"money_cluster": {
|
||
"queries": 66,
|
||
"impressions": 982,
|
||
"clicks": 3,
|
||
"position": 43.1
|
||
},
|
||
"plausible": {
|
||
"visitors": 31,
|
||
"visits": 32,
|
||
"pageviews": 53
|
||
},
|
||
"affiliate_clicks": null,
|
||
"technical": {
|
||
"broken_links": 0,
|
||
"broken_targets": 0,
|
||
"canonicals_fixed": 0,
|
||
"pages": 1209,
|
||
"hreflang_pages": 317,
|
||
"no_canonical": 3,
|
||
"relative_canonicals": 0,
|
||
"sitemap_urls": 1197
|
||
},
|
||
"opportunities": {
|
||
"page1_zero_click_queries": 12,
|
||
"page1_zero_click_impressions": 863,
|
||
"pos8_20_queries": 16,
|
||
"pos8_20_impressions": 604
|
||
}
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|