feat(Sitemap, SEO): update sitemap generation and SEO configurations

- Enhanced update-sitemap.sh to generate a new sitemap structure with lastmod dates for additional URLs.
- Updated SEO configurations in server.js and seo.js to allow indexing for impressum and datenschutz pages.
- Introduced a list of noindex prefixes to manage SEO settings dynamically based on route paths.
- Added structured FAQ schema in index.html to improve search engine visibility and user engagement.
This commit is contained in:
Torsten Schulz (local)
2026-03-27 11:22:55 +01:00
parent ddb3025b84
commit a7d3e5b094
5 changed files with 162 additions and 15 deletions

View File

@@ -72,6 +72,54 @@
"url": "https://tt-tagebuch.de/"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Ist die Nutzung kostenlos?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Ja, du kannst kostenlos starten. Erweiterungen können später folgen."
}
},
{
"@type": "Question",
"name": "Wie steht es um den Datenschutz?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Wir setzen auf Datensparsamkeit, transparente Freigaben, rollenbasierte Zugriffe und vollständiges Aktivitätsprotokoll. Die Anwendung ist DSGVO-konform."
}
},
{
"@type": "Question",
"name": "Benötige ich eine Installation?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Nein, es handelt sich um eine Web-Anwendung. Du nutzt sie direkt im Browser auf Desktop, Tablet und Smartphone."
}
},
{
"@type": "Question",
"name": "Welche Turnierarten werden unterstützt?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Du kannst interne Turniere, offene Turniere und offizielle Turniere verwalten. Offizielle Turniere können importiert werden."
}
},
{
"@type": "Question",
"name": "Funktioniert die MyTischtennis-Integration automatisch?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Ja, nach der Einrichtung synchronisiert sich die Anwendung automatisch mit MyTischtennis.de und importiert Spielergebnisse und Statistiken."
}
}
]
}
</script>
</head>
<body>
<div id="app"></div>