# Action Plan — odoo-expertos.com SEO Fixes **Date:** 2026-05-27 · **Overall health: ~44/100** · Source: `FULL-AUDIT-REPORT.md` Ordered by impact ÷ effort. Most high-impact fixes are **template/generator changes** that fan out across ~1,000+ pages — fix the generator, not individual pages. --- ## 🔴 CRITICAL — fix immediately (blocks indexing / risks site-wide downgrade) | # | Action | Where | Effort | |---|--------|-------|--------| | C1 | **Remove the 3 dead `` entries** for `/en/odoo-hosting/`, `/fr/odoo-hosting/`, `/pt/odoo-hosting/` from `sitemap-en/fr/pt.xml`. Then **build the missing index pages** (mirror DE/AR). | sitemaps + page generator | Low (purge) / Med (build) | | C2 | **Resolve the EN/DE untranslated-content problem** (400+ pages with `lang="en/de"` serving Spanish/garbled text). Decide: translate, or remove+hreflang-to-ES, or 301 to Spanish canonical. Stop generating Spanish-slug EN/DE pages. | content pipeline | High (decision + execution) | | C3 | **Fix inner-page hreflang**: EN template add `pt`+`ar`; DE template build `es`/`x-default` from the **root** ES URL (no `/de/` prefix). Add full 7-entry hreflang to all **category index** pages (currently zero). | head template | Med | | C4 | **Fix Organization logo + schema host site-wide**: replace dead `www.odooexpertos.com/...logo.png` with one real URL on `www.odoo-expertos.com`; switch all schema `url`/`item` from non-www → www. | schema template | Low | | C5 | **Rebuild the homepage as an authoritative entity page**: factual keyword-led H1, drop combat/fear hype + emoji H2s, source or remove "280% ROI", add Organization JSON-LD (shared `@id`, populated `sameAs`), last-updated date. | homepage | Med | | C6 | **Replace `document.write()` header/footer/eeat** with `insertAdjacentHTML` into a pre-sized placeholder + `defer` the component scripts. | content-page generator | Med | --- ## 🟠 HIGH — within ~1 week | # | Action | Where | Effort | |---|--------|-------|--------| | H1 | Rewrite category titles to 50–60 chars in the target language (kill the 270–300-char stuffed strings). | category template | Low | | H2 | Add rendered breadcrumb + parent-category link + ≥3 related-article links to article template (fix orphan pages). | article template | Med | | H3 | Add `Article.image` + `mainEntityOfPage` + valid `dateModified`; remove duplicate Microdata `itemtype`; add `BreadcrumbList` to deep pages. | schema template | Med | | H4 | Add author bylines + datePublished/dateModified (visible + schema) to content pages; create real author pages or attribute to the org. | content + author pages | Med | | H5 | Self-host D3 (`/js/d3.v7.min.js`), preload only where used, remove misplaced d3js.org preconnect, defer D3 init until in-viewport. | homepage + D3 pages | Low | | H6 | Trim homepage inline `