103 lines
5.3 KiB
Markdown
103 lines
5.3 KiB
Markdown
# Diagnostics Baseline — odoo-expertos.com
|
||
|
||
**Captured:** 2026-05-27 (GSC data) + 2026-05-27 (live audit)
|
||
**Compare after:** fixes deployed + GSC re-crawl (allow 2-4 weeks)
|
||
**Source:** `seo-audit-2026-05-27/FULL-AUDIT-REPORT.md` + `GOAL-FIX-PLAN.md`
|
||
|
||
---
|
||
|
||
## GSC Index Coverage (as of 2026-05-21)
|
||
|
||
| GSC Status | Count | Root cause |
|
||
|---|---:|---|
|
||
| Gecrawlt – zurzeit nicht indexiert (Crawled, not indexed) | **587** | Thin / templated / low-value content |
|
||
| Gefunden – nicht indexiert (Discovered, not indexed) | **134** | Crawl budget starved; weak internal linking |
|
||
| Duplikat, Google wählte anderen Canonical | **103** | Untranslated PT/FR/EN = duplicates of ES |
|
||
| Alternative Seite mit kanonischem Tag | **31** | Canonicalized away (mostly `/en/odoo/`) |
|
||
| Seite mit Weiterleitung (redirect) | **~45** | Country-variants + index.html still in sitemaps |
|
||
| Nicht gefunden (404) | **12** | Case-sensitivity + wrong-category + missing pages |
|
||
| **TOTAL excluded** | **~870 / 1,210** | **~72% of site NOT indexed** |
|
||
| **Indexed (can rank)** | **~340 / 1,210** | **~28%** |
|
||
|
||
**Target:** <15% excluded after fixes + GSC re-validation (2-4 weeks post-deploy).
|
||
|
||
---
|
||
|
||
## Per-Workstream Baseline Metrics
|
||
|
||
| Metric | Baseline (2026-05-27) | Target | Workstream |
|
||
|---|---|---|---|
|
||
| Sitemap URLs that 404 or redirect | present | 0 | W1 |
|
||
| Category hub 404s | 3 (`/en/`, `/fr/`, `/pt/` odoo-hosting) | 0 | W1 |
|
||
| robots.txt `User-agent: *` groups | 2 (2nd silently ignored) | 1 | W2 |
|
||
| Duplicate Bingbot/CCBot entries in robots.txt | 2 each | 1 each | W2 |
|
||
| Dead domain in schema (`odooexpertos.com`) | present site-wide | 0 | W3 |
|
||
| Non-www schema URLs | present site-wide | 0 | W3 |
|
||
| Article schema missing `image` field | present | 0 | W3 |
|
||
| Truncated `dateModified` in Article schema | present | 0 | W3 |
|
||
| DE pages with Spanish schema strings | present | 0 | W3 |
|
||
| Hreflang reciprocity on EN inner pages | EN missing pt+ar | 100% reciprocal | W4 |
|
||
| Hreflang on DE inner pages | points to /de/-prefixed ES slugs (404) | all 200 | W4 |
|
||
| Category pages with zero hreflang | all category hubs | full 7-entry block | W4 |
|
||
| Category title length | 260–277 chars (keyword stuffed) | ≤60 chars | W5 |
|
||
| Templated/near-duplicate meta descriptions | corpus-wide | 100% unique | W5 |
|
||
| `og:locale` mismatch on DE/FR/PT | `es_ES` on non-ES pages | matches lang | W5 |
|
||
| ES articles reachable ≤2 clicks | 156/193 (37 orphaned) | 193/193 | W6 |
|
||
| Nav injected via `document.write()` | present on ~990 pages | static HTML | W6 |
|
||
| EN/DE pages serving Spanish/garbled content | 400+ pages | declared lang = content lang | W7 |
|
||
| Fabricated author ("Dr. María Elena Rodríguez") | present | removed | W7 |
|
||
| "Apex AI Research Labs LLC" in meta/schema | present | removed | W7 |
|
||
| Homepage H1 word-spacing bug | present all 6 langs | fixed | W8 |
|
||
| Homepage combat/fear hype copy | present | factual E-E-A-T copy | W8 |
|
||
| Known 404 URLs (GSC list) | 12 | 0 | W9 |
|
||
| Homepage inline CSS size | ~32 KB | <14 KB | W10 |
|
||
| D3 loaded from external CDN | `d3js.org` at runtime | self-hosted `/js/d3.v7.min.js` | W10 |
|
||
| Cache-Control on static assets | `max-age=0` | `max-age=31536000, immutable` | W10 |
|
||
| `X-Content-Type-Options` header | absent | `nosniff` | W11 |
|
||
| `X-Frame-Options` header | absent | `SAMEORIGIN` | W11 |
|
||
| `Referrer-Policy` header | absent | `strict-origin-when-cross-origin` | W11 |
|
||
|
||
---
|
||
|
||
## Overall SEO Health Score
|
||
|
||
| Category | Baseline Score | Target |
|
||
|---|---:|---:|
|
||
| Technical SEO | 54/100 | ≥80 |
|
||
| Content Quality / E-E-A-T | 25/100 | ≥70 |
|
||
| On-Page SEO | 35/100 | ≥75 |
|
||
| Schema / Structured Data | 45/100 | ≥80 |
|
||
| Performance (CWV, estimated) | ~65/100 | ≥80 (measured) |
|
||
| AI Search Readiness (GEO) | 50/100 | ≥70 |
|
||
| Images | ~60/100 | ≥70 |
|
||
| **Overall** | **~44/100** | **≥70/100** |
|
||
|
||
---
|
||
|
||
## z-image Probe (2026-05-28)
|
||
|
||
| Check | Result |
|
||
|---|---|
|
||
| API key present (`.env.local`) | ✓ VALID |
|
||
| `createTask` endpoint (z-image model) | ✓ HTTP 200, taskId returned |
|
||
| Old `getTaskDetails` polling endpoint | ✗ HTTP 404 — removed from kie.ai API |
|
||
| **Fix applied** | Script rewritten to use `callBackUrl` → ntfy.sh anonymous webhook receiver |
|
||
| kie.ai callback received | ✓ `state: success`, `creditsConsumed: 0.8` |
|
||
| Image URL returned | ✓ `https://tempfile.aiquickdraw.com/zimage/...png` |
|
||
| Image downloaded | ✓ `images/z-image-probe.png` (3,337,057 bytes) |
|
||
| **Overall status** | ✅ SUCCESS — z-image probe complete |
|
||
|
||
**API change note:** kie.ai removed `/api/v1/jobs/getTaskDetails` (May 2026). Results now delivered via `callBackUrl` only. `kie-image.ps1` updated to use ntfy.sh as a free anonymous webhook receiver. Result JSON structure: `data.resultJson.resultUrls[0]`.
|
||
|
||
---
|
||
|
||
## Quick Reference: What Each Fix Unlocks
|
||
|
||
1. **W7 (content localization)** → unblocks ~103 duplicate + bulk of 587 crawled-not-indexed
|
||
2. **W5 (titles/metas)** → stops triggering duplicate-content signals corpus-wide
|
||
3. **W6 (internal linking)** → rescues 134 discovered-not-indexed by improving crawl depth
|
||
4. **W1 (sitemaps)** → removes sitemap trust damage; enables hub pages to be crawled
|
||
5. **W4 (hreflang)** → lets Google assign correct language signals across 1,210 pages
|
||
6. **W8 (homepage)** → raises domain-level E-E-A-T signal visible on the most-crawled page
|
||
7. **W3 (schema)** → enables rich results (Organization logo, Article image, Breadcrumb)
|