Files
ODOO4projects.com/blog/posts/oca-paraguay-internationalization-hackathon.html
T
oliver e37acde30c 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).
2026-10-29 15:15:00 +00:00

97 lines
6.2 KiB
HTML

<!doctype html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>ODOO4projects Supports the OCA Paraguay Internationalization Hackathon | ODOO4projects</title>
<meta name="description" content="Two online days to push Odoo's Paraguayan localisation forward — and we are supporting them." />
<link rel="canonical" href="https://odoo4projects.com/blog/posts/oca-paraguay-internationalization-hackathon.html" />
<meta property="og:title" content="ODOO4projects Supports the OCA Paraguay Internationalization Hackathon" />
<meta property="og:description" content="Two online days to push Odoo's Paraguayan localisation forward — and we are supporting them." />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://image.office.odoo4projects.com/img/py_hackathon.png" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="icon" href="../../images/favicon.ico" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
<link rel="stylesheet" href="../../style.css" />
<style>
body { background: #0d1b2e; }
.blog-post { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; color: #171c26; background: #faf7f1; min-height: 100vh; }
.blog-post h1 { font-family: 'Marcellus', Georgia, serif; font-size: 2.4rem; font-weight: 400; margin: 0 0 0.5rem; color: #0d1b2e; }
.blog-post .post-meta { font-family: Inter, sans-serif; font-size: 0.82rem; color: rgba(23,28,38,0.6); margin-bottom: 2rem; }
.blog-post .post-meta .badge { display: inline-block; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #c9a227; margin-right: 0.75rem; }
.blog-post .post-image { width: 100%; border-radius: 0.75rem; margin-bottom: 2rem; box-shadow: 0 2px 8px rgba(13,27,46,0.08); }
.blog-post p { font-family: Inter, sans-serif; font-size: 1rem; line-height: 1.7; margin-bottom: 1.2rem; }
.blog-post h2 { font-family: 'Marcellus', Georgia, serif; font-size: 1.6rem; font-weight: 400; margin: 2rem 0 0.75rem; color: #0d1b2e; }
.blog-post ul { font-family: Inter, sans-serif; font-size: 1rem; line-height: 1.7; margin-bottom: 1.2rem; padding-left: 1.5rem; }
.blog-post li { margin-bottom: 0.3rem; }
.blog-post a { color: #8a6f1f; text-decoration: underline; }
.blog-post strong { font-weight: 600; }
.back-link { display: inline-block; margin-top: 2rem; font-family: 'Marcellus', Georgia, serif; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 0.04em; color: #c9a227; text-decoration: none; }
.back-link:hover { text-decoration: underline; }
@media (max-width: 600px) { .blog-post h1 { font-size: 1.7rem; } .blog-post { padding: 2rem 1rem 4rem; } }
</style>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "ODOO4projects Supports the OCA Paraguay Internationalization Hackathon",
"datePublished": "2026-10-29",
"dateModified": "2026-10-29",
"url": "https://odoo4projects.com/blog/posts/oca-paraguay-internationalization-hackathon.html",
"image": "https://image.office.odoo4projects.com/img/py_hackathon.png",
"author": {
"@type": "Organization",
"name": "ODOO4projects",
"url": "https://odoo4projects.com/"
},
"publisher": {
"@type": "Organization",
"name": "ODOO4projects",
"url": "https://odoo4projects.com/",
"logo": {
"@type": "ImageObject",
"url": "https://odoo4projects.com/images/logo.png"
}
}
}
</script>
<!-- Privacy-friendly analytics by Plausible -->
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
<script>
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
plausible.init()
</script>
</head>
<body>
<main class="blog-post">
<span class="badge">news</span>
<h1>ODOO4projects Supports the OCA Paraguay Internationalization Hackathon</h1>
<div class="post-meta">October 29, 2026 &middot; News</div>
<img src="https://image.office.odoo4projects.com/img/py_hackathon.png" alt="ODOO4projects Supports the OCA Paraguay Internationalization Hackathon" class="post-image" loading="lazy" />
<div class="post-body">
<p>Two online days to push Odoo's Paraguayan localisation forward — and we are supporting them.</p>
<p>The OCA Paraguay community is running an <strong>Internationalization Hackathon</strong> on <strong>12 and 14 November 2026</strong>. It is online, it is free, and it is open to every level: you can develop, test, document or translate.</p>
<h2>What the two days are for</h2>
<ul>
<li><strong>Updating modules to Odoo 19 and 20</strong> — consolidating the 19.0 branch and moving toward the newest versions.</li>
<li><strong>New features</strong> the Paraguayan community needs in day-to-day work.</li>
<li><strong>Testing and documentation</strong> — coverage and clear guides, so more people adopt Odoo here.</li>
</ul>
<h2>Why we support it</h2>
<p>Localisation is the part of open source no vendor ships for you: the chart of accounts, the taxes, electronic invoicing, the labels in your own language. It exists because a community maintains it. <a href="../../odoo-hosting-2027.html">We run Odoo Community hosting</a>, so a stronger Paraguayan localisation is our customers' business — and ours.</p>
<p>Sign up at <strong>oca-py.org</strong>: your name, your GitHub user and how you can contribute. Open to all levels.</p>
</div>
<a href="../../index.html#blog" class="back-link">&larr; Back to the Blog</a>
</main>
</body>
</html>