diff --git a/website/app.js b/website/app.js index 849b03c..ed4497e 100644 --- a/website/app.js +++ b/website/app.js @@ -351,10 +351,6 @@ document.addEventListener('DOMContentLoaded', () => { badgeDe.textContent = `v${version} JETZT VERFÜGBAR • ${relativeTimeDe}`; } - document.querySelectorAll('.mockup-version').forEach(el => { - el.textContent = `v${version}`; - }); - // Update Schema.org structured data dynamically const schemaScript = document.getElementById('schema-software'); if (schemaScript) { diff --git a/website/build.js b/website/build.js index b54fc95..b0ed7e0 100644 --- a/website/build.js +++ b/website/build.js @@ -119,11 +119,16 @@ async function compile() { const localesDir = path.join(websiteDir, 'locales'); const languages = ['en', 'de', 'fr', 'es', 'pt-BR', 'ru']; + // Read version for build-time injection (SEO: crawlers see real version) + const versionJson = JSON.parse(fs.readFileSync(path.join(websiteDir, 'version.json'), 'utf8')); + const buildVersion = versionJson.version || '?'; + const englishHtml = {}; // track for join-page cross-ref function compilePage(locale, assetPath, lang) { let compiled = templateContent; compiled = compiled.replace(/\{\{ASSET_PATH\}\}/g, assetPath); + compiled = compiled.replace(/\{\{VERSION\}\}/g, buildVersion); languages.forEach(l => { compiled = compiled.replace(new RegExp(`\\{\\{SELECTED_${l.toUpperCase()}\\}\\}`, 'g'), l === lang ? 'selected' : ''); }); diff --git a/website/template.html b/website/template.html index 99a0b32..3b810ef 100644 --- a/website/template.html +++ b/website/template.html @@ -254,7 +254,7 @@