feat(seo): wire internal links between the 17 blog posts and the pages that sell

The blog was an island: zero post→page links to hosting/upgrade/support/courses,
and only one page→post link in the whole site. Posts ranked for nothing while the
old blog host ranked for our long-tail queries.

Posts → pages (26 new in-body contextual links across 17 posts):
each post now carries one or two links to the page that answers its reader's next
question — odoo-hosting-2027, odoo-community-upgrade, support, the workshops hub,
the n8n masterclass, and the plan pricing on index.html#pricing.

Pages → posts (7 pages, one contextual link each):
index.html (OCA section), odoo-hosting-2027, odoo-community-upgrade, support,
workshops/, odoo-n8n-masterclass/, odoo-erp-automation-bootcamp/ now link into the
post that fits their own subject. The clearest miss is fixed — the
community-vs-enterprise-cost post and the odoo-community-upgrade page now link
to each other.

Anchors wrap existing sentences where the text already said the thing; four short
linking sentences were added (index OCA section, support first-steps FAQ, masterclass
lessons, bootcamp included section). No new components, no related-posts widget,
in-body anchors only. English pages only; DE/ES untouched (translator follow-up).
This commit is contained in:
oliver committed 2026-10-29 15:15:00 +00:00
1 parent bfa7f595cc
commit e37acde30c
24 files changed
+40 -31

No files matched your search

+2 -2
View File
@@ -843,8 +843,8 @@ sudo -u postgres pg_restore -d <DB_NEW> /path/backup/<DB>.dump
<h2 class="section-title">What doing it yourself really costs</h2>
<div class="oc-body">
<p>
A rented server is cheap. That is the smallest number in this decision. Odoo Community itself is
free — you will not find a per-user licence anywhere in this route, because Community does not have
A rented server is cheap. That is the smallest number in this decision. <a href="blog/posts/community-vs-enterprise-cost.html">Odoo Community itself is
free</a> — you will not find a per-user licence anywhere in this route, because Community does not have
one.
</p>
<p>