File: //proc/thread-self/root/tmp/dateweb_patch_trend_quality.cjs
const fs = require('fs');
function read(file) { return fs.readFileSync(file, 'utf8'); }
function write(file, s) { fs.writeFileSync(file, s, 'utf8'); }
// Include trend image in optimization pipeline.
{
const file = 'scripts/optimize-growth-images.sh';
let s = read(file);
const line = 'optimize dateweb-dating-trends-2026-hero.png dateweb-dating-trends-2026-hero-optimized.webp';
if (!s.includes(line)) {
const anchor = 'optimize dateweb-dating-nach-trennung-hero.png dateweb-dating-nach-trennung-hero-optimized.webp\n';
if (!s.includes(anchor)) throw new Error('optimize anchor missing');
s = s.replace(anchor, `${anchor}${line}\n`);
}
write(file, s);
}
// Add social dimensions to trend generator.
{
const file = 'scripts/generate-static-dating-trends-2026.mjs';
let s = read(file);
if (!s.includes('og:image:width')) {
const anchor = ' <meta property="og:image" content="${site}${image}">\n';
if (!s.includes(anchor)) throw new Error('trend generator og image anchor missing');
s = s.replace(anchor, `${anchor} <meta property="og:image:width" content="1200">\n <meta property="og:image:height" content="630">\n`);
}
write(file, s);
}
// Put trend page into explicit HTML sitemap content too.
{
const file = 'scripts/generate-static-sitemap.mjs';
let s = read(file);
if (!s.includes("['Dating-Trends 2026'")) {
const anchor = " ['Dating ab 30', '/ratgeber/dating-ab-30', 'Klarer, ruhiger und ehrlicher starten.'],\n";
if (!s.includes(anchor)) throw new Error('sitemap guide anchor missing');
s = s.replace(anchor, `${anchor} ['Dating-Trends 2026', '/ratgeber/dating-trends-2026', 'Clear Coding, KI mit Grenzen, Dating-Fatigue und sichere erste Treffen.'],\n`);
}
write(file, s);
}
// Harden visitor audit for trend image, social metadata, route marker and distribution marker.
{
const file = 'scripts/visitor-audit.sh';
let s = read(file);
const imageAnchor = 'for image in dateweb-hero-editorial-optimized.webp dateweb-journey-premium-optimized.webp dateweb-trust-premium-optimized.webp dateweb-profile-editorial-optimized.webp; do';
const imageNext = 'for image in dateweb-hero-editorial-optimized.webp dateweb-journey-premium-optimized.webp dateweb-trust-premium-optimized.webp dateweb-profile-editorial-optimized.webp dateweb-dating-trends-2026-hero-optimized.webp; do';
if (s.includes(imageAnchor)) s = s.replace(imageAnchor, imageNext);
const routePage = '"$PUBLIC_HTML/ratgeber/dating-trends-2026/index.html"';
if (!s.includes(routePage)) {
const anchor = '"$PUBLIC_HTML/ratgeber/profilfotos-dating/index.html"';
if (!s.includes(anchor)) throw new Error('route social list anchor missing');
s = s.replace(anchor, `${anchor} ${routePage}`);
}
if (!s.includes('Dating-Trends 2026 Ratgeber Marker')) {
s += `\n# dateweb growth audit: Dating-Trends 2026 route and distribution\nif curl -fsS "https://dateweb.de/ratgeber/dating-trends-2026/" | grep -q "dating_trends_2026_guide"; then\n echo "✅ Dating-Trends 2026 Ratgeber Marker"\nelse\n echo "❌ Dating-Trends 2026 Ratgeber Marker fehlt"\n exit 1\nfi\nfor marker in dating_trends_2026_internal_distribution dating_trends_tool_bridge dating_trends_register_bridge; do\n if grep -Rqs "$marker" /home/dateweb.de/public_html/index.html /home/dateweb.de/public_html/ratgeber/index.html /home/dateweb.de/public_html/tools/index.html /home/dateweb.de/public_html/feed/index.html /home/dateweb.de/public_html/ratgeber/dating-trends-2026/index.html; then\n echo "✅ $marker"\n else\n echo "❌ $marker fehlt"\n exit 1\n fi\ndone\n`;
}
write(file, s);
}