Files
2026-08-28 10:11:11 -03:00

5.3 KiB
Raw Permalink Blame History

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 <loc> 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 5060 chars in the target language (kill the 270300-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 <style> 32 KB → <14 KB (move non-critical to main.min.css); externalize + defer the big inline JS; throttle mousemove with rAF. homepage Med
H7 Apply async-CSS (preload…onload+<noscript>) + ~2 KB critical CSS to the content-page template. content-page generator Low
H8 Fix robots.txt: one group per agent; merge Disallow: /*? /*& into the FIRST User-agent: *; delete the 2nd * block, duplicate Bingbot/CCBot, and /*#. robots.txt Low
H9 Expand llms.txt (812 links per section); regenerate llms-full.txt as a genuine per-language content dump. llms files Low (scripted)

🟡 MEDIUM — within ~1 month

# Action
M1 Add security headers in vercel.json (X-Content-Type-Options, X-Frame-Options, Referrer-Policy).
M2 Add long-lived Cache-Control: max-age=31536000, immutable for hashed /css,/js,/components (with filename/version hashing).
M3 Fix og:locale on DE/FR/PT category pages (currently es_ES) → de_DE/fr_FR/pt_*.
M4 Expand thin article bodies (~400w) to 200300 words per H2 section.
M5 Populate sameAs (LinkedIn, YouTube, directories); remove non-functional ?s= SearchAction or wire real search.
M6 Add Service schema (homepage) + FAQPage where question-H2s exist; add inLanguage to ES/DE schema blocks.
M7 Create /contacto/ + /sobre-nosotros/ pages in primary nav; verify/link Odoo partner badge.
M8 Apply "direct-answer-first" 134167-word passages across content pages (citability).
M9 Wrap continuous CSS animations (kenBurns/shimmer) in IntersectionObserver.

🔵 LOW / backlog

  • Localized URL slugs for EN/DE (/en/odoo-ai/, /de/odoo-ki/) with 301s once translated.
  • Single-hop http-apex → https-www redirect.
  • Off-site entity building (YouTube channel → strongest AI-citation signal; r/Odoo participation; Wikipedia if notable).
  • Accessible HTML data tables beside D3 charts (AI-crawler + a11y).

Verification checklist (after fixes)

  • curl -I the 3 former-404 category pages → 200; sitemaps contain no 404 <loc>.
  • hreflang reciprocity passes (EN has pt+ar; DE es/x-default resolve 200) — re-run technical agent.
  • Rich Results Test passes for Organization (logo loads) + Article (image present) + Breadcrumb.
  • Re-run PageSpeed with an API key; confirm LCP ≤2.5s / INP ≤200ms / CLS ≤0.1 on mobile.
  • Homepage re-screenshot: factual H1, no combat hype.
  • Re-audit: target health ≥70/100.