Public Access
The snippet was on 10 of 40 pages, so the Trial / FAQ / Buy / Custom Quote / search posts / Project Plan goals were inert everywhere else. It now sits verbatim, in the same <head> position as index.html, on all 39 visitor-facing pages. email/trial-confirmation.html is deliberately left out (email template). FAQ: the five <details class="bc-faq"> <summary> elements on the bootcamp page and its DE/ES twins now carry plausible-event-name=FAQ, and the 15 .faq-question buttons on de/es/support.html get the marking they were believed to already have. No goal renamed: one FAQ goal across all languages. No markup, copy or behaviour change, and no third-party request beyond the snippet itself. verify-html.py PROBLEMS 0; check-links.py OK; event checker 59 PASS / 0 FAIL; impeccable detector +0/-0 findings on the changed files.
98 lines
6.3 KiB
HTML
98 lines
6.3 KiB
HTML
<!doctype html>
|
|
<html lang="en-US">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>ODOO Community Is Going Online on ODOO4projects | ODOO4projects</title>
|
|
<meta name="description" content="ODOO Community is online. Behind that switch we spent the last weeks upgrading our server modules, so every ODOO4projects instance now runs on Odoo 20 — same se" />
|
|
<link rel="canonical" href="https://odoo4projects.com/blog/posts/odoo-community-is-going-online-on-odoo4projects.html" />
|
|
<meta property="og:title" content="ODOO Community Is Going Online on ODOO4projects" />
|
|
<meta property="og:description" content="ODOO Community is online. Behind that switch we spent the last weeks upgrading our server modules, so every ODOO4projects instance now runs on Odoo 20 — same se" />
|
|
<meta property="og:type" content="article" />
|
|
<meta property="og:image" content="https://image.office.odoo4projects.com/img/ODOO_20_chatter.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": "ODOO Community Is Going Online on ODOO4projects",
|
|
"datePublished": "2026-10-27",
|
|
"url": "https://odoo4projects.com/blog/posts/odoo-community-is-going-online-on-odoo4projects.html",
|
|
"image": "https://image.office.odoo4projects.com/img/ODOO_20_chatter.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>ODOO Community Is Going Online on ODOO4projects</h1>
|
|
<div class="post-meta">October 27, 2026 · News</div>
|
|
<img src="https://image.office.odoo4projects.com/img/ODOO_20_chatter.png" alt="ODOO Community Is Going Online on ODOO4projects" class="post-image" loading="lazy" />
|
|
<div class="post-body">
|
|
<p>ODOO Community is online. Behind that switch we spent the last weeks upgrading our server modules, so every ODOO4projects instance now runs on Odoo 20 — same service, newer engine.</p>
|
|
|
|
<p>Two things moved at once: the platform moved forward, and the parts of Odoo we work with every day moved with it. Here is what we found worth showing.</p>
|
|
|
|
<h2>What caught our eye in Odoo 20</h2>
|
|
|
|
<ul>
|
|
<li><strong>Recurring revenues in CRM</strong> — subscription-style revenue sits next to the pipeline instead of in a spreadsheet beside it.</li>
|
|
<li><strong>Click and collect for eCommerce</strong> — customers buy online and pick up locally, which is how a lot of small businesses actually sell.</li>
|
|
<li><strong>llms.txt — welcome ChatGPT to your site</strong> — the same idea we use for our own AI-SEO: your site describes itself to AI assistants in a file they can read.</li>
|
|
<li><strong>A cleaner website builder</strong> — continued cleanup and a new widget for the site editor.</li>
|
|
</ul>
|
|
|
|
<h2>The console gets the attention next</h2>
|
|
|
|
<p>We are not done. The next round of work lands in the management console — and the MCP server that lets your agent restart a server, read the logfiles or install a module is only one part of it. If you run an instance day to day, that is the area to watch.</p>
|
|
|
|
<p>Stay tuned: we publish what lands, when it lands.</p>
|
|
</div>
|
|
<a href="../../index.html#blog" class="back-link">← Back to the Blog</a>
|
|
</main>
|
|
</body>
|
|
</html>
|